code: protected synchronized void doStop()
          throws InterruptedException
      {
          for (int l=0;l<_listeners.size();l++)
          {
              HttpListener listener =(HttpListener)_listeners.get(l); 
              if (listener.isStarted())
              {
                  try{listener.stop();}
                  catch(Exception e)
                  {
                      if (log.isDebugEnabled())
                          log.warn(LogSupport.EXCEPTION,e);
                      else
                          log.warn(e.toString());
                  }
              }
          }
          
          HttpContext[] contexts = getContexts();
          for (int i=0;i<contexts.length;i++)
          {
              HttpContext context=contexts[i];
              context.stop(_gracefulStop);
          }
  
          if (_notFoundContext!=null)
          {
              _notFoundContext.stop();
              removeComponent(_notFoundContext);
          }
          _notFoundContext=null;
          
          if (_requestLog!=null && _requestLog.isStarted())
              _requestLog.stop();
      }
docs: Stop all listeners then all contexts.
  Equivalent to stop(false);
  @exception InterruptedException If interrupted, stop may not have
  been called on everything.