Map<K, FieldSource> result = new HashMap<K, FieldSource>();
Map<FieldSourceFactoryFields, Object> record;
while ((record = reader.read()) != null) {
String field = (String) record.get(FieldSourceFactoryFields.FIELD);
String columns = (String) record.get(FieldSourceFactoryFields.COLUMNS);
EmptyAction emptyAction = (EmptyAction) record.get(FieldSourceFactoryFields.EMPTYACTION);
String mask = (String) record.get(FieldSourceFactoryFields.MASK);
String mappings = (String) record.get(FieldSourceFactoryFields.MAPPINGS);
if (!fieldsByName.containsKey(field)) {
throw new FieldReaderException(FieldReaderErrorCodes.INVALID_FORMAT, false, new FieldReaderExceptionInfo<FieldSourceFactoryFields, Object>(FieldSourceFactoryFields.FIELD, field, record));
}