void (PsiAnnotation annotation, PsiMethod method) { String mutationContract = AnnotationUtil.getStringAttributeValue(annotation, MutationSignature.ATTR_MUTATES); if (StringUtil.isNotEmpty(mutationContract)) { boolean pure = Boolean.TRUE.equals(AnnotationUtil.getBooleanAttributeValue(annotation, "pure")); String error; if (pure) { error = JavaAnalysisBundle.message("inspection.contract.checker.pure.method.mutation.contract"); } else { error = MutationSignature.checkSignature(mutationContract, method); } if (error != null) { PsiAnnotationMemberValue value = annotation.findAttributeValue(MutationSignature.ATTR_MUTATES); assert value != null; holder.registerProblem(value, error); } } }