docs: protected Node doClone(Node parent) {
          Node clone;
  
          try {
              clone = (Node) super.clone();
          } catch (CloneNotSupportedException e) {
              throw new RuntimeException(e);
          }
  
          clone.parentNode = parent; // can be null, to create an orphan split
          clone.siblingIndex = parent == null ? 0 : siblingIndex;
  
          return clone;
      }