private void doChangeUpdate(@NotNull DocumentEvent e) {
    if (!isValid()) return;
    RangeMarkerTree.RMNode<RangeMarkerEx> node = myNode;
    long newRange = node == null ? -1 : applyChange(e, node.toScalarRange(), isGreedyToLeft(), isGreedyToRight(), isStickingToRight());
    if (newRange == -1) {
      invalidate();
    }
    else {
      node.setRange(newRange);
    }
  }
private void doChangeUpdate(@NotNull DocumentEvent e)