public boolean removeKey(K key) {
    Set<V> values = keyToValues.get(key);
    if (values == null) {
      return false;
    }

    for (V v : values) {
      Set<K> keys = valueToKeys.get(v);
      keys.remove(key);
      if (keys.isEmpty()) {
        valueToKeys.remove(v);
      }
    }
    keyToValues.remove(key);
    return true;
  }
public boolean removeKey(K key)