public static void handleExecutionError(@NotNull Project project,
                                          @NotNull String toolWindowId,
                                          @NotNull String taskName,
                                          @NotNull Throwable e) {
    if (e instanceof RunCanceledByUserException) {
      return;
    }

    LOG.debug(e);
    if (e instanceof CantRunException.CustomProcessedCantRunException) {
      return;
    }

    String description = e.getMessage();
    HyperlinkListener listener = null;
    if (isProcessNotCreated(e)) {
      String exePath = ((ProcessNotCreatedException)e).getCommandLine().getExePath();
      if ((SystemInfoRt.isWindows ? exePath.endsWith("java.exe") : exePath.endsWith("java")) &&
          !PropertiesComponent.getInstance(project).isTrueValue(PROPERTY_DYNAMIC_CLASSPATH)) {
        LOG.warn("Java configuration should implement `ConfigurationWithCommandLineShortener` and provide UI to configure shortening method", e);
        description = ExecutionBundle.message("dialog.message.command.line.too.long.notification");
        listener = event -> PropertiesComponent.getInstance(project).setValue(PROPERTY_DYNAMIC_CLASSPATH, "true");
      }
    }

    handleExecutionError(project, toolWindowId, taskName, e, description, listener);
  }
public static void handleExecutionError(@NotNull Project project,
                                          @NotNull String toolWindowId,
                                          @NotNull String taskName,
                                          @NotNull Throwable e)