public static Object getPropertyOrFieldValue(Object currentCallValue, String propertyOrFieldName) {
        if (currentCallValue == null) {
            return null;
        }
        Object propertyValue = getBeanPropertyValue(currentCallValue, propertyOrFieldName);
        if (propertyValue == null) {
            propertyValue = getFieldValue(currentCallValue, propertyOrFieldName);
        }
        return propertyValue;
    }
public static Object getPropertyOrFieldValue(Object currentCallValue, String propertyOrFieldName) {
        if (currentCallValue == null) {
            return null;
        }
        Object propertyValue = getBeanPropertyValue(currentCallValue, propertyOrFieldName);
        if (propertyValue == null) {
            propertyValue = getFieldValue(currentCallValue, propertyOrFieldName);
        }
        return propertyValue;
    }
public static Object getPropertyOrFieldValue ( Object currentCallValue , String propertyOrFieldName ) { if ( currentCallValue == null ) { return null ; } Object propertyValue = getBeanPropertyValue ( currentCallValue , propertyOrFieldName ) ; if ( propertyValue == null ) { propertyValue = getFieldValue ( currentCallValue , propertyOrFieldName ) ; } return propertyValue ; }
TODO move to PropertyUtil and remove current method for propertyDescriptors, cache search results
TODO move to PropertyUtil and remove current method for propertyDescriptors cache search results