     
     /**
      *  @private
-     *  By default, this method uses the same approach as DataGroup/getVirtualElementAt() for elements
-     *  that implement IInvalidating: elt.validateNow(), elt.setLayoutBoundsSize(), elt.validateNow().
-     *  This is supposed to eliminate problems with (text) components that defer reflow until the next
-     *  updateDisplayList() pass.
-     *  
-     *  Since doing so is rather expensive, we economize when the renderer is an IUITextField
-     *  since UITextField and UIFTETextField reflow synchronously.
      */ 
     private function layoutItemRenderer(renderer:IGridItemRenderer, x:Number, y:Number, width:Number, height:Number):void
     {

                initializeItemRenderer(renderer, rowIndex, colIndex);
                
                var colWidth:Number = gridDimensions.getColumnWidth(colIndex);
                layoutItemRenderer(renderer, cellX, cellY, colWidth, rowHeight);
                
                gridDimensions.setCellHeight(rowIndex, colIndex, renderer.getPreferredBoundsHeight());
                cellX += colWidth + colGap;

            }
            
            renderer.setLayoutBoundsSize(width, height);            
        }
        
        if ((renderer is IInvalidating) && !(renderer is IGraphicElement))
        {
            const validateNowRenderer:IInvalidating = renderer as IInvalidating;
            validateNowRenderer.validateNow();
        }
        
        renderer.setLayoutBoundsPosition(x, y);
