docs: protected synchronized void dropClient(ClientImpl clientToDrop) {
          Client currentClient = this.client.get();
          if (currentClient != null && currentClient == clientToDrop) {
              try {
                  currentClient.close();
                  this.client.set(null);
              }
              catch (Exception x) {
                  // ignore
              }
          }
          this.users = 0;
      }