     //----------------------------------
 
     [Bindable("change")]
-
+    [Bindable("valueCommit")]
+    
     /**
      *  A Vector of Objects representing the currently selected data items. 
      *  If multiple selection is disabled by setting <code>allowMultipleSelection</code>

            }
            else
            {
                selectedIndices = calculateSelectedIndices(newIndex, event.shiftKey, event.ctrlKey);
            }
        }
        

     */
    public function set selectedIndices(value:Vector.<int>):void
    {
        setSelectedIndices(value, false);
    }
    
    /**
     *  @private
     *  Used internally to specify whether the selectedIndices changed programmatically or due to 
     *  user interaction. 
     * 
     *  @param dispatchChangeEvent if true, the component will dispatch a "change" event if the
     *  value has changed. Otherwise, it will dispatch a "valueCommit" event. 
     */
    mx_internal function setSelectedIndices(value:Vector.<int>, dispatchChangeEvent:Boolean = false):void
    {
        // TODO (jszeto) Do a deep compare of the vectors
        if (_proposedSelectedIndices == value || 
            (value.length == 1 && value[0] == selectedIndex))
            return; 
        
        if (dispatchChangeEvent)
            dispatchChangeAfterSelection = dispatchChangeEvent;
        _proposedSelectedIndices = value;
        multipleSelectionChanged = true;  
        invalidateProperties();
