public void internalDestroy() {
    Connection currentConn = clientToServerConn.get();
    if (currentConn != null) {
      if (!clientToServerConn.compareAndSet(currentConn, null)) {
        // someone else did (or is doing) the internalDestroy so return
        return;
      }
      try {
        currentConn.destroy();
      } catch (Exception e) {
        if (logger.isDebugEnabled()) {
          logger.debug("SubscriptionConnectionImpl - error destroying client to server connection",
              e);
        }
      }
    }

    ClientUpdater currentUpdater = updater;
    if (currentUpdater != null) {
      try {
        currentUpdater.close();
      } catch (Exception e) {
        if (logger.isDebugEnabled()) {
          logger.debug("SubscriptionConnectionImpl - error destroying client updater", e);
        }
      }
    }
    updater = null;
  }
A wrapper that holds a client to server connection and a server to client connection.

The clientToServerConnection should not be used outside of this class.
geode-core/src/main/java/org/apache/geode/cache/client/internal/QueueConnectionImpl.java