      *  @private
      *  Returns true if v is null or an empty Vector.
      */
-    private function isEmpty(v:Vector.<Number>):Boolean
+    private function isEmpty(v:Vector.<int>):Boolean
     {
         return v == null || v.length == 0;
     }

            {
                //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)
                { 
                    indices[i] = index;  
                }
                if (index == -1)
                {
                    indices = new Vector.<Number>();
                    break;  
                }
            }

        if (allowMultipleSelection && event.shiftKey && selectedIndices)
        {
            var startIndex:Number = getFirstSelectedIndex(); 
            var newInterval:Vector.<int> = new Vector.<int>();  
            var i:int; 
            if (startIndex <= proposedNewIndex)
            {
