### Question:
ImmutableLanguage implements Language { @Override public String subTag() { return this.locale==null?null:this.locale.getCountry(); } 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 wildcardsDoNotHaveSubTag() throws Exception { assertThat(wildcard().subTag(),nullValue()); }
@Test public void simpleLanguagesHaveEmptySubTag() throws Exception { assertThat(simpleLanguage().subTag(),equalTo("")); }
@Test public void compositeLanguagesHasLocaleCountryAsSubTag() throws Exception { assertThat(compositeLanguage().subTag(),equalTo(compositeLocale().getCountry())); }