public void close() { Logger.normal(this, "Closing.", new Exception("error")); synchronized (this) { _active = false; _sock.close(); if (!_started) return; while (!_isDone) { try { wait(2000); } catch (InterruptedException e) { e.printStackTrace(); } } } tracker.storeData(node.bootID, node.runDir(), listenPort); }