code: public Javalin start() {
          Util.logJavalinBanner(this.config.showJavalinBanner);
          JettyUtil.disableJettyLogger();
          long startupTimer = System.currentTimeMillis();
          if (server.getStarted()) {
              throw new IllegalStateException("Cannot call start() again on a started server.");
          }
          server.setStarted(true);
          Util.printHelpfulMessageIfLoggerIsMissing();
          eventManager.fireEvent(JavalinEvent.SERVER_STARTING);
          try {
              log.info("Starting Javalin ...");
              server.start(servlet, wsServlet);
              log.info("Javalin started in " + (System.currentTimeMillis() - startupTimer) + "ms \\o/");
              eventManager.fireEvent(JavalinEvent.SERVER_STARTED);
          } catch (Exception e) {
              log.error("Failed to start Javalin");
              eventManager.fireEvent(JavalinEvent.SERVER_START_FAILED);
              if (Boolean.TRUE.equals(server.server().getAttribute("is-default-server"))) {
                  stop();// stop if server is default server; otherwise, the caller is responsible to stop
              }
              if (e.getMessage() != null && e.getMessage().contains("Failed to bind to")) {
                  throw new RuntimeException("Port already in use. Make sure no other process is using port " + server.getServerPort() + " and try again.", e);
              } else if (e.getMessage() != null && e.getMessage().contains("Permission denied")) {
                  throw new RuntimeException("Port 1-1023 require elevated privileges (process must be started by admin).", e);
              }
              throw new RuntimeException(e);
          }
          return this;
      }
docs: Synchronously starts the application instance.
  
  @return running application instance.
  @see Javalin#create()