code: private Region insert(Region x, Region t) {
      if (t == NULL_NODE) {
        t = x;
      } else if (x.orderRelativeTo(t) < 0) {
        t.left(insert(x, t.left));
      } else if (x.orderRelativeTo(t) > 0) {
        t.right(insert(x, t.right));
      } else {
        throw new AssertionError("Cannot insert " + x + " into " + this);
      }
      t = skew(t);
      t = split(t);
      return t;
    }
docs: Internal method to insert into a subtree.
  
  @param x
  the item to insert.
  @param t
  the node that roots the tree.
  @return the new root.
  if x is already present.