protected void releaseHandlers(PooledConnection conn) {
        ChannelPipeline pipeline = conn.getChannel().pipeline();
        removeHandlerFromPipeline(OriginResponseReceiver.CHANNEL_HANDLER_NAME, pipeline);
        // The Outbound handler is always after the inbound handler, so look for it.
        ChannelHandlerContext passportStateHttpClientHandlerCtx =
                pipeline.context(PassportStateHttpClientHandler.OutboundHandler.class);
        pipeline.addAfter(
                passportStateHttpClientHandlerCtx.name(),
                IDLE_STATE_HANDLER_NAME,
                new IdleStateHandler(0, 0, connPoolConfig.getIdleTimeout(), TimeUnit.MILLISECONDS));
    }
Gracefully shuts down a DefaultClientChannelManager by allowing in-flight requests to finish before closing the connections.
Idle connections in the connection pools are closed, and any connections associated with an in-flight request
will be closed upon trying to return the connection to the pool
zuul-core/src/main/java/com/netflix/zuul/netty/connectionpool/DefaultClientChannelManager.java