public static Class<?> getPropertyType( final Object root, final String property ) {

        Map<String, FieldAccess> fields = getPropertyFieldAccessMap( root.getClass() );

        FieldAccess field = fields.get( property );
        return field.type();
    }
public static Class < ? > getPropertyType ( final Object root , final String property ) { Map < String , FieldAccess > fields = getPropertyFieldAccessMap ( root . getClass ( ) ) ; FieldAccess field = fields . get ( property ) ; return field . type ( ) ; }
Get property value, loads nested properties

@param root
@param property
@return