public virtual async Task <ChangesResponse <TIncludedDoc> > GetAsync <TIncludedDoc>(GetChangesRequest request)
        {
            var httpRequest = HttpRequestFactory.Create(request);

            using (var httpResponse = await SendAsync(httpRequest, HttpCompletionOption.ResponseHeadersRead).ForAwait())
            {
                return(await ChangesResponseFactory.CreateAsync <TIncludedDoc>(httpResponse).ForAwait());
            }
        }
        public Changes(IDbConnection connection, ISerializer serializer)
            : base(connection)
        {
            Ensure.Any.IsNotNull(serializer, nameof(serializer));

            HttpRequestFactory                = new GetChangesHttpRequestFactory();
            ContinuousHttpRequestFactory      = new GetContinuousChangesHttpRequestFactory();
            ChangesResponseFactory            = new ChangesResponseFactory(serializer);
            ContinuousChangesResponseFactory  = new ContinuousChangesResponseFactory(serializer);
            ObservableWorkTaskFactoryResolver = () => Task.Factory;
        }