code: public void sessionPostInvoke(HttpSession sess) {
          if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled() && LoggingUtil.SESSION_LOGGER_CORE.isLoggable(Level.FINE)) {
              LoggingUtil.SESSION_LOGGER_CORE.entering(methodClassName, methodNames[SESSION_POST_INVOKE]);
          }
          SessionData s = (SessionData) sess;
  
          if (_smc.getAllowSerializedSessionAccess()) {
              unlockSession(sess);
          }
          if (s != null) {
              synchronized (s) {
                  SessionAffinityContext sac = null;
                  _coreHttpSessionManager.releaseSession(s.getISession(), sac);
                  if (_coreHttpAppSessionManager != null) {
                      // try and get the Application Session in memory ... if it is there,
                      // make sure you update the backend via releaseSession
                      ISession iSess = (ISession) _coreHttpAppSessionManager.getIStore().getFromMemory(s.getId());
                      if (iSess != null) {
                          // iSess.decrementRefCount();
                          _coreHttpAppSessionManager.releaseSession(iSess, sac);
                      }
                  }
              }
          }
  
          if (_smc.isDebugSessionCrossover()) {
              currentThreadSacHashtable.set(null);
          }
  
          if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled() && LoggingUtil.SESSION_LOGGER_CORE.isLoggable(Level.FINE)) {
              LoggingUtil.SESSION_LOGGER_CORE.exiting(methodClassName, methodNames[SESSION_POST_INVOKE]);
          }
      }
docs: /*
  Called by webcontainer to do session cleanup, once per webapp per request.
  If multiple apps are involved due to forwards/includes, multiple
  sessionPostInvoke
  calls are all made at then end of the request. We do NOT call
  sessionPostInvoke
  immediately when a dispatch ends. Therefore, some of this processing - such
  as
  calling unlockSession or setting the crossover threadlocal to null - may be
  done
  multiple times. This is ok.