void (final @NotNull PsiAnnotation annotation) { if (annotation.hasQualifiedName(SPRING_QUALIFIER_FQN)) { PsiAnnotationOwner annotationOwner = annotation.getOwner(); if (annotationOwner instanceof PsiModifierList) { PsiElement annotationOwnerParent = ((PsiModifierList)annotationOwner).getParent(); if (annotationOwnerParent instanceof PsiField) { PsiClass psiClass = ((PsiField)annotationOwnerParent).getContainingClass(); if (psiClass != null && PsiAnnotationSearchUtil.isAnnotatedWith(psiClass, LombokClassNames.REQUIRED_ARGS_CONSTRUCTOR, LombokClassNames.ALL_ARGS_CONSTRUCTOR)) { Collection<String> configuredCopyableAnnotations = ConfigDiscovery.getInstance().getMultipleValueLombokConfigProperty(ConfigKey.COPYABLE_ANNOTATIONS, psiClass); if (!configuredCopyableAnnotations.contains(SPRING_QUALIFIER_FQN)) { holder.registerProblem(annotation, LombokBundle.message("inspection.message.annotation.not.lombok.copyable", SPRING_QUALIFIER_FQN), ProblemHighlightType.WARNING); } } } } } }