public boolean put(K key, V value) {
    Set<K> keys = valueToKeys.get(value);
    if (keys == null) {
      keys = createKeysSet();
      valueToKeys.put(value, keys);
    }
    keys.add(key);

    Set<V> values = keyToValues.get(key);
    if (values == null) {
      values = createValuesSet();
      keyToValues.put(key, values);
    }
    return values.add(value);
  }
public boolean put(K key, V value)