public TreeNode<T> detach() {
		if (_parent != null) {
			_parent.remove(this);
		}

		return this;
	}
Detaches the subtree rooted at {@code this} node from the tree, giving
{@code this} node a {@code null} parent. Does nothing if {@code this}
node is the root of its tree.

@return {@code this}
jenetics.ext/src/main/java/io/jenetics/ext/util/TreeNode.java