@Override public synchronized void start() throws IOException { // don't allow thread to be "started twice" if (thd.stopped) { thd.stopped = false; thd.start(); } }