public virtual ISubscriptionProvider <IProjection, IProjectionSchema> Merge(ISubscriptionProvider <IProjection, IProjectionSchema> other)
 {
     if (other is MultiEventSubscriptionProvider multiProvider)
     {
         return(other.Merge(this));
     }
     else
     {
         return(new MultiEventSubscriptionProvider(this, _eventStore, _eventConverter, _schema).Merge(other));
     }
 }
 public ISubscriptionProvider <IProjectionEventStream, IProjectionSchema> Merge(ISubscriptionProvider <IProjectionEventStream, IProjectionSchema> other)
 {
     if (other is ProjectionMultiEventStreamSubscriptionProvider multiProvider)
     {
         return(other.Merge(this));
     }
     else
     {
         return(new ProjectionMultiEventStreamSubscriptionProvider(_eventStore, _eventConverter, _repo, Stream, _schema)
                .Merge(this)
                .Merge(other));
     }
 }