Let us say we have an abstract class ExternalDomainEvent and three derived classes ExternalDomainEventA, ExternalDomainEventB, ExternalDomainEventC. I also have a method that returns ExternalDomainEvent where ExternalDomainEvent is either instance of ExternalDomainEventA or ExternalDomainEventB or ExternalDomainEventC.
When I add an instance of ExternalDomainEvent to a stream I seem to lose the information of whether ExternalDomainEvent is an instance of ExternalDomainEventA or ExternalDomainEventB or ExternalDomainEventC.
Is it necessary to add the actual type as meta data or can I obtain the original type during catchup?
Thanks.
Christian