         }
 
         super.addChild(obj);
-        updateRendererData(renderer, _typicalItem);
+        updateRendererInformation(renderer, _typicalItem);
         if (obj is IInvalidating)
             IInvalidating(obj).validateNow();
         setTypicalLayoutElement(obj);

                    elt = freeRenderers.pop();
                    elt.visible = true;
                    elt.includeInLayout = true;
                    if (elt is IItemRenderer)
                        IItemRenderer(elt).labelText = itemToLabel(item);
                    recycledIR = true;
                }
                else 


        return myItemRenderer;
    }
   
    /**
     *  A bottleneck method which updates renderer specific information. 
     * 
     *  Set the renderer's data to the item, but only if the item and 
     *  renderer are different.This step isn't integrated into createRendererForItem()
     *  so that we can delay calling the IR's 'set data' method until after the
     *  IR has a valid parent, i.e. until after it has been added to the 
     *  display list. 
     * 
     *  Additionally, this method sets the renderer's labelText (the result of
     *  which is dependant on its data) and owner properties. 
     * 
     *  @param renderer The renderer to update
     *  
     *  @param data The renderer's data  
     *  
     *  @langversion 3.0
     *  @playerversion Flash 10
     *  @playerversion AIR 1.5
     *  @productversion Flex 4
     * 
     */
    public function updateRendererInformation(renderer:IVisualElement, data:Object=null):void
    {
    	if (!renderer)
    	   return; 
        
        if ((renderer is IDataRenderer) && (renderer != data))
            IDataRenderer(renderer).data = data;   
        
        renderer.owner = this;
        
        if (renderer is IItemRenderer)
            IItemRenderer(renderer).labelText = itemToLabel(data);
    }
    
    /**
