@Override
    public V merge(String key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction) {
        return Map.super.merge(key.toLowerCase(), value, remappingFunction);
    }
@Test
    void merge() {
        Map<String, Object> map = new LowerCaseLinkHashMap<>(lowerCaseLinkHashMap);
        Object result = map.merge("key", "merge",(oldValue,value)-> oldValue.toString().toUpperCase());
        Assertions.assertEquals("VALUE", result);
        Assertions.assertEquals("VALUE", map.get("key"));

        result = map.merge("key", "merge", (oldValue, value) -> null);
        Assertions.assertNull(result);
        Assertions.assertFalse(map.containsKey("key"));

        result = map.merge("compute", "merge", (oldValue, value) -> oldValue.toString().toUpperCase());
        Assertions.assertEquals("merge", result);
        Assertions.assertEquals("merge", map.get("compute"));
    }