internal ZooKeeperClient(EnsembleProvider ensembleProvider, TimeSpan sessionTimeout, RetryStrategy retryStrategy, string nameSpace, bool canBeReadonly, ILog log) : this( CuratorFrameworkFactory .builder() .ensembleProvider(ensembleProvider) .sessionTimeoutMs((int)sessionTimeout.TotalMilliseconds) .connectionTimeoutMs(retryStrategy.ToCuratorConnectionTimeout()) .retryPolicy(retryStrategy.ToCuratorRetryPolicy()) .@namespace(string.IsNullOrWhiteSpace(nameSpace) ? null : nameSpace.TrimStart('/')) .canBeReadOnly(canBeReadonly) .build(), log, new ConnectionStringRandomizer(ensembleProvider)) { }