public V computeIfAbsent(CharSequence key, Supplier<V> valueSupplier) {
    return computeIfAbsent(key, ignored -> valueSupplier.get());
  }
@Test
  public void testComputeIfAbsent() {
    CharSequenceMap<String> map = CharSequenceMap.create();

    String result1 = map.computeIfAbsent("key1", key -> "computedValue1");
    assertThat(result1).isEqualTo("computedValue1");
    assertThat(map).containsEntry("key1", "computedValue1");

    // verify existing key is not affected
    String result2 = map.computeIfAbsent("key1", key -> "newValue");
    assertThat(result2).isEqualTo("computedValue1");
    assertThat(map).containsEntry("key1", "computedValue1");
  }