public static async Task <List <EventInfo> > GetOnDemandEventsAsync(
     this IEventInfoRetrievalService service,
     EventInfoFilter filter              = null,
     EventInfoRetrievalOptions options   = null,
     CancellationToken cancellationToken = default)
 {
     return((await PageReader <EventInfo> .ReadAllAsync((offset, limit, token) =>
                                                        service.ListEventsAsync(new EventListRequest(offset, limit)
     {
         Filter = EventInfoFilter.OnDemandEvents(filter),
         Order = EventRetrievalOrder.Title
     }, options, token), cancellationToken))
            .ToList());
 }