protected void Split()
 {
     _quads.ForEach(q => Children[q] = new QuadTreeNode <T>(ChildrenExtents[q]));
     IsLeaf = false;
 }
 public QuadTree(Extent2D extents)
 {
     Root = new QuadTreeNode <T>(extents);
 }