public Task Store(OutboxMessage message, OutboxTransaction transaction, ContextBag context) { var tx = (InMemoryOutboxTransaction) transaction; tx.Enlist(() => { if (!storage.TryAdd(message.MessageId, new StoredMessage(message.MessageId, message.TransportOperations))) { throw new Exception($"Outbox message with id '{message.MessageId}' is already present in storage."); } }); return TaskEx.CompletedTask; }