protected void ApplyChange(Event @event)
 {
   if (_domainValidationException.HasErrors)
     throw _domainValidationException;
   ApplyChange(@event, true);
 }
 private void ApplyChange(Event @event, bool isNew)
 {
   this.AsDynamic().Apply(@event);
   if (isNew) _changes.Add(@event);
 }
 public EventDescriptor(Guid id, Event eventData, int version)
 {
   EventData = eventData;
   Version = version;
   Id = id;
 }