@Override
 public synchronized void shutdown() {
   if (acceptorThread != null) {
     acceptorThread.shutdown();
   }
   closeServerSocket();
   stop();
   connectionListeners.clear();
 }