public DateColumnsExtender(SourceSchema schema) {
   dateColumnIndexes = new ArrayList<Integer>();
   dateColumnFormats = new ArrayList<DateTimeFormatter>();
   identityColumn = schema.getIdentityColumn();
   dates = schema.getDates();
   for (int i = 0; i < dates.size(); i++) {
     SourceColumn c = dates.get(i);
     dateColumnIndexes.add(schema.getColumnIndex(c));
     String fmt = c.getFormat();
     if (fmt == null || fmt.length() <= 0) {
       if (c.isDatetime()) fmt = Constants.DEFAULT_DATETIME_FMT_STRING;
       else fmt = Constants.DEFAULT_DATE_FMT_STRING;
     }
     // in case of UNIX TIME we don't format but create the date from the UNIX time number
     if (Constants.UNIX_DATE_FORMAT.equalsIgnoreCase(fmt)) {
       fmt = Constants.DEFAULT_DATETIME_FMT_STRING;
     }
     dateColumnFormats.add(DateTimeFormat.forPattern(fmt));
   }
 }