JavaMethod (Class<?> aClass, String propertyName) { final String capitalized = StringUtil.capitalize(propertyName); Method method = ReflectionUtil.getMethod(aClass, "get" + capitalized); if (method != null) return JavaMethod.getMethod(aClass, method); method = ReflectionUtil.getMethod(aClass, "is" + capitalized); if (method == null) return null; final JavaMethod javaMethod = JavaMethod.getMethod(aClass, method); return canHaveIsPropertyGetterPrefix(javaMethod.getGenericReturnType()) ? javaMethod : null; }