  *  Calling the <code>preventDefault()</code> method
  *  on the event prevents the selection from changing.
  *
- *  @eventType mx.events.IndexChangedEvent.CHANGING
+ *  @eventType spark.events.IndexChangeEvent.CHANGING
  *  
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-[Event(name="changing", type="mx.events.IndexChangedEvent")]
+[Event(name="changing", type="spark.events.IndexChangeEvent")]
 
 /**
  *  Dispatched after the selection has changed. 
  *
- *  @eventType mx.events.IndexChangedEvent.CHANGE
+ *  @eventType spark.events.IndexChangeEvent.CHANGE
  *  
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-[Event(name="change", type="mx.events.IndexChangedEvent")]
+[Event(name="change", type="spark.events.IndexChangeEvent")]
 
 /**
  *  Dispatched after the focus has changed.  
  *
- *  @eventType mx.events.IndexChangedEvent.CARET_CHANGE
+ *  @eventType spark.events.IndexChangeEvent.CARET_CHANGE
  *  
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-[Event(name="caretChange", type="mx.events.IndexChangedEvent")]
+[Event(name="caretChange", type="spark.events.IndexChangeEvent")]
 
 /**
  *  The ListBase class is the base class for all components that support

import mx.core.IVisualElement;
import mx.core.mx_internal;
import mx.core.UIComponent; 
import mx.events.FlexEvent;
import mx.events.IndexChangedEvent;
import mx.events.CollectionEvent;
import mx.events.CollectionEventKind;


        
        // Step 2: dispatch the "changing" event. If preventDefault() is called
        // on this event, the selection change will be cancelled.
        var e:IndexChangeEvent = new IndexChangeEvent(IndexChangeEvent.CHANGING, false, true);
        e.oldIndex = _selectedIndex;
        e.newIndex = _proposedSelectedIndex;
        if (!dispatchEvent(e))
