PsiMethod (@NotNull PsiClass psiClass, @NotNull PsiAnnotation psiAnnotation) { final PsiManager psiManager = psiClass.getManager(); return new LombokLightMethodBuilder(psiManager, HASH_CODE_METHOD_NAME) .withModifier(PsiModifier.PUBLIC) .withMethodReturnType(PsiTypes.intType()) .withContainingClass(psiClass) .withNavigationElement(psiAnnotation) .withBodyText(m -> { PsiClass containingClass = m.getContainingClass(); PsiAnnotation anno = (PsiAnnotation)m.getNavigationElement(); return createHashcodeBlockString(containingClass, anno, EqualsAndHashCodeToStringHandler.filterMembers(containingClass, anno, true, INCLUDE_ANNOTATION_METHOD, null, EQUALS_AND_HASHCODE_INCLUDE, EQUALS_AND_HASHCODE_EXCLUDE)); }); }