protected void unregisterInTree() {
    RangeMarkerTree.RMNode<RangeMarkerEx> node = myNode;
    if (!isValid()) return;
    IntervalTreeImpl<?> tree = node.getTree();
    tree.checkMax(true);
    DocumentEx document = getCachedDocument();
    if (document == null) {
      storeOffsetsBeforeDying(node);
      myNode = null;
    }
    else {
      document.removeRangeMarker(this);
    }
    tree.checkMax(true);
  }
protected void unregisterInTree()