public async Task<List<CommittedEvent>> GetStreamEventsAsync(string streamName) { var resolvedEvents = new List<ResolvedEvent>(); var eventNumber = 0; StreamEventsSlice currentSlice; do { currentSlice = await _connection.ReadStreamEventsForwardAsync(streamName, eventNumber, _readSize, false); resolvedEvents.AddRange(currentSlice.Events); eventNumber += _readSize; } while (!currentSlice.IsEndOfStream); var domainEvents = resolvedEvents .Select(e => _eventConverter.ToEvent(e.OriginalEvent)) .ToList(); return domainEvents; }