static Dictionary <string, object> PrepareHeaders( ISagaEx saga, Action <IDictionary <string, object> > updateHeaders) { var headers = new Dictionary <string, object>(); headers[SagaTypeHeader] = saga.GetType().FullName; if (updateHeaders != null) { updateHeaders(headers); } int i = 0; foreach (object command in saga.GetUndispatchedMessages()) { headers[UndispatchedMessageHeader + i++] = command; } return(headers); }