private final Map<String, FieldAccess> doGetFields(Class<? extends Object> aClass) { Map<String, FieldAccess> fieldAccessMap = Reflection.getPropertyFieldAccessors(aClass); if (caseInsensitive) { Map<String, FieldAccess> mapOld = fieldAccessMap; fieldAccessMap = new LinkedHashMap<>(); for (Map.Entry<String, FieldAccess> entry : mapOld.entrySet()) { fieldAccessMap.put(entry.getKey().toLowerCase(), entry.getValue()); } } if (useAlias) { Map<String, FieldAccess> fieldAccessMap2 = new LinkedHashMap<>(fieldAccessMap.size()); for (FieldAccess fa : fieldAccessMap.values()) { String alias = fa.alias(); if (caseInsensitive) { alias = alias.toLowerCase(); } fieldAccessMap2.put(alias, fa); } return fieldAccessMap2; } else { return fieldAccessMap; } }