docs: public static final int call(Path cwd, Map<String,String> env, String... args) throws IOException, InterruptedException
      {
          if (args.length == 1)
          {
              args = args[0].split("[ ]+");
          }
          String cmd = Arrays.stream(args).collect(Collectors.joining(" "));
          JavaLogging.getLogger(OSProcess.class).info("call: %s", cmd);
          ProcessBuilder builder = new ProcessBuilder(args);
          if (cwd != null)
          {
              builder.directory(cwd.toFile());
          }
          if (env != null)
          {
              Map<String, String> environment = builder.environment();
              environment.clear();
              environment.putAll(env);
          }
          Process process = builder.start();
          Thread stdout = new Thread(new ProcessLogger(cmd, process.getInputStream(), Level.INFO));
          stdout.start();
          Thread stderr = new Thread(new ProcessLogger(cmd, process.getErrorStream(), Level.WARNING));
          stderr.start();
          return process.waitFor();
      }