docs: public void stop() throws InterruptedException {
  		if (!isStarted.get()) {
  			throw new IllegalStateException("The StreamServer is not started");
  		}
  		stopServer();
  		stopClients();
  		closeSocket();
  		try {
  			waitForServerToTerminate();
  			isStarted.set(false);
  			stopServer();
  		} catch (InterruptedException e) {
  			logger.error("InterruptedException while waiting for termination", e);
  			throw e;
  		}
  	}