@Test public void lowerPut_keyRetainsCase() { map.put(lower, value1); assertThat(map.keySet().iterator().next()).isEqualTo(lower); }
@Override public V put(String key, V value) { V removed = remove(key); lc.put(key.toLowerCase(), key); super.put(key, value); return removed; }
CaseInsensitiveMap extends MapDecorator<String, V> { @Override public V put(String key, V value) { V removed = remove(key); lc.put(key.toLowerCase(), key); super.put(key, value); return removed; } }
CaseInsensitiveMap extends MapDecorator<String, V> { @Override public V put(String key, V value) { V removed = remove(key); lc.put(key.toLowerCase(), key); super.put(key, value); return removed; } CaseInsensitiveMap();  CaseInsensitiveMap(Map<String, V> map); }
CaseInsensitiveMap extends MapDecorator<String, V> { @Override public V put(String key, V value) { V removed = remove(key); lc.put(key.toLowerCase(), key); super.put(key, value); return removed; } CaseInsensitiveMap();  CaseInsensitiveMap(Map<String, V> map); void sync(); @Override void clear(); @Override boolean containsKey(Object key); @Override V put(String key, V value); @Override void putAll(Map<? extends String, ? extends V> m); @Override V get(Object key); @Override V remove(Object key); }
CaseInsensitiveMap extends MapDecorator<String, V> { @Override public V put(String key, V value) { V removed = remove(key); lc.put(key.toLowerCase(), key); super.put(key, value); return removed; } CaseInsensitiveMap();  CaseInsensitiveMap(Map<String, V> map); void sync(); @Override void clear(); @Override boolean containsKey(Object key); @Override V put(String key, V value); @Override void putAll(Map<? extends String, ? extends V> m); @Override V get(Object key); @Override V remove(Object key);  }