@Override
  public V put(@NotNull K key, V value) {
    processQueue();
    MyReference<K, V> reference = createReference(key, value, myQueue);
    MyReference<K,V> oldRef = myMap.put(key, reference);
    return SoftReference.deref(oldRef);
  }
@Override
  public V put(@NotNull K key, V value)