docs: public HttpSession sessionPreInvoke(HttpServletRequest req, HttpServletResponse res)
    {
      if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled() && LoggingUtil.SESSION_LOGGER_CORE.isLoggable(Level.FINE))
      {
        LoggingUtil.SESSION_LOGGER_CORE.entering(methodClassName, methodNames[SESSION_PRE_INVOKE]);
      }
  
      // getSessionAffinityContext(req); // this call will create sac if necessary
  
      // PK01801 Due to componentization changed in webcontainer for v7, must make
      // this
      // check and call setRunningCollaborators(true) here for
      // sessionPreInvoke..to prevent
      // possible UnauthorizedSessionRequestException from being generated by
      // collaborator.
      if (_smc.getIntegrateSecurity() && req instanceof IExtendedRequest)
      {
        ((IExtendedRequest) req).setRunningCollaborators(true); // PK01801
      }
  
      HttpSession sess = null;
  
      try { //start SCWI 106607 (PM86470) - add try/catch block
          sess = getIHttpSession(req, res, false, _smc.getOnlyCheckInCacheDuringPreInvoke()); // false
          // ->
          // don't
          // create
          if (_smc.getIntegrateSecurity() && req instanceof IExtendedRequest)
          {
              ((IExtendedRequest) req).setRunningCollaborators(false); // PK01801 set
              // back to false
          }
  
          // lock session if serialization feature enabled
          if (_smc.getAllowSerializedSessionAccess())
          {
              lockSession(req, sess);
          }
  
      } catch (IllegalStateException e) {
          if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled()&&LoggingUtil.SESSION_LOGGER_CORE.isLoggable(Level.FINE)) {
              LoggingUtil.SESSION_LOGGER_CORE.logp(Level.FINE, methodClassName, methodNames[SESSION_PRE_INVOKE], "IllegalStateException occurred getting the session during preinvoke possibly due to a timing window.  Continuing with the request", e);
          }
      } // end SCWI 106607 (PM86470)
      
      if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled() && LoggingUtil.SESSION_LOGGER_CORE.isLoggable(Level.FINE))
      {
        LoggingUtil.SESSION_LOGGER_CORE.exiting(methodClassName, methodNames[SESSION_PRE_INVOKE]);
      }
      return sess;
    }