 
     /**
      *  @private
+     */
+    override public function drawFocus(isFocused:Boolean):void
+    {
+        adjustLayering(caretIndex);
+        drawButtonFocus(caretIndex, isFocused);
+    }
+
+
+    /**
+     *  @private
+     */
+    override protected function itemSelected(index:int, selected:Boolean):void
+    {
+        super.itemSelected(index, selected);
+        
+        var renderer:IItemRenderer = 
+            dataGroup.getElementAt(index) as IItemRenderer;
+        
+        if (renderer)
+        {
+            setCurrentCaretIndex(index);
+            renderer.selected = selected;
+        }
+        if (dataProvider is ISelectableList && selected)
+            ISelectableList(dataProvider).selectedIndex = index;
+    }
+        
+    /**
+     *  @private
      *  button bar always keeps something under the caret so don't let it
      *  become -1
      */

    /**
     *  @private
     */
    override public function drawFocus(isFocused:Boolean):void
    {
        adjustLayering(caretIndex);
        drawButtonFocus(caretIndex, isFocused);
    }


    /**
     *  @private
     */
    override protected function itemSelected(index:int, selected:Boolean):void
    {
        super.itemSelected(index, selected);
        
        var renderer:IItemRenderer = 
            dataGroup.getElementAt(index) as IItemRenderer;
        
        if (renderer)
        {
            setCurrentCaretIndex(index);
            renderer.selected = selected;
        }
        if (dataProvider is ISelectableList && selected)
            ISelectableList(dataProvider).selectedIndex = index;
    }
        
    /**
     *  @private
     */
    override protected function partAdded(partName:String, instance:Object):void
    {
        super.partAdded(partName, instance);


        inKeyUpHandler = false;
    }
}

}
