Memento.Mementor.RollbackEvent C# (CSharp) Method

RollbackEvent() private method

private RollbackEvent ( BaseEvent @event, bool undoing ) : void
@event BaseEvent
undoing bool
return void
        private void RollbackEvent(BaseEvent @event, bool undoing)
        {
            ExecuteNoTrack(() => {
                var reverse = @event.Rollback();
                if (reverse == null) return;
                if (reverse is BatchEvent)
                {
                    if (!(@event is BatchEvent))
                        throw new InvalidOperationException("Must not return BatchEvent in Rollback()");
                    reverse = ProcessBatch((BatchEvent) reverse);
                    if (reverse == null) return;
                }
                (undoing ? _redoStack : _undoStack).Push(reverse);
            });
        }