private void CallSubscriptionHandlers(object sender, EventArgs e, IEnumerable<KeyValuePair<ISubscription, EventTopicFireDelegate>> handlers, IPublication publication)
{
foreach (var handler in handlers)
{
ISubscription subscription = handler.Key;
EventTopicFireDelegate handlerMethod = handler.Value;
if (this.CheckMatchers(publication, subscription, e))
{
handlerMethod(this, sender, e, publication);
}
else
{
this.extensionHost.ForEach(extension => extension.SkippedEvent(
this,
publication,
subscription,
sender,
e));
}
}
}