public static @NotNull Collection<Processor> getProcessors(@NotNull PsiAnnotation psiAnnotation) {
    LombokProcessorManager manager = getInstance();

    PsiJavaCodeReferenceElement nameReferenceElement = psiAnnotation.getNameReferenceElement();
    if (nameReferenceElement == null) {
      return Collections.emptyList();
    }
    String referenceName = nameReferenceElement.getReferenceName();
    if (referenceName == null || !manager.ourSupportedShortNames.containsKey(referenceName)) {
      return Collections.emptyList();
    }
    String qualifiedName = psiAnnotation.getQualifiedName();
    if (DumbIncompleteModeUtil.isDumbOrIncompleteMode(psiAnnotation)) {
      qualifiedName = DumbIncompleteModeUtil.findLombokAnnotationQualifiedNameInDumbIncompleteMode(psiAnnotation);
    }
    if (StringUtil.isEmpty(qualifiedName) || !qualifiedName.contains("lombok")) {
      return Collections.emptyList();
    }
    String finalQualifiedName = qualifiedName;
    return manager.getWithCache("byAnnotationFQN_" + qualifiedName,
                                () -> ContainerUtil.filter(manager.getAllProcessors(), p -> p.isSupportedAnnotationFQN(finalQualifiedName))
    );
  }
public static @NotNull Collection<Processor> getProcessors(@NotNull PsiAnnotation psiAnnotation)