Method method = OgnlRuntime.getGetMethod(createContext(), bean.getClass(), propertyName);
Object root = bean; int propertyIndex = propertySplit(propertyName);  if (propertyIndex > 0) { String parentProperty = propertyName.substring(0, propertyIndex); propertyName = propertyName.substring(propertyIndex + 1); root = getValue(parentProperty, bean, true); }   Method method = OgnlRuntime.getGetMethod(createContext(), root.getClass(), propertyName);
    public static Class getCollectionPropertyComponentClass(ActionBean bean, String propertyName)        throws OgnlException, IntrospectionException {        // The eventual holder of the real type        Class propertyClass = null;        Method method = OgnlRuntime.getGetMethod(createContext(), bean.getClass(), propertyName);        Type returnType = method.getGenericReturnType();        if (returnType instanceof ParameterizedType) {            ParameterizedType ptype = (ParameterizedType) returnType;            Type actualType = ptype.getActualTypeArguments()[0];            if (actualType instanceof Class) {                propertyClass = (Class) actualType;            }        }        return propertyClass;    }