public IdedClient() { boolean ok = false; try { ProcessBuilder builder = new ProcessBuilder(); Paths paths = new Paths(); builder.environment().put("RUST_HOME", paths.getRustHome().getPath()); builder.command(paths.getIded().getPath()); process = builder.start(); stdoutReader = new Thread(new StdoutReader(process.getInputStream())); stderrReader = new Thread(new StderrReader(process.getErrorStream())); stdoutReader.start(); stderrReader.start(); ok = true; } catch (IOException e) { throw new RuntimeException(e); } finally { if (!ok) { close(); } } }