code: public static ManagedChannel newClientChannel(Transport transport, SocketAddress address,
          boolean tls, boolean testca, @Nullable String authorityOverride,
          int flowControlWindow, boolean directExecutor) {
      ManagedChannelBuilder<?> builder;
      if (transport == Transport.OK_HTTP) {
        builder = newOkHttpClientChannel(address, tls, testca);
      } else {
        try {
          builder = newNettyClientChannel(transport, address, tls, testca, flowControlWindow);
        } catch (Exception e) {
          throw new RuntimeException(e);
        }
      }
      if (authorityOverride != null) {
        builder.overrideAuthority(authorityOverride);
      }
  
      if (directExecutor) {
        builder.directExecutor();
      } else {
        // TODO(carl-mastrangelo): This should not be necessary.  I don't know where this should be
        // put.  Move it somewhere else, or remove it if no longer necessary.
        // See: https://github.com/grpc/grpc-java/issues/2119
        builder.executor(getExecutor());
      }
  
      return builder.build();
    }
docs: Create a {@link ManagedChannel} for the given parameters.