// TODO: Clean up exception handling public Object call() throws Exception { try { server.start(); parseInboundMessages(); } catch (IOException e) { throw new BuildException("error receiving report from flexunit", e); } finally { try { server.stop(); } catch (IOException e) { throw new BuildException("could not close client/server socket"); } } // All done, let the process that spawned me know I've returned. return null; }