@Override
      public void documentChanged(@NotNull final DocumentEvent e) {
        myMapper.clear();
        int offset = e.getOffset();
        final int lineNumber = document.getLineNumber(offset);
        final int lastLineNumber = document.getLineNumber(offset + e.getNewLength());
        if (!removeChangedHighlighters(lineNumber, lastLineNumber, document)) return;
        if (!myUpdateAlarm.isDisposed()) {
          myUpdateAlarm.addRequest(() -> {
            Int2IntMap newToOldLineMapping = myMapper.canGetFastMapping() ? myMapper.getNewToOldLineMapping() : null;
            if (newToOldLineMapping != null) {
              final int lastLine = Math.min(document.getLineCount() - 1, lastLineNumber);
              for (int line = lineNumber; line <= lastLine; line++) {
                if (!newToOldLineMapping.containsKey(line)) continue;
                int oldLineNumber = newToOldLineMapping.get(line);
                var lineData = executableLines.get(oldLineNumber);
                if (lineData == null) continue;
                addHighlighter(markupModel, executableLines, suite, oldLineNumber, line, classNames.get(oldLineNumber));
              }
            }
          }, 100);
        }
      }
@Override
      public void documentChanged(@NotNull final DocumentEvent e)