code: private void doStart() throws LifecycleException {
          tomcat.getServer().addLifecycleListener(new TomcatLifecycleListener());
          logger.info("Deploying application to [" + getConfig().getDeployUrl() + "]");
          tomcat.start();
  
          // Let's set the port that was used to actually start the application if necessary
          if (getConfig().getPort() == EmbedVaadinConfig.DEFAULT_PORT) {
              getConfig().setPort(getTomcat().getConnector().getLocalPort());
          }
  
          logger.info("Application has been deployed to [" + getConfig().getDeployUrl() + "]");
          if (config.shouldOpenBrowser()) {
              BrowserUtils.openBrowser(getConfig().getOpenBrowserUrl());
          }
          if (isWaiting()) {
              tomcat.getServer().await();
          }
      }
docs: Fires the embedded tomcat that is assumed to be fully configured.
  
  @throws LifecycleException if tomcat failed to start