     {
         var i:int; 
         var curr:Number; 
-        var newInterval:Array = [];
+        var newInterval:Vector.<Number> = new Vector.<Number>(); 
         var e:IndexChangedEvent; 
         
         if (selectedIndex == NO_SELECTION || doingWholesaleChanges)

        if (allowMultipleSelection && event.shiftKey && selectedIndices)
        {
            var startIndex:Number = getFirstSelectedIndex(); 
            var newInterval:Array = []; 
            var i:int; 
            if (startIndex <= proposedNewIndex)
            {

    /**
     *  @private
     */
    public function set selectedItems(value:Vector.<Object>):void
    {
        var indices:Vector.<Number>;
        
        if (value)
        {
            indices = new Vector.<Number>();
            
            var count:int = value.length;
            
            for (var i:int = 0; i < count; i++)
            {
                //TODO (dsubrama) What exactly should we do if an 
                //invalid item is in the selectedItems vector? 
                var index:Number = dataProvider.getItemIndex(value[i]);
                if (index != -1)
                { 
