@Override
  public ProcessingItem @NotNull [] getProcessingItems(@NotNull CompileContext context) {
    Project project = context.getProject();
    if (project.isDefault() || !ValidationConfiguration.shouldValidate(this, project)) {
      return ProcessingItem.EMPTY_ARRAY;
    }
    ExcludesConfiguration excludesConfiguration = ValidationConfiguration.getExcludedEntriesConfiguration(project);
    List<ProcessingItem> items =
      DumbService.getInstance(project).runReadActionInSmartMode((Computable<List<ProcessingItem>>)() -> {
        CompileScope compileScope = context.getCompileScope();
        if (!myValidator.isAvailableOnScope(compileScope)) return null;

        ArrayList<ProcessingItem> items1 = new ArrayList<>();

        Processor<VirtualFile> processor = file -> {
          if (!file.isValid()) {
            return true;
          }

          if (myCompilerManager.isExcludedFromCompilation(file) ||
              excludesConfiguration.isExcluded(file)) {
            return true;
          }

          Module module = context.getModuleByFile(file);
          if (module != null) {
            PsiFile psiFile = myPsiManager.findFile(file);
            if (psiFile != null) {
              items1.add(new MyValidatorProcessingItem(psiFile));
            }
          }
          return true;
        };
        ContainerUtil.process(myValidator.getFilesToProcess(myPsiManager.getProject(), context), processor);
        return items1;
      });
    if (items == null) return ProcessingItem.EMPTY_ARRAY;

    return items.toArray(ProcessingItem.EMPTY_ARRAY);
  }
@Override
  public ProcessingItem @NotNull [] getProcessingItems(@NotNull CompileContext context)