                 // If we're going to set the width or height of this
                 // layout element, first force it to initialize its
                 // measuredWidth,Height.    
-                if (elt is IInvalidating) 
+                if (elt is IInvalidating && !skipValidation) 
                     IInvalidating(elt).validateNow();
                 elt.setLayoutBoundsSize(eltWidth, eltHeight);
             }
             
-            if (elt is IInvalidating)
+            if (elt is IInvalidating && !skipValidation)
                 IInvalidating(elt).validateNow();
             
             if (createdIR)

            invalidateLayering();

        super.addChildAt(child, childIndex);
    }
    
    /**

     *  @playerversion AIR 1.5
     *  @productversion Flex 4
     */
    override public function getVirtualElementAt(index:int, eltWidth:Number=NaN, eltHeight:Number=NaN, skipValidation:Boolean = false):IVisualElement
    {
        if ((index < 0) || (dataProvider == null) || (index >= dataProvider.length))
            return null;
        
        if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_5)
            skipValidation = false;
        
        var elt:IVisualElement = indexToRenderer[index];
        
