@Override
  public void documentChanged(final @NotNull DocumentEvent e) {
    myIsInUpdate = false;
    myDocumentUpdateCounter++;
    if (!myEditor.getDocument().isInBulkUpdate()) {
      doWithCaretMerging(() -> {}); // do caret merging if it's not scheduled for later
      if (myVisualPositionUpdateScheduled) updateVisualPosition();
    }
  }
@Override
  public void documentChanged(final @NotNull DocumentEvent e)