         
         const newVisibleRowIndices:Vector.<int> = new Vector.<int>();
         const newVisibleItemRenderers:Vector.<IGridItemRenderer> = new Vector.<IGridItemRenderer>();
+        const allocatedItemRenderers:Vector.<IGridItemRenderer> = new Vector.<IGridItemRenderer>();
+        var createdItemRenderers:Vector.<IGridItemRenderer> = null;
         
         var cellX:Number = startCellX;
         var cellY:Number = startCellY;

     */
    private function allocateGridElement(factory:IFactory):IVisualElement
    {
        const elements:Vector.<IVisualElement> = freeElementMap[factory] as Vector.<IVisualElement>;
        if (elements)
        {

    //
    //  Grid Elements
    //
    //-------------------------------------------------------------------------- 
    
    /**
     *  @private
     *  Let the allocateGridElement() caller know if the returned element was 
     *  created or recycled.
     */
    private var createdGridElement:Boolean = false;
    
    private function createGridElement(factory:IFactory):IVisualElement
    {
        createdGridElement = true;
        const element:IVisualElement = factory.newInstance() as IVisualElement;
        elementToFactoryMap[element] = factory;
        return element;
