docs: @Override
      public void init(ServletConfig config) throws ServletException {
          World world;
          String str;
  
          try {
              world = World.create();
              configure(world, "http");
              configure(world, "https");
              str = config.getInitParameter("docroot");
              docroot = Application.file(world, str != null ? str : config.getServletContext().getRealPath(""));
              docroot.checkDirectory();
              LOG.info("home: " + world.getHome());
              application = Application.load(world, config, docroot);
              LOG.info("docroot: " + docroot);
          } catch (RuntimeException | Error e) {
              error(null, "init", e);
              throw e;
          } catch (Exception e) {
              error(null, "init", e);
              throw new ServletException(e);
          } catch (Throwable e) {
              error(null, "init", e);
              throw new RuntimeException("unexpected throwable", e);
          }
      }