code: public void savePreviousPageInfo( ActionForward forward, ActionForm form, ActionMapping mapping,
                                        HttpServletRequest request, ServletContext servletContext,
                                        boolean isSpecialForward )
      {
          if ( forward != null )
          {
              //
              // If previous-page is disabled (unused in this pageflow), or if we've already saved prevous-page info in
              // this request (for example, forward to foo.faces which forwards to foo.jsp), just return.
              //
              if ( request.getAttribute( SAVED_PREVIOUS_PAGE_INFO_ATTR ) != null || isPreviousPageInfoDisabled() ) return;
  
              String path = forward.getPath();
              int queryPos = path.indexOf( '?' );
              if ( queryPos != -1 ) path = path.substring( 0, queryPos );
  
              //
              // If a form bean was generated in this request, add it to the most recent PreviousPageInfo, so when we
              // go back to that page, the *updated* field values are restored (i.e., we don't revert to the values of
              // the form that was passed into the page originally).
              //
              if ( form != null && _currentPageInfo != null )
              {
                  ActionForm oldForm = _currentPageInfo.getForm();
                  if ( oldForm == null || oldForm.getClass().equals( form.getClass() ) )
                  {
                      _currentPageInfo.setForm( form );
                      _currentPageInfo.setMapping( mapping );
                  }
              }
  
              //
              // Only keep track of *pages* forwarded to -- not actions or pageflows.
              //
              if ( ! FileUtils.osSensitiveEndsWith( path, ACTION_EXTENSION ) )
              {
                  //
                  // Only save previous-page info if the page is within this pageflow.
                  //
                  if ( isLocalFile( forward ) ) // || PageFlowUtils.osSensitiveEndsWith( path, JPF_EXTENSION ) )
                  {
                      _previousPageInfo = _currentPageInfo;
                      _currentPageInfo = new PreviousPageInfo( forward, form, mapping, request.getQueryString() );
                      request.setAttribute( SAVED_PREVIOUS_PAGE_INFO_ATTR, Boolean.TRUE );
                  }
              }
          }
      }
docs: Store information about recent pages displayed.  This is a framework-invoked method that should not normally be
  called directly.