         
         // Step 3: commit the selection change
         if (_selectedIndex != NO_SELECTION)
-        	itemSelected(getItemAt(_selectedIndex), false);
+        	itemSelected(dataProvider.getItemAt(_selectedIndex), false);
         if (_proposedSelectedIndex != NO_SELECTION)
-        	itemSelected(getItemAt(_proposedSelectedIndex), true);
+        	itemSelected(dataProvider.getItemAt(_proposedSelectedIndex), true);
         _selectedIndex = _proposedSelectedIndex;
         _proposedSelectedIndex = NO_PROPOSED_SELECTION;
         

	 */
	public function Selector()
    {
    	addEventListener(FlexEvent.CONTENT_CHANGING, contentChangingHandler);
    	addEventListener(FlexEvent.CONTENT_CHANGED, contentChangedHandler);
		addEventListener(ItemExistenceChangedEvent.ITEM_ADD, itemAddedHandler);
		addEventListener(ItemExistenceChangedEvent.ITEM_REMOVE, itemRemovedHandler);
    }
    
    //--------------------------------------------------------------------------

     *  @private
     *  Called when an item has been added to this component.
     */
    protected function itemAddedHandler(item:*, index:int):void
    {
        if (selectedIndex == NO_SELECTION || doingWholesaleChanges)
            return;
        
        // If an item is added before the selected item, bump up our
        // selected index backing variable. 
        if (index <= selectedIndex)
            adjustSelectedIndex(selectedIndex + 1);
    }
    
