OutputCollector<TetherData, NullWritable> collector,
Reporter reporter) throws Exception {
try {
// start server
this.outputService = new TetherOutputService(collector, reporter);
this.outputServer = new SaslSocketServer
(new SpecificResponder(OutputProtocol.class, outputService),
new InetSocketAddress(0));
outputServer.start();
// start sub-process, connecting back to server