Buggy code:
public class FastDateFormat extends Format implements DateParser , DatePrinter { private static final long serialVersionUID = 2L ; public static final int FULL = DateFormat . FULL ; public static final int LONG = DateFormat . LONG ; public static final int MEDIUM = DateFormat . MEDIUM ; public static final int SHORT = DateFormat . SHORT ; private static final FormatCache < FastDateFormat > cache = new FormatCache < FastDateFormat > ( ) { @ Override protected FastDateFormat createInstance ( String pattern , TimeZone timeZone , Locale locale ) { } } ; private final FastDatePrinter printer ; private final FastDateParser parser ; public static FastDateFormat getInstance ( ) { } public static FastDateFormat getInstance ( String pattern ) { } public static FastDateFormat getInstance ( String pattern , TimeZone timeZone ) { } public static FastDateFormat getInstance ( String pattern , Locale locale ) { } public static FastDateFormat getInstance ( String pattern , TimeZone timeZone , Locale locale ) { } public static FastDateFormat getDateInstance ( int style ) { } public static FastDateFormat getDateInstance ( int style , Locale locale ) { } public static FastDateFormat getDateInstance ( int style , TimeZone timeZone ) { } public static FastDateFormat getDateInstance ( int style , TimeZone timeZone , Locale locale ) { } public static FastDateFormat getTimeInstance ( int style ) { } public static FastDateFormat getTimeInstance ( int style , Locale locale ) { } public static FastDateFormat getTimeInstance ( int style , TimeZone timeZone ) { } public static FastDateFormat getTimeInstance ( int style , TimeZone timeZone , Locale locale ) { } public static FastDateFormat getDateTimeInstance ( int dateStyle , int timeStyle ) { } public static FastDateFormat getDateTimeInstance ( int dateStyle , int timeStyle , Locale locale ) { } public static FastDateFormat getDateTimeInstance ( int dateStyle , int timeStyle , TimeZone timeZone ) { } public static FastDateFormat getDateTimeInstance ( int dateStyle , int timeStyle , TimeZone timeZone , Locale locale ) { } protected FastDateFormat ( String pattern , TimeZone timeZone , Locale locale ) { } @ Override public StringBuffer format ( Object obj , StringBuffer toAppendTo , FieldPosition pos ) { } @ Override public String format ( long millis ) { <START_BUG> return format ( new Date ( millis ) ) ; <END_BUG> } @ Override public String format ( Date date ) { } @ Override public String format ( Calendar calendar ) { } @ Override public StringBuffer format ( long millis , StringBuffer buf ) { } @ Override public StringBuffer format ( Date date , StringBuffer buf ) { } @ Override public StringBuffer format ( Calendar calendar , StringBuffer buf ) { } @ Override public Date parse ( String source ) throws ParseException { } @ Override public Date parse ( String source , ParsePosition pos ) { } @ Override public Object parseObject ( String source , ParsePosition pos ) { } @ Override public String getPattern ( ) { } @ Override public TimeZone getTimeZone ( ) { } @ Override public Locale getLocale ( ) { } public int getMaxLengthEstimate ( ) { } @ Override public boolean equals ( Object obj ) { } @ Override public int hashCode ( ) { } @ Override public String toString ( ) { } protected StringBuffer applyRules ( Calendar calendar , StringBuffer buf ) { } }

Fix:
return printer . format ( millis ) ;