code: public Http2ClientChannel borrowChannel(Http2SourceHandler http2SrcHandler, HttpRoute httpRoute) {
          EventLoopPool eventLoopPool;
          String key = generateKey(httpRoute);
          EventLoopPool.PerRouteConnectionPool perRouteConnectionPool;
  
          if (http2SrcHandler != null) {
              eventLoopPool = getOrCreateEventLoopPool(http2SrcHandler.getChannelHandlerContext().channel().eventLoop());
              perRouteConnectionPool = getOrCreatePerRoutePool(eventLoopPool, key);
  
          } else {
              if (eventLoops.isEmpty()) {
                  return null;
              }
              eventLoopPool = getOrCreateEventLoopPool(eventLoops.peek());
              perRouteConnectionPool = getOrCreatePerRoutePool(eventLoopPool, key);
          }
  
          Http2ClientChannel http2ClientChannel = null;
          if (perRouteConnectionPool != null) {
              http2ClientChannel = perRouteConnectionPool.fetchTargetChannel();
          }
          return http2ClientChannel;
      }
docs: Borrow an HTTP/2 client channel.
  
  @param http2SrcHandler Relevant http/2 source handler where the source connection belongs to
  @param httpRoute       the http route
  @return Http2ClientChannel