code: public void start()
          throws Exception
      {
          _unavailable=0;
          super.start();
          
          if (!javax.servlet.Servlet.class
              .isAssignableFrom(_class))
          {
              Exception ex = new IllegalStateException("Servlet "+_class+
                                              " is not a javax.servlet.Servlet");
              super.stop();
              throw ex;
          }        
  
          _config=new Config();
          if (_runAs!=null)
              _realm=_httpHandler.getHttpContext().getRealm();
  
          if (javax.servlet.SingleThreadModel.class
              .isAssignableFrom(_class))
              _servlets=new Stack();
  
          if (_initOnStartup)
          {
              _servlet=(Servlet)newInstance();
              try
              {
                  initServlet(_servlet,_config);
              }
              catch(Throwable e)
              {
                  _servlet=null;
                  _config=null;
                  if (e instanceof Exception)
                      throw (Exception) e;
                  else if (e instanceof Error)
                      throw (Error)e;
                  else
                      throw new ServletException(e);
              }            
          }  
      }
docs: /* ------------------------------------------------------------