public virtual void Add(TKey key, TValue value) { KeyValuePair <TKey, TValue> overwritten; if (_localCache.AddOrOverwrite(key, value, out overwritten)) { _persistantDictionary.Add(overwritten.Key, overwritten.Value); } }