public void Publish <T>(T message) { var initiatorMessage = _consumingContext.Message; var id = _idStrategy.ConvertFromProvider(_idStrategy.NewId()); var correlationId = initiatorMessage == null ? _idStrategy.ConvertFromProvider(_idStrategy.NewId()) : initiatorMessage.CorrelationId; var entry = new MessageEntry { Body = message, Id = id, SourceId = initiatorMessage?.Id, CorrelationId = correlationId, TopicType = typeof(T) }; _session.Add(entry); }