      */
     override public function invalidateLayering():void
     {
-    	_layeringFlags |= (LAYERING_ENABLED | LAYERING_DIRTY);
+        _layeringFlags |= (LAYERING_ENABLED | LAYERING_DIRTY);
         invalidateProperties();
     }
 
     /**
-     *  Adds an item to this DataGroup.
-     *  Flex calls this method automatically; you do not call it directly.
+     *  Adds the itemRenderer for the specified dataProvider item to this DataGroup.
+     * 
+     *  This method is called as needed by the DataGroup implementation,
+     *  it should not be called directly.
      *
-     *  @param item The item that was added.
-     *
-     *  @param index The index where the item was added.
+     *  @param item The item that was added, the value of dataProvider[index].
+     *  @param index The index where the dataProvider item was added.
      */
     mx_internal function itemAdded(item:Object, index:int):void
     {
         var myItemRenderer:IVisualElement = createRendererForItem(item);
+        itemToRenderer[item] = myItemRenderer;
 
         addItemRendererToDisplayList(myItemRenderer as DisplayObject, index);
         dispatchEvent(new ItemExistenceChangedEvent(

     */
    mx_internal function itemRemoved(item:Object, index:int):void
    {       
        var myItemRenderer:IVisualElement = IVisualElement(super.getChildAt(index));
        
        dispatchEvent(new ItemExistenceChangedEvent(
                      ItemExistenceChangedEvent.ITEM_REMOVE, false, false, 

            if (createdIR)
                dispatchEvent(new ItemExistenceChangedEvent(ItemExistenceChangedEvent.ITEM_ADD, false, false, item));
        }

        return LayoutElementFactory.getLayoutElementFor(elt);
    }
