code: public static String format(Locale locale, TimeZone timeZone, String pattern, Date date) {
  	synchronized (data) {
  	    String key = locale.toString() + '-' + timeZone.getID() + '-' + pattern;
  	    Object obj = data.get(key);
  	    if (obj != null) {
  		return ((SimpleDateFormat) obj).format(date);
  	    }
  	    SimpleDateFormat sdf = new SimpleDateFormat(pattern, locale);
  	    sdf.setTimeZone(timeZone);
  	    data.put(key, sdf);
  	    return sdf.format(date);
  	}
      }
docs: pool for formated dates
  
  @param locale
  @param timeZone
  @param pattern
  @param date
  @return date matching given values