public void AddChild(DisseminateNode <TKey, TValue> child) { child.Parent = this; ChildrenCount++; if (FirstChild == null) { FirstChild = child; return; } // Always add it as the last child FirstChild.InsertBefore(child); Debug.Assert(RightSibling != null && LeftSibling != null); }