         
         if (savedStacks)
         {
+            var navigator:ViewNavigatorBase;
             var len:Number = Math.min(savedStacks.length, length);
-            for (var i:int = 0; i < len; ++i)
-                navigators[i].loadViewData(savedStacks[i]);
+            
+            for (var i:int = 0; i < len; i++)
+            {
+                navigator = getElementAt(i) as ViewNavigatorBase;                
+                navigator.loadViewData(savedStacks[i]);
+            }
         }
     }
     

            
            // If the data provider has changed, the navigator elements have
            // already been removed, so the following code doesn't need to run
            if (!selectedIndexAdjusted && !dataProviderChanged && _selectedIndex >= 0)
            {
                navigator = navigators[_selectedIndex];
                navigator.setActive(false, !maintainNavigationStack);
                navigator.visible = false;
                navigator.includeInLayout = false;

    {
        if (!indexCanChange(event.newIndex))
            event.preventDefault();
    }
    
    /**
     *  @private
     */ 
    private function elementRemoveHandler(event:ElementExistenceEvent):void
    {
        cleanUpNavigator(event.element as ViewNavigatorBase);
        internalDispatchEvent(CollectionEventKind.REMOVE, event.element, event.index);
        
        // Element removed event is called before the element is removed from the
        // display list.  So if the last navigator is about to be removed, numElements
        // should be 1
        if (numElements == 1)
            selectedIndex = -1;
    }
    
    /**
     *  @private
     */ 
    private function elementAddHandler(event:ElementExistenceEvent):void
    {
        setupNavigator(event.element as ViewNavigatorBase);
        internalDispatchEvent(CollectionEventKind.ADD, event.element, event.index);
        
        // If the added element is the first view navigator, update the selection
        // to point to it
        if (numElements == 1)
            selectedIndex = 0;
    }
    
    /**
