code: public synchronized void addEventListener(EventListener listener)
          throws IllegalArgumentException
      {
          if ((listener instanceof HttpSessionActivationListener)
              || (listener instanceof HttpSessionAttributeListener)
              || (listener instanceof HttpSessionBindingListener)
              || (listener instanceof HttpSessionListener))
          {
              if (_sessionManager != null)
                  _sessionManager.addEventListener(listener);
              _sessionListeners= LazyList.add(_sessionListeners, listener);
          }
  
          if (listener instanceof ServletRequestListener)
          {
              _requestListeners= LazyList.add(_requestListeners, listener);
          }
  
          if (listener instanceof ServletRequestAttributeListener)
          {
               _requestAttributeListeners= LazyList.add(_requestAttributeListeners, listener);
          }
  
          if (listener instanceof ServletContextAttributeListener)
          {            
              _contextAttributeListeners= LazyList.add(_contextAttributeListeners, listener);
          }
          
          super.addEventListener(listener);
      }
docs: /* ------------------------------------------------------------