@SuppressWarnings("UseOfSystemOutOrSystemErr")
  public static void showError(@Nls(capitalization = Title) String title, @Nls(capitalization = Sentence) String message) {
    System.err.println();
    System.err.println("**" + title + "**");
    System.err.println();
    System.err.println(message);

    if (!hasGraphics || AppMode.isCommandLine() || GraphicsEnvironment.isHeadless() || AppMode.isRemoteDevHost()) {
      return;
    }

    try {
      UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    }
    catch (Throwable ignore) { }

    try {
      SplashManagerKt.hideSplash();
    }
    catch (Throwable ignore) { }

    try {
      var options = new String[]{
        BootstrapBundle.message("bootstrap.error.option.close"),
        BootstrapBundle.message("bootstrap.error.option.reset"),
        BootstrapBundle.message("bootstrap.error.option.report"),
        BootstrapBundle.message("bootstrap.error.option.support")
      };
      var choice = JOptionPane.showOptionDialog(JOptionPane.getRootFrame(), prepareMessage(message), title, JOptionPane.DEFAULT_OPTION, JOptionPane.ERROR_MESSAGE, null, options, options[0]);
      switch (choice) {
        case 1 -> cleanStart();
        case 2 -> reportProblem(title, message);
        case 3 -> supportCenter();
      }
    }
    catch (Throwable t) {
      System.err.println("\n-----");
      System.err.println(BootstrapBundle.message("bootstrap.error.appendix.graphics"));
      t.printStackTrace(System.err);
    }
  }
@SuppressWarnings("UseOfSystemOutOrSystemErr")
  public static void showError(@Nls(capitalization = Title) String title, @Nls(capitalization = Sentence) String message)