### Question:
ImmutableLanguage implements Language { @Override public Locale locale() { return this.locale; } ImmutableLanguage(Locale locale); @Override boolean isWildcard(); @Override String primaryTag(); @Override String subTag(); @Override Locale locale(); @Override String toHeader(); @Override int hashCode(); @Override boolean equals(Object obj); @Override String toString();  }### Answer:
@Test public void wildcardsDoNotHaveLocale() throws Exception { assertThat(wildcard().locale(),nullValue()); }
@Test public void simpleLanguagesHaveLocale() throws Exception { assertThat(simpleLanguage().locale(),equalTo(simpleLocale())); }
@Test public void compositeLanguagesHaveLocale() throws Exception { assertThat(compositeLanguage().locale(),equalTo(compositeLocale())); }