     private function buttonBar_focusInHandler(event:FocusEvent):void
     {
 		var currentButton:IFocusManagerComponent;
-		var item:Object;
 		var index:int;
 		var renderer:Object;
 
 		currentButton = focusManager.getFocus();
-		item = dataGroup.getRendererItem(DisplayObject(currentButton));
-		index = dataProvider.getItemIndex(item);
+		index = dataGroup.getRendererItem(currentButton);
 
 		var n:int = dataProvider.length;
 		var zz:int = 0;
 		for (var i:int = 0; i < n; i++)
 		{
-			renderer = dataGroup.getItemRenderer(dataProvider.getItemAt(i));
+			renderer = dataGroup.getItemRenderer(i);
 			if (renderer == currentButton)
 				renderer.layer = n - 1;
 			else

            {
				focusManager.showFocusIndicator = true;
				currentButton = focusManager.getFocus();
		        item = dataGroup.getRendererItem(DisplayObject(currentButton));
				index = dataProvider.getItemIndex(item);
				if (index > 0)
				{
					renderer = dataGroup.getItemRenderer(dataProvider.getItemAt(index - 1));
					IFocusManagerComponent(renderer).setFocus();
				}


     */
    private function dataGroup_itemRemoveHandler(event:ItemExistenceChangedEvent):void
    {        
        var renderer:Object = event.renderer;
        
        if (renderer)
            renderer.removeEventListener("click", item_clickHandler);
