code: private Region remove(Region x) {
      this.deletedNode = NULL_NODE;
      this.root = remove(x, this.root);
      Region d = this.deletedElement;
      // deletedElement is set to null to free the reference,
      // deletedNode is not freed as it will endup pointing to a valid node.
      this.deletedElement = null;
      if (d == null) {
        return null;
      } else {
        return new Region(d);
      }
    }
docs: Remove from the tree.
  
  @param x the item to remove.