public object Remove(string key) { if (cache != null) return cache.Get(key); if (dictionary.ContainsKey(key)) { object result = dictionary[key]; dictionary.Remove(key); return result; } return null; }