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

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

                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)
