private async Task <IList <IDateRangeBlockContext> > GetDateRangeBlocksAsync(ITaskExecutionContext taskExecutionContext)
        {
            using (var cs = taskExecutionContext.CreateCriticalSection())
            {
                if (await cs.TryStartAsync())
                {
                    var startDate = await GetDateRangeStartDateAsync(taskExecutionContext);

                    var endDate = DateTime.Now;

                    return(await taskExecutionContext.GetDateRangeBlocksAsync(x => x.WithRange(startDate, endDate, TimeSpan.FromMinutes(30))));
                }
                throw new Exception("Could not acquire a critical section, aborted task");
            }
        }