public static Object getFieldValue(Object bean, Field field) throws
            SecurityException, 
            IllegalArgumentException, 
            NoSuchMethodException, 
            IllegalAccessException, 
            InvocationTargetException {
        Object objResult = null;
        if (bean != null && field != null) {
            if ((field.getModifiers() & Modifier.PUBLIC) == Modifier.PUBLIC) {
                objResult = field.get(bean);
            } else {
                objResult = getPropertyValue(bean, field);
            }
        }
        return objResult;
    }