boolean (final JavaMethod method) { if (!isGetter(method)) { return false; } if (hasTagValueAnnotation(method)) { return true; } if ("getValue".equals(method.getName())) { if (method.getAnnotation(SubTag.class) != null) return false; if (method.getAnnotation(SubTagList.class) != null) return false; if (method.getAnnotation(Convert.class) != null || method.getAnnotation(Resolve.class) != null) { return !ReflectionUtil.isAssignable(GenericDomValue.class, method.getReturnType()); } if (ReflectionUtil.isAssignable(DomElement.class, method.getReturnType())) return false; return true; } return false; }