docs: private void initControlAndPostViewInit() throws Exception {
          Control.initSingletonWithView(getControlOverrides());
  
          final Control control = Control.getSingleton();
          final View view = View.getSingleton();
  
          EventQueue.invokeAndWait(new Runnable() {
  
              @Override
              public void run() {
                  view.postInit();
                  view.getMainFrame().setVisible(true);
  
                  boolean createNewSession = true;
                  if (getArgs().isEnabled(CommandLine.SESSION) && getArgs().isEnabled(CommandLine.NEW_SESSION)) {
                      view.showWarningDialog(
                              Constant.messages.getString(
                                      "start.gui.cmdline.invalid.session.options",
                                      CommandLine.SESSION,
                                      CommandLine.NEW_SESSION,
                                      Constant.getZapHome()));
  
                  } else if (getArgs().isEnabled(CommandLine.SESSION)) {
                      Path sessionPath = SessionUtils.getSessionPath(getArgs().getArgument(CommandLine.SESSION));
                      if (!Files.exists(sessionPath)) {
                          view.showWarningDialog(
                                  Constant.messages.getString("start.gui.cmdline.session.does.not.exist", Constant.getZapHome()));
  
                      } else {
                          createNewSession = !control.getMenuFileControl().openSession(sessionPath.toAbsolutePath().toString());
                      }
  
                  } else if (getArgs().isEnabled(CommandLine.NEW_SESSION)) {
                      Path sessionPath = SessionUtils.getSessionPath(getArgs().getArgument(CommandLine.NEW_SESSION));
                      if (Files.exists(sessionPath)) {
                          view.showWarningDialog(
                                  Constant.messages
                                          .getString("start.gui.cmdline.newsession.already.exist", Constant.getZapHome()));
  
                      } else {
                          createNewSession = !control.getMenuFileControl().newSession(sessionPath.toAbsolutePath().toString());
                      }
                  }
                  view.hideSplashScreen();
  
                  if (createNewSession) {
                      try {
                          control.getMenuFileControl().newSession(false);
                      } catch (Exception e) {
                          logger.error(e.getMessage(), e);
                          View.getSingleton().showWarningDialog(Constant.messages.getString("menu.file.newSession.error"));
                      }
                  }
  
              }
          });
  
          try {
              // Allow extensions to pick up command line args in GUI mode
              control.getExtensionLoader().hookCommandLineListener(getArgs());
              control.runCommandLine();
  
          } catch (final Exception e) {
              logger.error(e.getMessage(), e);
              EventQueue.invokeLater(new Runnable() {
  
                  @Override
                  public void run() {
                      view.showWarningDialog(e.getMessage());
                  }
              });
          }
      }