         if (virtualLayoutUnderway)
         {
             finishVirtualLayout();
-            if(_layeringFlags & LAYERING_DIRTY)
-                manageDisplayObjectLayers();            
             virtualLayoutUnderway = false;
         }
     }


        if(_layeringFlags & LAYERING_DIRTY)
        {
            if (layout && layout.useVirtualLayout)
                invalidateDisplayList();
            else
                manageDisplayObjectLayers();
        }
        
        if (typicalItemChanged)

                insertIndex = index;
                
            // Quietly ignore invalid indices since they're typically caused
            // by duplicate data items and Halo quietly ignore those
            if ((insertIndex >= 0) && (insertIndex < super.numChildren)) 
                super.setChildIndex(child, insertIndex);

            return child;
        }
        else if (child.parent && child.parent is DataGroup)
