private IEnumerable <Activity> FetchNextPageFromCosmos(CosmosPagingData pagingData, IFixActionReaderLogger readerLogger)
        {
            var activities = FetchNextPageOfActivities(pagingData).Result;

            readerLogger?.IncrementCosmosActivities(pagingData.CurrentPageSize);
            return(activities);
        }
        public IEnumerable <ActivityDiscrepancy> Scan(ActivityDiscrepancyFinderParameters parameters)
        {
            var cosmosPagingData  = new CosmosPagingData(_cosmosRepository, parameters.BatchSize, parameters.MaxInspections);
            var elasticPagingData = new ElasticPagingData(_elasticRepository, parameters.BatchSize, parameters.MaxInspections);

            return(Zipper
                   .Zip(
                       () => FetchNextPageFromCosmos(cosmosPagingData, parameters.ReaderLogger),
                       () => FetchNextPageFromElastic(elasticPagingData, parameters.ReaderLogger))
                   .Where(z => z.IsMissing)
                   .Select(z => new ActivityDiscrepancy(z.Item, z.IsMissingInA ? ActivityDiscrepancyType.NotFoundInCosmos : ActivityDiscrepancyType.NotFoundInElastic)));
        }