CompletableFuture<PooledChannel> acquireLater(SessionProtocol desiredProtocol,
                                                  SerializationFormat serializationFormat,
                                                  PoolKey key,
                                                  ClientConnectionTimingsBuilder timingsBuilder) {
        final ChannelAcquisitionFuture promise = new ChannelAcquisitionFuture();
        if (!usePendingAcquisition(desiredProtocol, serializationFormat, key, promise, timingsBuilder)) {
            connect(desiredProtocol, serializationFormat, key, promise, timingsBuilder);
        }
        return promise;
    }
Acquires a new {@link Channel} which is matched by the specified condition by making a connection
attempt or waiting for the current connection attempt in progress.
core/src/main/java/com/linecorp/armeria/client/HttpChannelPool.java