public Task<IEnumerable<Subscriber>> GetSubscriberAddressesForMessage(IEnumerable<MessageType> messageTypes, ContextBag context)
{
var result = new HashSet<Subscriber>();
foreach (var m in messageTypes)
{
ConcurrentDictionary<string, Subscriber> list;
if (storage.TryGetValue(m, out list))
{
result.UnionWith(list.Values);
}
}
return Task.FromResult((IEnumerable<Subscriber>) result);
}