public void remove(K key, V value) {
    Set<V> values = keyToValues.get(key);
    Set<K> keys = valueToKeys.get(value);
    if (keys != null && values != null) {
      keys.remove(key);
      values.remove(value);
      if (keys.isEmpty()) {
        valueToKeys.remove(value);
      }
      if (values.isEmpty()) {
        keyToValues.remove(key);
      }
    }
  }
public void remove(K key, V value)