/// <summary>
        /// Initializes a new <see cref="ClientOptions"/> with a host provider
        /// created for the specified hosts.
        /// </summary>
        /// <param name="hosts">The hosts to connect to.</param>
        public ClientOptions(IEnumerable <Uri> hosts)
        {
            switch (hosts?.Count() ?? throw new ArgumentNullException(nameof(hosts)))
            {
            case 0:
                break;

            case 1:
                HostProvider = new SingleHostProvider(hosts.Single());
                break;

            default:
                HostProvider = new HostPoolProvider(hosts);
                break;
            }
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="ClientOptions"/> class.
 /// </summary>
 /// <param name="host">The host.</param>
 public ClientOptions(Uri host)
 {
     HostProvider = new SingleHostProvider(host);
 }