                 break;
             }
 
-            default: return super.getNavigationDestinationIndex(currentIndex, navigationUnit);
+            default: return super.getNavigationDestinationIndex(currentIndex, navigationUnit, arrowKeysWrapFocus);
         }
         return Math.max(0, Math.min(maxIndex, newIndex));  
     }

    /**
     *  @private 
     */  
     override public function getNavigationDestinationIndex(currentIndex:int, navigationUnit:uint):int
     {
        if (!target || target.numElements < 1)
            return -1; 
            
        // Special case when nothing was previously selected
        if (currentIndex == -1)
        {
            if (navigationUnit == NavigationUnit.LEFT)
                return -1;

            if (navigationUnit == NavigationUnit.RIGHT)
                return 0;    
        }    

        // Make sure currentIndex is within range
        var maxIndex:int = target.numElements - 1;
        currentIndex = Math.max(0, Math.min(maxIndex, currentIndex));

        var newIndex:int; 

        {
            case NavigationUnit.LEFT:
            {
               if (arrowKeysWrapFocus && currentIndex == 0)
                   newIndex = maxIndex;
               else
                   newIndex = currentIndex - 1;  
               break;
            } 

            case NavigationUnit.RIGHT: 
            {
               if (arrowKeysWrapFocus && currentIndex == maxIndex)
                   newIndex = 0;
               else
                   newIndex = currentIndex + 1;  
               break;
            }
             
