@Override
    public V remove(Object o) {
        if (o instanceof String) {
            lowerKeyToOriginMap.remove(((String) o).toLowerCase());
            return targetMap.remove(((String) o).toLowerCase());
        }

        return null;
    }
@Test
    void testRemove() {
        Map<String, Object> map = new LowerCaseLinkHashMap<>(lowerCaseLinkHashMap);
        Object value = map.remove("key");
        Assertions.assertEquals("Value", value);
        Assertions.assertFalse(map.containsKey("key"));
        Assertions.assertTrue(map.containsKey("key2"));
    }