public VirtualizedCluster(VirtualCluster cluster, IConnectionPool pool, TestableDateTimeProvider dateTimeProvider, ConnectionSettings settings)
        {
            this._dateTimeProvider     = dateTimeProvider;
            this._fixedRequestPipeline = new FixedPipelineFactory(settings, this._dateTimeProvider);
            this._client = this._fixedRequestPipeline.Client;

            this._cluster        = cluster;
            this._connectionPool = pool;
        }
		public VirtualizedCluster(VirtualCluster cluster, IConnectionPool pool, TestableDateTimeProvider dateTimeProvider, ConnectionSettings settings)
		{
			this._dateTimeProvider = dateTimeProvider;
			this._settings = settings;
			this._fixedRequestPipeline = new FixedPipelineFactory(settings, this._dateTimeProvider);

			this._cluster = cluster;
			this._connectionPool = pool;
		}
		public VirtualizedCluster(TestableDateTimeProvider dateTimeProvider, ConnectionSettings settings)
		{
			this._dateTimeProvider = dateTimeProvider;
			this._settings = settings;
			this._fixedRequestPipeline = new FixedPipelineFactory(settings, this._dateTimeProvider);

			this._syncCall = (c, r) => c.Search<Project>(s => s.RequestConfiguration(r));
			this._asyncCall = async (c, r) =>
			{
				var res = await c.SearchAsync<Project>(s => s.RequestConfiguration(r));
				return (IResponse)res;
			};
		}
        public VirtualizedCluster(TestableDateTimeProvider dateTimeProvider, ConnectionSettings settings)
        {
            _dateTimeProvider     = dateTimeProvider;
            _settings             = settings;
            _fixedRequestPipeline = new FixedPipelineFactory(settings, _dateTimeProvider);

            _syncCall  = (c, r) => c.Search <Project>(s => s.RequestConfiguration(r));
            _asyncCall = async(c, r) =>
            {
                var res = await c.SearchAsync <Project>(s => s.RequestConfiguration(r));

                return((IResponse)res);
            };
        }
        public VirtualizedCluster(VirtualCluster cluster, IConnectionPool pool, TestableDateTimeProvider dateTimeProvider, ConnectionSettings settings)
        {
            this._dateTimeProvider     = dateTimeProvider;
            this._settings             = settings;
            this._fixedRequestPipeline = new FixedPipelineFactory(settings, this._dateTimeProvider);

            this._cluster        = cluster;
            this._connectionPool = pool;

            this._syncCall  = (c, r) => c.Search <Project>(s => s.RequestConfiguration(r));
            this._asyncCall = async(c, r) =>
            {
                var res = await c.SearchAsync <Project>(s => s.RequestConfiguration(r));

                return((IResponse)res);
            };
        }