protected void disown(AbstractNode child) throws IllegalStateException {
  ensureParentage(child);
  child.parent=null;
}

protected void disown ( AbstractNode child ) throws IllegalStateException { ensureParentage ( child ) ; child . parent = null ; }
disowns a direct child ( it will be parentless after this call ) .
