                             return interval; 
                         else 
                         {
-                            interval.push(selectedIndices[0]); 
+                            interval.splice(0, 0, selectedIndices[0]); 
                             return interval; 
                     }
                     }

    
    /**
     *  @private
     *  Returns the index of the first selected item. In single 
     *  selection, this is just selectedIndex. In multiple 
     *  selection, this is the index of the first selected item.  
     */
    private function getFirstSelectedIndex():int
    {
        if (selectedIndices && selectedIndices.length > 0)
            return selectedIndices[0]; 
        else 
            return 0; 
    }
    
    /**
     *  @private
     *  Given a Vector, returns the value of the last item, 
     *  or -1 if there are no items in the Vector; 
     */
    private function getLastItemValue(v:Vector.<int>):int
    {
        if (v && v.length > 0)
            return v[v.length - 1]; 
        else 
            return -1; 
    }

                // Ctrl+click with no previously selected items 
                else
                { 
                    interval.splice(0, 0, index); 
                    return interval; 
            }
            }
            // A single item was newly selected, add that to the selection interval.  
            else 
            { 
                interval.splice(0, 0, index); 
                return interval; 
        }
        }
