### Question:
CaseInsensitiveMap extends ForwardingMap<String, V> { protected Locale locale() { return this.locale; } private  CaseInsensitiveMap(final LinkedHashMap<String,V> delegate, final Map<String,String> caseInsensitiveKeys, final Locale locale);   CaseInsensitiveMap();   CaseInsensitiveMap(final int initialCapacity);   CaseInsensitiveMap(final Locale locale);   CaseInsensitiveMap(final int initialCapacity, final Locale locale); @Override V put(final String key, final V value); @Override void putAll(final Map<? extends String, ? extends V> map); @Override boolean containsKey(final Object key); @Override V get(final Object key); @Override V remove(final Object key); @Override void clear(); @Override int hashCode(); @Override boolean equals(final Object other);  }### Answer:
@Test public void usesDefaultLocaleByDefault() { final CaseInsensitiveMap<String> sut=new CaseInsensitiveMap<String>(); assertThat(sut.locale(),equalTo(Locale.getDefault())); }
@Test public void localeCanBeCustomized() { Locale custom = customLocale(); final CaseInsensitiveMap<String> sut=new CaseInsensitiveMap<String>(custom); assertThat(sut.locale(),equalTo(custom)); }