@Override
  public V put(@NotNull K key, @NotNull V value) {
    KeyReference<K> weakKey = createKeyReference(key);
    V prev = myMap.put(weakKey, value);
    processQueue();
    return prev;
  }
@Override
  public V put(@NotNull K key, @NotNull V value)