public @Nullable Map<String, String> getEnvironment() {
    if (WslIjentManager.getInstance().isIjentAvailable()) {
      return WslIjentUtil.fetchLoginShellEnv(WslIjentManager.getInstance(), this, null, false);
    }
    try {
      ProcessOutput processOutput = WslExecution.executeInShellAndGetCommandOnlyStdout(
        this, new GeneralCommandLine("env"),
        new WSLCommandLineOptions()
          .setExecuteCommandInShell(true)
          .setExecuteCommandInLoginShell(true)
          .setExecuteCommandInInteractiveShell(true),
        DEFAULT_TIMEOUT);
      if (processOutput.getExitCode() == 0) {
        Map<String, String> result = new HashMap<>();
        for (String string : processOutput.getStdoutLines()) {
          int assignIndex = string.indexOf('=');
          if (assignIndex == -1) {
            result.put(string, "");
          }
          else {
            result.put(string.substring(0, assignIndex), string.substring(assignIndex + 1));
          }
        }
        return result;
      }
    }
    catch (ExecutionException e) {
      LOG.warn(e);
    }
    return null;
  }
public @Nullable Map<String, String> getEnvironment()