      */
     private function dataGroup_itemAddHandler(event:ItemExistenceChangedEvent):void
     {
-        var renderer:Object = event.renderer;
+        var renderer:IEventDispatcher = IEventDispatcher(event.renderer);
         var index:int = event.index;
         
         if (renderer)
+		{
             renderer.addEventListener("click", item_clickHandler);
+			if (renderer is IFocusManagerComponent)
+				IFocusManagerComponent(renderer).focusEnabled = false;
+			if (renderer is ISelectableRenderer)
+			{
+				ISelectableRenderer(renderer).allowDeselection = !requiresSelection;
+				ISelectableRenderer(renderer).enabled = enabled;
+			}
+		}
             
         if (isItemIndexSelected(index))
             itemSelected(index, true);

    {
        var index:int = dataGroup.getItemIndexForRenderer(
                            event.currentTarget as IVisualElement);
		
		selectedIndex = index;
    }
    
    /**

        
        //Add a keyDown event listener so we can adjust
        //selection accordingly.  
        addEventListener(KeyboardEvent.KEY_DOWN, buttonBar_keyDownHandler);

		tabChildren = false;
		tabEnabled = true;
    }
    
    //--------------------------------------------------------------------------
    //
    //  Variables
    //
    //--------------------------------------------------------------------------
    
    /**
     *  @private
     *  Index of currently focused child.
     */
    private var focusedIndex:int = 0;

    //--------------------------------------------------------------------------
    //
    //  Properties
