CaseInsensitiveConcurrentHashMap { public V remove(final String key) { return this.map.remove(key.toLowerCase()); }  V put(final String key, final V value); V get(final String key); boolean containsKey(final String key); V remove(final String key); List<String> getKeys();  }
@Test public void testRemove() { this.map.put(LOWER_KEY, VALUE_1); this.map.remove(UPPER_KEY); assertThat(this.map.containsKey(LOWER_KEY)).isFalse(); this.map.put(UPPER_KEY, VALUE_2); this.map.remove(LOWER_KEY); assertThat(this.map.containsKey(UPPER_KEY)).isFalse(); assertThat(this.map.remove(WRONG_KEY)).isNull(); }