void replaceFileLevelHighlight(@NotNull HighlightInfo oldFileLevelInfo, @NotNull HighlightInfo newFileLevelInfo, @Nullable RangeHighlighterEx toReuse) {
    Project project = getProject();
    DaemonCodeAnalyzerEx codeAnalyzer = DaemonCodeAnalyzerEx.getInstanceEx(project);
    Future<?> future = EdtExecutorService.getInstance().submit(() -> {
      if (!project.isDisposed() && !isCanceled()) {
        codeAnalyzer.removeFileLevelHighlight(getPsiFile(), oldFileLevelInfo);
        codeAnalyzer.addFileLevelHighlight(oldFileLevelInfo.getGroup(), newFileLevelInfo, getPsiFile(), toReuse);
      }
    });
    pendingFileLevelHighlightRequests.add((RunnableFuture<?>)future);
  }
void replaceFileLevelHighlight(@NotNull HighlightInfo oldFileLevelInfo, @NotNull HighlightInfo newFileLevelInfo, @Nullable RangeHighlighterEx toReuse)