public void Publish <T>(T message, int?constraintId) where T : class { var subscribers = ListSubscribers(message) .Where(s => !constraintId.HasValue || subscriptionStore.HasConstraint(s, constraintId.Value)); Publish(subscribers, message); }