public async Task Handle(TEvent message) { Saga saga = loaders.Select(l => l.Load(message)).Where(l => l.StartedAt > 0).OrderBy(l => l.StartedAt).LastOrDefault(); if (saga == null) { return; } saga.As <IContinueSaga <TEvent> >().When(message); foreach (var command in saga.SentCommands) { await commandBus.SendCommandAsync(command); } }