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;
if (container._fBatchingRoot)
{
initiator._descendants.Add(container);
container._internal_bounds = container.GetBounds(initiator);
if (container._fBatchingRequested)
container.DoFairyBatching();
}
else
container.CollectChildren(initiator);
}
else if (child != initiator._mask)
{
child._internal_bounds = child.GetBounds(initiator);
initiator._descendants.Add(child);
}
}
}