private void invoke(Project project, PsiClass psiClass, boolean processInnerClasses) {
    Collection<PsiAnnotation> processedAnnotations = new HashSet<>();

    processModifierList(psiClass);

    // get all inner classes before first lombok processing
    final PsiClass[] allInnerClasses = psiClass.getAllInnerClasses();

    for (AbstractProcessor lombokProcessor : lombokProcessors) {
      processedAnnotations.addAll(processClass(project, psiClass, lombokProcessor));
    }

    postProcessAugmentedAnnotations(psiClass);

    CodeStyleManager.getInstance(project).reformat(psiClass);

    if (processInnerClasses) {
      for (PsiClass innerClass : allInnerClasses) {
        //skip our self generated classes
        if (!(innerClass instanceof LombokLightClassBuilder)) {
          invoke(project, innerClass, true);
        }
      }
    }

    processedAnnotations.forEach(PsiAnnotation::delete);
  }
private void invoke(Project project, PsiClass psiClass, boolean processInnerClasses)