 
     /**
      *  Holds the return object returned by the last view that was popped
-     *  off the navigation stack.  This object is only available when the
-     *  navigator is in the process of switching views in response to a
-     *  pop navigation operation.  
-     * 
-     *  <p>This object is guarenteed to be valid when the a view receives 
+     *  off the navigation stack or replaced by another view.  This object 
+     *  is only available when the navigator is in the process of switching 
+     *  views in response to a pop or replace navigation operation.  
+     * 
+     *  <p>This object is guarenteed to be valid when the new view receives 
      *  the <code>FlexEvent.ADD</code> event, and is destroyed after
      *  the view receives a <code>FlexEvent.VIEW_ACTIVATE</code> event.</p>
      * 

        {
            lastAction = ViewNavigatorAction.PUSH;
            defaultTransition = defaultPushTransition;
            navigationStack.push(factory, data, context);
        }
        else

            viewProxy.persistedData = currentView.serializeData();
        }
        
        // Check if we can delete the reference for the view instance.  If the current
        // view is being replaced or popped of the stack, we know we can delete it.
        // Otherwise a push is happening and we need to check the destructionPolicy
        // of the view.
        if (lastAction == ViewNavigatorAction.POP || 
            lastAction == ViewNavigatorAction.REPLACE_VIEW || 
            currentView.destructionPolicy != ContainerDestructionPolicy.NEVER)
        {
            currentView.navigator = null;
