/// <summary>
        /// Gets a statedump of the current list of events.
        /// </summary>
        /// <returns></returns>
        public OrchestrationRuntimeStateDump GetOrchestrationRuntimeStateDump()
        {
#if DEBUG
            var runtimeStateDump = new OrchestrationRuntimeStateDump
            {
                Events    = new List <HistoryEvent>(),
                NewEvents = new List <HistoryEvent>(),
            };

            foreach (HistoryEvent evt in Events)
            {
                HistoryEvent abridgeEvent = GenerateAbridgedEvent(evt);
                runtimeStateDump.Events.Add(abridgeEvent);
            }

            foreach (HistoryEvent evt in NewEvents)
            {
                HistoryEvent abridgeEvent = GenerateAbridgedEvent(evt);
                runtimeStateDump.NewEvents.Add(abridgeEvent);
            }

            return(runtimeStateDump);
#else
            return(new OrchestrationRuntimeStateDump
            {
                EventCount = Events.Count,
                NewEventsCount = NewEvents.Count,
                Events = new List <HistoryEvent>(),
                NewEvents = new List <HistoryEvent>(),
            });
#endif
        }
        /// <summary>
        /// Gets a statedump of the current list of events
        /// </summary>
        /// <returns></returns>
        public OrchestrationRuntimeStateDump GetOrchestrationRuntimeStateDump()
        {
            var runtimeStateDump = new OrchestrationRuntimeStateDump
            {
                Events    = new List <HistoryEvent>(),
                NewEvents = new List <HistoryEvent>(),
            };

            foreach (HistoryEvent evt in Events)
            {
                HistoryEvent abridgeEvent = GenerateAbridgedEvent(evt);
                runtimeStateDump.Events.Add(abridgeEvent);
            }

            foreach (HistoryEvent evt in NewEvents)
            {
                HistoryEvent abridgeEvent = GenerateAbridgedEvent(evt);
                runtimeStateDump.NewEvents.Add(abridgeEvent);
            }

            return(runtimeStateDump);
        }