code: public void addHttpSessionListener(HttpSessionListener listener, String J2EEName) {
          synchronized (mHttpSessionListeners) {
              mHttpSessionListeners.add(listener);
              mHttpSessionListenersJ2eeNames.add(J2EEName);
              sessionListener = true;
              _coreHttpSessionManager.getIStore().setHttpSessionListener(true);
              // PM03375: Set app listeners
              if (mHttpAppSessionListeners != null)
                  mHttpAppSessionListeners.add(listener);
              // PM03375: Set listener for app session manager 
              if (_coreHttpAppSessionManager != null)
                  _coreHttpAppSessionManager.getIStore().setHttpSessionListener(true);
  
              if (listener instanceof IBMSessionListener) {
                  wasHttpSessionObserver.setDoesContainIBMSessionListener(true);
                  // PM03375: Mark app observer
                  // Begin: PM03375: Use separate observer for app sessions
                  if (wasHttpAppSessionObserver != null) {
                      wasHttpAppSessionObserver.setDoesContainIBMSessionListener(true);
                      LoggingUtil.SESSION_LOGGER_CORE.logp(Level.FINE, methodClassName, methodNames[ADD_HTTP_SESSION_LISTENER], "Marked " +
                                                                                                                                " app IBM session listener for app observer "
                                                                                                                                + mHttpAppSessionListeners);
                  }
                  // End: PM03375
              }
          }
  
      }
docs: Akaimai requested function - overridden in WsSessionContext