@NotNull
  @Override
  protected Set<String> transformModifiers(@NotNull PsiModifierList modifierList, @NotNull final Set<String> modifiers) {
    // skip if no lombok library is present
    if (!hasLombokLibrary(modifierList.getProject()) && !DumbIncompleteModeUtil.isIncompleteModeWithLombokAnnotation(modifierList)) {
      return modifiers;
    }

    // make copy of original modifiers
    Set<String> result = new HashSet<>(modifiers);

    DumbService dumbService = DumbService.getInstance(modifierList.getProject());
    Runnable runnable = () -> {
      // Loop through all available processors and give all of them a chance to respond
      for (ModifierProcessor processor : Holder.modifierProcessors) {
        if (processor.isSupported(modifierList)) {
          processor.transformModifiers(modifierList, result);
        }
      }
    };
    if (dumbService.isDumb() && !dumbService.isAlternativeResolveEnabled()) {
      dumbService.runWithAlternativeResolveEnabled(() -> runnable.run());
    }
    else {
      runnable.run();
    }
    return result;
  }
@NotNull
  @Override
  protected Set<String> transformModifiers(@NotNull PsiModifierList modifierList, @NotNull final Set<String> modifiers)