/// <summary> /// Removes provided item (<paramref name="item"/>) from the node. /// </summary> /// /// <param name="item">Item to be removed from the node</param> /// /// <seealso cref="INode{TItem, TNode}.Clear"/> protected internal void RemoveOwnItem(TItem item) { // remove the item from the node _items.Remove(item); // update its parent node item.ParentNode = null; if (IsEmpty()) { // remove subnodes if subtree of this node is empty SubNodes.Clear(); } }
public void Clear() { _items.Clear(); SubNodes.Clear(); }