@Override
  public V remove(Object key) {
    return execute(key, this::removeKey, null /* default value */);
  }
@Test
  public void testRemove() {
    PartitionMap<String> map = PartitionMap.create(SPECS);

    map.put(BY_DATA_SPEC.specId(), Row.of("aaa"), "v1");
    map.put(BY_DATA_SPEC.specId(), Row.of("bbb"), "v2");

    map.removeKey(BY_DATA_SPEC.specId(), Row.of("aaa"));

    assertThat(map).doesNotContainKey(Pair.of(BY_DATA_SPEC.specId(), Row.of("aaa")));
    assertThat(map.get(BY_DATA_SPEC.specId(), Row.of("aaa"))).isNull();
    assertThat(map).containsKey(Pair.of(BY_DATA_SPEC.specId(), Row.of("bbb")));
    assertThat(map.get(BY_DATA_SPEC.specId(), Row.of("bbb"))).isEqualTo("v2");
  }