code: protected void initTimeWarp(CmsUserSettings settings, HttpSession session) {
  
          long timeWarpConf = settings.getTimeWarp();
          Long timeWarpSetLong = (Long)session.getAttribute(CmsContextInfo.ATTRIBUTE_REQUEST_TIME);
          long timeWarpSet = (timeWarpSetLong != null) ? timeWarpSetLong.longValue() : CmsContextInfo.CURRENT_TIME;
  
          if (timeWarpConf == CmsContextInfo.CURRENT_TIME) {
              // delete:
              if (timeWarpSetLong != null) {
                  // we may come from direct_edit.jsp: don't remove attribute, this is
                  session.removeAttribute(CmsContextInfo.ATTRIBUTE_REQUEST_TIME);
              }
          } else {
              // this is dominant: if configured we will use it
              if (timeWarpSet != timeWarpConf) {
                  session.setAttribute(CmsContextInfo.ATTRIBUTE_REQUEST_TIME, new Long(timeWarpConf));
              }
          }
      }
docs: Sets the users time warp if configured and if the current timewarp setting is different or
  clears the current time warp setting if the user has no configured timewarp.<p>
  
  Timwarping is controlled by the session attribute
  {@link CmsContextInfo#ATTRIBUTE_REQUEST_TIME} with a value of type <code>Long</code>.<p>
  
  @param settings the user settings which are configured via the preferences dialog
  
  @param session the session of the user