      *  Taking into account which modifier keys were clicked, the new
      *  selectedIndices interval is calculated. 
      */
-    private function calculateSelectedIndicesInterval(renderer:IVisualElement, shiftKey:Boolean, ctrlKey:Boolean):Vector.<int>
+    private function calculateSelectedIndicesInterval(index:int, shiftKey:Boolean, ctrlKey:Boolean):Vector.<int>
     {
         var i:int; 
         var interval:Vector.<int> = new Vector.<int>();  
-        var index:Number = dataGroup.getElementIndex(renderer); 
         
         if (!shiftKey)
         {

        }
        else 
        {
            // Multiple selection is handled by the helper method below
            selectedIndices = calculateSelectedIndicesInterval(event.currentTarget as IVisualElement, event.shiftKey, event.ctrlKey); 
        }
        
        // Handle any drag gestures that may have been started
        var renderer:IItemRenderer = event.currentTarget as IItemRenderer;
        if (!renderer || !dragEnabled)
            return;
        
        mouseDownPoint = event.target.localToGlobal(new Point(event.localX, event.localY));
        
        // Find the index of the item we're down on, this is the drag focus item.
        // FIXME (egeorgie): When we start selecting/updating caret on mouse down, reuse the caret item,
        // instead of calculating the index.
        mouseDownIndex = dataGroup.getElementIndex(renderer);
        
        // Listen for MOUSE_MOVE on both the list and the sandboxRoot.
        // The user may have cliked on the item renderer close

     */
    private var mouseDownIndex:int = -1;
    
    /**
     *  @private
     *  When dragging is enabled with multiple selection, the selection is not
     *  comitted immediately on mouse down, but we wait to see whether the user
     *  intended to start a drag gesture instead. In that case we postpone
     *  comitting the selection until mouse up.
     */
    private var pendingSelectionOnMouseUp:Boolean = false;
    private var pendingSelectionShiftKey:Boolean;
    private var pendingSelectionCtrlKey:Boolean;
    
    //--------------------------------------------------------------------------
    //
    //  Skin Parts
