code: private void _manageFlashMapTokens(FacesContext facesContext)
      {
          ExternalContext externalContext = facesContext.getExternalContext();
          Map<String, Object> requestMap = externalContext.getRequestMap();
  
          final String previousRenderToken 
                  = _getRenderFlashMapTokenFromPreviousRequest(facesContext);
          if (previousRenderToken != null)
          {
              // "restore" the renderMap from the previous request
              // and put it as the executeMap for this request
              requestMap.put(FLASH_EXECUTE_MAP_TOKEN, previousRenderToken);
          }
          else
          {
              if (facesContext.isPostback())
              {
                  if (facesContext.getExternalContext().getClientWindow() == null)
                  {
                      // on a postback, we should always have a previousToken
                      log.warning("Identifier for execute FlashMap was lost on " +
                              "the postback, thus FlashScope information is gone.");
                  }
                  else
                  {
                      // Next token was not preserved in session, which means flash map
                      // is empty. Create a new token and store it as execute map, which
                      // will be empty.
                      requestMap.put(FLASH_EXECUTE_MAP_TOKEN, _getNextToken());
                  }
              }
              
              // create a new token (and thus a new Map) for this request's 
              // executeMap so that we have an executeMap in any possible case.
              final String newExecuteToken = _getNextToken();
              requestMap.put(FLASH_EXECUTE_MAP_TOKEN, newExecuteToken);
          }
          
          // create a new token (and thus a new Map) for this request's renderMap
          final String newRenderToken = _getNextToken();
          requestMap.put(FLASH_RENDER_MAP_TOKEN, newRenderToken);
          
          // we now have the final render token for this request, thus we can
          // already save it for the next request, because it won't change
          _saveRenderFlashMapTokenForNextRequest(facesContext);
      }
docs: Restores the render FlashMap token from the previous request.
  This is the token of the executeMap for this request.
  Furthermore it also creates a new token for this request's renderMap
  (and thus implicitly a new renderMap).
  @param facesContext