     override protected function commitSelection(dispatchChangedEvents:Boolean = true):Boolean
     {
         var oldSelectedIndex:Number = _selectedIndex;
-        var oldCaretIndex:Number = _currentCaretIndex;  
+        var oldCaretIndex:Number = _caretIndex;  
         
         // Ensure that multiple selection is allowed and that proposed 
         // selected indices honors it. For example, in the single 

        else
        {
            // Quick check to see if we're removing the only selected item
            // in which case we need to honor requiresSelection. 
            if (!isEmpty(selectedIndices) && selectedIndices.length == 1 
                && index == selectedIndex && requiresSelection)
            {
                //Removing the last item 
                if (dataProvider.length == 0)

     *  @private
     *  Called when an item has been removed from this component.
     */
    override protected function itemRemoved(index:int):void
    {
        adjustSelectedIndices(index, false);        
    }
