@Override
  public boolean replace(@NotNull K key, @NotNull V oldValue, @NotNull V newValue) {
    KeyReference<K, V> oldKeyReference = createKeyReference(key, oldValue);
    ValueReference<K, V> oldValueReference = oldKeyReference.getValueReference();
    KeyReference<K, V> newKeyReference = createKeyReference(key, newValue);
    ValueReference<K, V> newValueReference = newKeyReference.getValueReference();

    boolean replaced = myMap.replace(oldKeyReference, oldValueReference, newValueReference);
    processQueues();
    return replaced;
  }
@Override
  public boolean replace(@NotNull K key, @NotNull V oldValue, @NotNull V newValue)