public void FindIntersectingNodes(RectangleF fullBounds, PNodeList results) { if (FullIntersects(fullBounds)) { RectangleF bounds = ParentToLocal(fullBounds); if (Intersects(bounds)) { results.Add(this); } int count = ChildrenCount; for (int i = count - 1; i >= 0; i--) { PNode each = children[i]; each.FindIntersectingNodes(bounds, results); } } }