public bool Insert(QuadTreeItem <T> item) { if (UseFuzzyBoundaries) { if (!Bounds.Intersects(item.Bounds)) { return(false); } } else { if (!Bounds.Contains(item.Bounds)) { return(false); } } if (Items.Count >= Threshold) { if (!IsDivided) { Subdivide(); } if (TopLeft.Insert(item) || TopRight.Insert(item) || BottomLeft.Insert(item) || BottomRight.Insert(item)) { return(true); } } else { Items.Add(item); return(true); } if (AllowOverflow) { Items.Add(item); return(true); } return(false); }