      }
 
     /**
+     *  @private
+     */
+     override public function elementAdded(index:int):void
+     {
+         if (useVirtualLayout)
+            llv.insert(index);
+     }
+
+    /**
+     *  @private
+     */
+     override public function elementRemoved(index:int):void
+     {
+        if (useVirtualLayout)
+            llv.remove(index);
+     }     
+
+    /**
      *  @private 
      *  Compute potentially approximate values for measuredWidth,Height and 
      *  measuredMinWidth,Height.

        
        updateLLV(layoutTarget);     
        if (variableColumnWidth)
            layoutTarget.measuredWidth =  llv.end(measuredEltCount - 1);
        else
        {
            var hgap:Number = (measuredEltCount > 1) ? (measuredEltCount - 1) * gap : 0;

     */
     private function updateLLV(layoutTarget:GroupBase):void
     {
        var typicalElt:ILayoutElement = typicalLayoutElement;
        if (typicalElt)
        {
