code: public void remove(final Tree<?, ?> child) {
  		requireNonNull(child);
  
  		if (!isChild(child)) {
  			throw new IllegalArgumentException("The given child is not a child.");
  		}
  		remove(getIndex(child));
  	}
docs: Remove the {@code child} from {@code this} node's child array, giving it
  a {@code null} parent.
  
  @param child the child of this node to remove
  @throws NullPointerException if the given {@code child} is {@code null}
  @throws IllegalArgumentException if the given {@code child} is not a
  child of this node