public void Add(TKey key, TValue value) { if (_capacity > 0 && _cacheItems.Keys.Count == _capacity) { var purgeKey = _evictionPolicy.EvictItem(); Remove(purgeKey); } _cacheItems.TryAdd(key, value); _evictionPolicy.OnItemAdded(key, value); }