code: public void internalInvalidate(boolean timeoutOccurred) {
          if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled() && LoggingUtil.SESSION_LOGGER_CORE.isLoggable(Level.FINE)) {
              LoggingUtil.SESSION_LOGGER_CORE.entering(methodClassName, methodNames[INTERNAL_INVALIDATE], appNameAndIdString);
          }
          //if it's not valid, just return
          if (_isValid) {
              //sets the Thread's context (classLoader) so that we can handle app specific listeners
              try {
                  _store.setThreadContext();
                  // PM11279: Call callInvalidateFromInternalInvalidate, which is overridden in MTMSesion
                  callInvalidateFromInternalInvalidate();
                  if (timeoutOccurred) {
                      _storeCallback.sessionInvalidatedByTimeout(this);
                  }
              } finally {
                  _store.unsetThreadContext();
              }
          }
          if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled() && LoggingUtil.SESSION_LOGGER_CORE.isLoggable(Level.FINE)) {
              LoggingUtil.SESSION_LOGGER_CORE.exiting(methodClassName, methodNames[INTERNAL_INVALIDATE]);
          }
      }
docs: /*
  To invalidate the session internally by sessionmanager