public boolean removeValue(V value) {
    Set<K> keys = valueToKeys.get(value);
    if (keys == null) {
      return false;
    }

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