boon/src/main/java/org/boon/core/reflection/Reflection.java
public static Map<String, FieldAccess> getPropertyFieldAccessMapFieldFirstForSerializer( Class<?> clazz ) {
        Map<String, FieldAccess> combinedFieldsFieldFirst = getCombinedFieldsFieldFirstForSerializer(clazz);

        if (combinedFieldsFieldFirst!=null) {
            return combinedFieldsFieldFirst;
        } else {

            /* Fallback map. */
            Map<String, FieldAccess> fieldsFallbacks = null;

            /* Primary merge into this one. */
            Map<String, FieldAccess> fieldsPrimary = null;


             /* Try to find the fields first if this is set. */
            fieldsPrimary = Reflection.getAllAccessorFields(clazz, true);
            fieldsFallbacks = Reflection.getPropertyFieldAccessors(clazz);

            fieldsPrimary = removeNonSerializable(fieldsPrimary);
            fieldsFallbacks = removeNonSerializable(fieldsFallbacks);

            combineFieldMaps(fieldsFallbacks, fieldsPrimary);

            combinedFieldsFieldFirst = fieldsPrimary;

            putCombinedFieldsFieldFirstForSerializer(clazz, combinedFieldsFieldFirst);
            return combinedFieldsFieldFirst;

        }


    }
public static Map<String, FieldAccess> getPropertyFieldAccessMapFieldFirstForSerializer( Class<?> clazz ) {
        Map<String, FieldAccess> combinedFieldsFieldFirst = getCombinedFieldsFieldFirstForSerializer(clazz);

        if (combinedFieldsFieldFirst!=null) {
            return combinedFieldsFieldFirst;
        } else {

            /* Fallback map. */
            Map<String, FieldAccess> fieldsFallbacks = null;

            /* Primary merge into this one. */
            Map<String, FieldAccess> fieldsPrimary = null;


             /* Try to find the fields first if this is set. */
            fieldsPrimary = Reflection.getAllAccessorFields(clazz, true);
            fieldsFallbacks = Reflection.getPropertyFieldAccessors(clazz);

            fieldsPrimary = removeNonSerializable(fieldsPrimary);
            fieldsFallbacks = removeNonSerializable(fieldsFallbacks);

            combineFieldMaps(fieldsFallbacks, fieldsPrimary);

            combinedFieldsFieldFirst = fieldsPrimary;

            putCombinedFieldsFieldFirstForSerializer(clazz, combinedFieldsFieldFirst);
            return combinedFieldsFieldFirst;

        }


    }
public static Map < String , FieldAccess > getPropertyFieldAccessMapFieldFirstForSerializer ( Class < ? > clazz ) { Map < String , FieldAccess > combinedFieldsFieldFirst = getCombinedFieldsFieldFirstForSerializer ( clazz ) ; if ( combinedFieldsFieldFirst != null ) { return combinedFieldsFieldFirst ; } else { /* Fallback map. */ Map < String , FieldAccess > fieldsFallbacks = null ; /* Primary merge into this one. */ Map < String , FieldAccess > fieldsPrimary = null ; /* Try to find the fields first if this is set. */ fieldsPrimary = Reflection . getAllAccessorFields ( clazz , true ) ; fieldsFallbacks = Reflection . getPropertyFieldAccessors ( clazz ) ; fieldsPrimary = removeNonSerializable ( fieldsPrimary ) ; fieldsFallbacks = removeNonSerializable ( fieldsFallbacks ) ; combineFieldMaps ( fieldsFallbacks , fieldsPrimary ) ; combinedFieldsFieldFirst = fieldsPrimary ; putCombinedFieldsFieldFirstForSerializer ( clazz , combinedFieldsFieldFirst ) ; return combinedFieldsFieldFirst ; } }
Gets a list of fields merges with properties if field is not found.

@param clazz get the properties or fields
@return
Gets a list of fields merges with properties if field is not found .