private static Collection<PsiAnnotation> processClass(@NotNull Project project,
                                                        @NotNull PsiClass psiClass,
                                                        @NotNull AbstractProcessor lombokProcessor) {
    Collection<PsiAnnotation> psiAnnotations = lombokProcessor.collectProcessedAnnotations(psiClass);

    final List<? super PsiElement> psiElements = lombokProcessor.process(psiClass);

    if (lombokProcessor instanceof FieldNameConstantsPredefinedInnerClassFieldProcessor) {
      rebuildElementsBeforeExistingFields(project, psiClass, psiElements);
    }
    else {
      rebuildElements(project, psiClass, psiElements);
    }

    return psiAnnotations;
  }
private static Collection<PsiAnnotation> processClass(@NotNull Project project,
                                                        @NotNull PsiClass psiClass,
                                                        @NotNull AbstractProcessor lombokProcessor)