public ProcessController(final ProtocolServer.Configuration configuration, final PrintStream stdout, final PrintStream stderr) throws IOException {
this.stdout = stdout;
this.stderr = stderr;
//noinspection ThisEscapedInObjectConstruction
configuration.setConnectionHandler(new ProcessControllerServerHandler(this));
final ProtocolServer server = new ProtocolServer(configuration);
server.start();
this.server = server;
}