public synchronized V[] remove(K key) {
    V[] removed = myKey2Values.remove(key);
    if (removed != null) {
      for (V v : removed) {
        myValue2Keys.remove(v);
      }
    }
    return removed;
  }
public synchronized V[] remove(K key)