code: @Override
      public void doPrePhaseActions(FacesContext facesContext)
      {
          if (!_flashScopeDisabled)
          {
              final PhaseId currentPhaseId = facesContext.getCurrentPhaseId();
          
              if (PhaseId.RESTORE_VIEW.equals(currentPhaseId))
              {
                  // restore the redirect value
                  // note that the result of this method is used in many places, 
                  // thus it has to be the first thing to do
                  _restoreRedirectValue(facesContext);
              
                  // restore the FlashMap token from the previous request
                  // and create a new token for this request
                  _manageFlashMapTokens(facesContext);
              
                  // try to restore any saved messages
                  _restoreMessages(facesContext);
              }
          }
      }
docs: Used to restore the redirect value and the FacesMessages of the previous
  request and to manage the flashMap tokens for this request before phase
  restore view starts.