                 if (renderer.parent != rendererLayer)
                     rendererLayer.addElement(renderer);
                 newVisibleItemRenderers.push(renderer);
+
                 initializeItemRenderer(renderer, rowIndex, colIndex);
                 
+                // TBD(hmuller): if takeVisibleItemRenderer returned true, should we skip prepare?()
                 renderer.prepare(!createdGridElement);
                 
                 var colWidth:Number = gridDimensions.getColumnWidth(colIndex);

        backgroundLayer.validateNow();
        selectionLayer.validateNow();
        overlayLayer.validateNow();

        // The old visible row,column indices are no longer needed
        
        oldVisibleRowIndices.length = 0;
        oldVisibleColumnIndices.length = 0;
                
        if (enablePerformanceStatistics)
        {

        visibleColumnSeparators = layoutLinearElements(grid.columnSeparator, overlayLayer, 
            visibleColumnSeparators, oldVisibleColumnIndices, visibleColumnIndices, layoutColumnSeparator, lastVisibleColumnIndex);
        
        // Layout the hoverIndicator, caretIndicator, and selectionIndicators        
        
        layoutHoverIndicator(backgroundLayer);
