private void CollectChildren(Container initiator) { int count = _children.Count; for (int i = 0; i < count; i++) { DisplayObject child = _children[i]; if (child is Container) { Container container = (Container)child; container._fBatchingInherited = true; initiator._descendants.Add(container); if (container._clipRect == null) { child.tmpBounds.Set(0, 0, 0, 0); container.CollectChildren(initiator); } else { container.tmpBounds = container.GetClipRect(initiator); container.DoFairyBatching(); } } else { child.tmpBounds = child.GetBounds(initiator); initiator._descendants.Add(child); } } }