if (field.isAnnotationPresent(FieldStringAnnotation.class)) {
fields.put(name, new FieldString(name, label));
} else if (field.isAnnotationPresent(FieldRelateAnnotation.class)) {
final String relatedEntity = field.getAnnotation(FieldRelateAnnotation.class).value().getSimpleName();
fields.put(name, new FieldRelate(name, relatedEntity, label));
} else if (field.isAnnotationPresent(FieldCurrencyAnnotation.class)) {
final String defaultValue = field.getAnnotation(FieldCurrencyAnnotation.class).value();
fields.put(name, new FieldCurrency(name, label, defaultValue));
} else if (field.isAnnotationPresent(FieldDateAnnotation.class)) {
fields.put(name, new FieldDate(name, label));