static void disposeWithFileLevelIgnoreErrors(@NotNull RangeHighlighter highlighter,
                                               @Nullable HighlightInfo info,
                                               @NotNull HighlightingSession highlightingSession) {
    if (info != null && info.isFileLevelAnnotation()) {
      ((HighlightingSessionImpl)highlightingSession).removeFileLevelHighlight(info);
    }
    try {
      highlighter.dispose();
    }
    catch (Exception e) {
      // in theory, rogue plugin might register a listener on range marker 'dispose', which can do nasty things, including throwing exceptions,
      // but in highlighting, range highlighters must be removed no matter what, to avoid sticky highlighters, so ignore these exceptions
      LOG.warn(e);
    }
  }
static void disposeWithFileLevelIgnoreErrors(@NotNull RangeHighlighter highlighter,
                                               @Nullable HighlightInfo info,
                                               @NotNull HighlightingSession highlightingSession)