public override V Put(K key, V value) { PruneDeadReferences(); WeakValueHashMap.WeakValue <V> valueRef = new WeakValueHashMap.WeakValue <V>(this, key, value, referenceQueue); return(GetReferenceValue(references.Put(key, valueRef))); }
private V GetReferenceValue(WeakValueHashMap.WeakValue <V> valueRef) { return(valueRef == null ? null : valueRef.Get()); }