code: public void init(ServletConfig config) throws ServletException {
          super.init(config);
          mServletConfig = config;
          
          config.getServletContext().log("Initializing TeaServlet...");
          
          String ver = System.getProperty("java.version");
          if (ver.startsWith("0.") || ver.startsWith("1.2") ||
              ver.startsWith("1.3")) {
              config.getServletContext()
                  .log("The TeaServlet requires Java 1.4 or higher to run properly");
          }
  
          mServletContext = setServletContext(config);
          mServletName = setServletName(config);
          
          mProperties = new PropertyMap();
          mSubstitutions = SubstitutionFactory.getDefaults();
          mResourceFactory = 
              new TeaServletResourceFactory(config.getServletContext(), 
                                            mSubstitutions);
          
          Enumeration<?> e = config.getInitParameterNames();
          while (e.hasMoreElements()) {
              String key = (String) e.nextElement();
              String value = 
                  SubstitutionFactory.substitute(config.getInitParameter(key));
              
              if (key.equals("debug")) {
                  mDebugEnabled = Boolean.parseBoolean(value);
                  continue;
              }
  
              mProperties.put(key, value);
          }
  
          loadDefaults();
          discoverProperties();
          createListeners();
          createLog(mServletContext);
          mLog.applyProperties(mProperties.subMap("log"));
          createMemoryLog(mLog);
          
          mInstrumentationEnabled = 
              mProperties.getBoolean("instrumentation.enabled", true);
          
          Initializer initializer = new Initializer();
          if (mProperties.getBoolean("startup.background", false)) {
              mInitializer = 
                  Executors.newSingleThreadExecutor().submit(initializer);
          }
          else {
              initializer.call();
          }
      }
docs: Initializes the TeaServlet. Creates the logger and loads the user's
  application.
  @param config  the servlet config