@Override public boolean validate(Element element, AnnotationElements validatedElements) { IsValid valid = new IsValid(); validatorHelper.notAlreadyValidated(element, validatedElements, valid); validatorHelper.enclosingElementHasRestAnnotation(element, validatedElements, valid); ExecutableElement executableElement = (ExecutableElement) element; validatorHelper.throwsOnlyRestClientException(executableElement, valid); validatorHelper.returnTypeNotGenericUnlessResponseEntity(executableElement, valid); validatorHelper.doesNotReturnPrimitive(executableElement, valid); validatorHelper.doesNotReturnArray(executableElement, valid); restAnnotationHelper.urlVariableNamesExistInParameters(executableElement, valid); return valid.isValid(); }