code: @Override
  	public void clear() {
  		removeAllUserData();
  		if (this.children != null) {
  			final List<N> nodes = new ArrayList<>(this.children);
  			while (!this.children.isEmpty()) {
  				setChildAt(0, null);
  			}
  			for (final N child : nodes) {
  				child.clear();
  			}
  			nodes.clear();
  		}
  	}
docs: Clear the tree.
  
  <p>Caution: this method also destroyes the
  links between the child nodes inside the tree.
  If you want to unlink the first-level
  child node with
  this node but leave the rest of the tree
  unchanged, please call <code>setChildAt(i,null)</code>.