using System; using System.Collections.Generic; namespace Relay { public static class MultiValueDictionaryExtensions { public static ConcurrentMultiDictionary ToMultiValueDictionary(this IEnumerable collection, Func keySelector, Func valueSelector) { var dictionary = new ConcurrentMultiDictionary(); foreach (var item in collection) { dictionary.Add(keySelector(item), valueSelector(item)); } return dictionary; } } }