@Override
  public @NotNull ShellStartupOptions configureStartupOptions(@NotNull ShellStartupOptions baseOptions) {
    String workingDir = getWorkingDirectory(baseOptions.getWorkingDirectory());
    Map<String, String> envs = getTerminalEnvironment(baseOptions.getEnvVariables(), workingDir);

    List<String> initialCommand = doGetInitialCommand(baseOptions, envs);
    TerminalWidget widget = baseOptions.getWidget();
    if (widget != null) {
      widget.setShellCommand(initialCommand);
    }

    ShellStartupOptions updatedOptions = baseOptions.builder()
      .shellCommand(initialCommand)
      .workingDirectory(workingDir)
      .envVariables(envs)
      .build();
    if (enableShellIntegration()) {
      updatedOptions = injectShellIntegration(updatedOptions);
    }
    return applyTerminalCustomizers(updatedOptions);
  }
@Override
  public @NotNull ShellStartupOptions configureStartupOptions(@NotNull ShellStartupOptions baseOptions)