### Question:
LanguageCache { @Nullable public Locale getLanguage (@Nullable final Locale aLanguage) { return aLanguage == null ? null : getLanguage (aLanguage.getLanguage ()); } private  LanguageCache(); static boolean isSilentMode(); static boolean setSilentMode(final boolean bSilentMode); static boolean isInstantiated(); @Nonnull static LanguageCache getInstance(); @Nullable Locale getLanguage(@Nullable final Locale aLanguage); @Nullable Locale getLanguageExt(@Nullable final Locale aLanguage, @Nullable final IMissingLocaleHandler aMissingHandler); @Nullable Locale getLanguage(@Nullable final String sLanguage); @Nullable Locale getLanguageExt(@Nullable final String sLanguage, @Nullable final IMissingLocaleHandler aMissingHandler); @Nonnull @ReturnsMutableCopy ICommonsSet <String> getAllLanguages(); @Nonnull @ReturnsMutableCopy ICommonsSet <Locale> getAllLanguageLocales(); boolean containsLanguage(@Nullable final Locale aLanguage); boolean containsLanguage(@Nullable final String sLanguage); void reinitialize();  }### Answer:
@Test public void testGetLanguage () { assertNull (LanguageCache.getInstance ().getLanguage ("")); assertNull (LanguageCache.getInstance ().getLanguage ((String) null)); assertNull (LanguageCache.getInstance ().getLanguage ((Locale) null)); assertNull (LanguageCache.getInstance ().getLanguage ("A")); assertNotNull (LanguageCache.getInstance ().getLanguage ("DE")); assertNotNull (LanguageCache.getInstance ().getLanguage ("de")); assertNull (LanguageCache.getInstance ().getLanguage ("ABCDEFGHI")); assertNull (LanguageCache.getInstance ().getLanguage ("1")); assertNull (LanguageCache.getInstance ().getLanguage ("12")); assertNull (LanguageCache.getInstance ().getLanguageExt ("zz", (k, l, c, v) -> null)); assertNotNull (LanguageCache.getInstance ().getLanguage ("zz")); assertNull (LanguageCache.getInstance ().getLanguage ("1234")); assertNotNull (LanguageCache.getInstance ().getLanguage ("AT")); assertNotNull (LanguageCache.getInstance ().getLanguage ("at")); assertNotNull (LanguageCache.getInstance ().getLanguage ("pl")); assertEquals (LanguageCache.getInstance ().getLanguage ("de"), LanguageCache.getInstance ().getLanguage (new Locale ("de", "ch"))); assertEquals (LocaleCache.getInstance ().getLocale ("de", "", ""), LanguageCache.getInstance ().getLanguage ("de_")); assertEquals (LocaleCache.getInstance ().getLocale ("de", "", ""), LanguageCache.getInstance ().getLanguage ("de_AT")); assertEquals (LanguageCache.getInstance ().getLanguage ("de"), LanguageCache.getInstance ().getLanguage (LanguageCache.getInstance ().getLanguage ("de").toString ())); for (final String sLocale : LanguageCache.getInstance ().getAllLanguages ()) assertTrue (LanguageCache.getInstance ().containsLanguage (sLocale)); assertFalse (LanguageCache.getInstance ().containsLanguage ((String) null)); assertFalse (LanguageCache.getInstance ().containsLanguage ((Locale) null)); assertTrue (LanguageCache.getInstance ().containsLanguage (LocaleHelper.LOCALE_ALL)); assertTrue (LanguageCache.getInstance ().containsLanguage (LocaleHelper.LOCALE_INDEPENDENT)); }