@RequiresBackgroundThread
  @RequiresReadLock
  private static boolean requiresAnnotationProcessing(@NotNull Project project) {
    if (project.isDisposed()) return false;
    if (hasAnnotationProcessorsEnabled(project)) return false;
    if (!LombokLibraryUtil.hasLombokLibrary(project)) return false;

    return CachedValuesManager.getManager(project).getCachedValue(project, () -> {
      var processor = new CommonProcessors.FindFirstProcessor<PsiFile>();
      var scope = getScopeRestrictedByFileTypes(projectScope(project), JavaFileType.INSTANCE);

      CacheManager.getInstance(project).processFilesWithWord(processor, "lombok", UsageSearchContext.IN_CODE, scope, false);
      return new Result<>(processor.isFound(), OuterModelsModificationTrackerManager.getTracker(project));
    });
  }
@RequiresBackgroundThread
  @RequiresReadLock
  private static boolean requiresAnnotationProcessing(@NotNull Project project)