     protected function itemRemoved(index:int):void
     {       
         var item:* = getItemAt(index);
-        var skin:* = getItemSkin(item);
         var childDO:DisplayObject = item as DisplayObject;
         
         dispatchEvent(new ItemExistenceChangedEvent(

        }   
        else
        {     
        	// This always adds the child to the end of the display list. Any 
        	// ordering discrepancies will be fixed up in assignDisplayObjects().
            child = addItemToDisplayList(createVisualForItem(item), item);
        }
        
        dispatchEvent(new ItemExistenceChangedEvent(

        // Remove the item from the group if that group isn't this group
        if (host && host is Group && host != this)
            Group(host).removeItem(item);
        else if (host && host is DataGroup && host != this)
        {
            var dp:IList = DataGroup(host).dataProvider;
            var index:int = dp.getItemIndex(item);
            dp.removeItemAt(index);
        }
        
        // Calling removeItem should have already removed the child. This
        // should handle the case when we don't call removeItem
