private void MergeEmptyChildren(CoverNode <T> node)
 {
     if (node.HasChildren() && node.AreExistingChildrenEmpty())
     {
         node.MergeEmptyChildren();
     }
     if (node.IsRootNode() || !node.IsEmpty() || node.HasChildren())
     {
         return;
     }
     MergeEmptyChildren(node.GetParent());
 }