public virtual void RemoveAllChildren() { foreach ( Node child in Children ) { child.NotifyOfNewParent( null ); } childNodes.Clear(); childrenToUpdate.Clear(); }