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);
        }