@Override
  public void close(String reason) {

    if (isClosed.compareAndSet(false, true)) {
      for (BackendConnection node : target.values()) {
        node.close("client closed ");
      }
      clearHandlesResources();
    }
  }
 /** {@link ServerConnection#isClosed()} must be true before invoking this */
 public void terminate() {
   for (BackendConnection node : target.values()) {
     node.close("client closed ");
   }
   clearHandlesResources();
 }