public TSagaData FromSagaEntry <TSagaData>(SagaEntry entry)
     where TSagaData : IContainSagaData
 {
     using (var reader = new StringReader(entry.Data))
         using (var jsonReader = readerCreator(reader))
         {
             return(jsonSerializer.Deserialize <TSagaData>(jsonReader));
         }
 }
        static void SetEntry(ContextBag context, Guid sagaId, SagaEntry value)
        {
            Dictionary <Guid, SagaEntry> entries;

            if (context.TryGet(ContextKey, out entries) == false)
            {
                entries = new Dictionary <Guid, SagaEntry>();
                context.Set(ContextKey, entries);
            }
            entries[sagaId] = value;
        }