code: public NettyChannelBuilder channelType(Class<? extends Channel> channelType) {
      checkNotNull(channelType, "channelType");
      return channelFactory(new ReflectiveChannelFactory<>(channelType));
    }
docs: Specifies the channel type to use, by default we use {@code EpollSocketChannel} if available,
  otherwise using {@link NioSocketChannel}.
  
  <p>You either use this or {@link #channelFactory(io.netty.channel.ChannelFactory)} if your
  {@link Channel} implementation has no no-args constructor.
  
  <p>It's an optional parameter. If the user has not provided an Channel type or ChannelFactory
  when the channel is built, the builder will use the default one which is static.
  
  <p>You must also provide corresponding {@link #eventLoopGroup(EventLoopGroup)}. For example,
  {@link NioSocketChannel} must use {@link io.netty.channel.nio.NioEventLoopGroup}, otherwise
  your application won't start.