         addEventListener(KeyboardEvent.KEY_DOWN, buttonBar_keyDownHandler);
         addEventListener(KeyboardEvent.KEY_UP, buttonBar_keyUpHandler);
 
-		tabChildren = false;
-		tabEnabled = true;
+        tabChildren = false;
+        tabEnabled = true;
     }
     
     //--------------------------------------------------------------------------

        var index:int = dataGroup.getElementIndex(
                            event.currentTarget as IVisualElement);

		if (index == selectedIndex)
		{
			if (!requiresSelection)
				selectedIndex = -1;
		}
		else
		{
			focusedIndex = selectedIndex = index;
		}
    }
    
    /**
     *  @private
	 *  Attempt to lift the focused button above the others
	 *  so that the focus ring can show.
     */
    private function adjustLayering(focusedIndex:int):void
    {
		var n:int = dataProvider.length;
		for (var i:int = 0; i < n; i++)
		{
			var renderer:IVisualElement = IVisualElement(dataGroup.getElementAt(i));
			if (i == focusedIndex)
				renderer.layer = 1;
			else
				renderer.layer = 0;
		}
	}

    /**
     *  @private
     */
    private function buttonBar_keyDownHandler(event:KeyboardEvent):void
    {
		var currentRenderer:IItemRenderer;
		var renderer:IItemRenderer;
		
		if (event.eventPhase == EventPhase.BUBBLING_PHASE)
			return;

		if (!enabled)
			return;

        switch (event.keyCode)
        {
            case Keyboard.UP:
            case Keyboard.LEFT:
            {
				currentRenderer = dataGroup.getElementAt(focusedIndex) as IItemRenderer;
				if (focusedIndex > 0)
				{
					if (currentRenderer)
						currentRenderer.showFocusIndicator = false;
					--focusedIndex;
					adjustLayering(focusedIndex);
					renderer = dataGroup.getElementAt(focusedIndex) as IItemRenderer;
					if (renderer)
						renderer.showFocusIndicator = true;
				}

                event.stopPropagation();
                break;

            case Keyboard.DOWN:
            case Keyboard.RIGHT:
            {
                currentRenderer = dataGroup.getElementAt(focusedIndex) as IItemRenderer;
                if (focusedIndex < dataProvider.length - 1 || arrowKeysWrapFocus)
                {
                    if (currentRenderer)
                        currentRenderer.showFocusIndicator = false;
                    focusedIndex = (focusedIndex + 1) % length;
                    adjustLayering(focusedIndex);
                    renderer = dataGroup.getElementAt(focusedIndex) as IItemRenderer;
                    if (renderer)
                        renderer.showFocusIndicator = true;
                }

                event.stopPropagation();
                break;
            }            
            case Keyboard.SPACE:
            {
                currentRenderer = dataGroup.getElementAt(focusedIndex) as IItemRenderer;
                if (!currentRenderer || (currentRenderer.selected && requiresSelection))
                    return;
                currentRenderer.dispatchEvent(event);
                break;
            }            
        }
