@Override
    public Promise<PooledConnection> acquire(
            EventLoop eventLoop, CurrentPassport passport, AtomicReference<? super InetAddress> selectedHostAddr) {

        if (draining) {
            throw new IllegalStateException("Attempt to acquire connection while draining");
        }

        requestConnCounter.increment();
        updateServerStatsOnAcquire();

        Promise<PooledConnection> promise = eventLoop.newPromise();

        // Try getting a connection from the pool.
        PooledConnection conn = tryGettingFromConnectionPool(eventLoop);
        if (conn != null) {
            // There was a pooled connection available, so use this one.
            reusePooledConnection(passport, selectedHostAddr, conn, promise);
        } else {
            // connection pool empty, create new connection using client connection factory.
            tryMakingNewConnection(eventLoop, promise, passport, selectedHostAddr);
        }

        return promise;
    }
function to run when a connection is acquired before returning it to caller.
zuul-core/src/main/java/com/netflix/zuul/netty/connectionpool/PerServerConnectionPool.java