public IDictionary Provide(IEnumerable list) { var res = new Hashtable(); foreach (object o in list) { var key = KeyProvider.Provide(o); var value = ValueProvider.Provide(o); if (key != null) { res[key] = value; } } return(res); }