### Question:
CountryCache { @Nonnull @VisibleForTesting final EChange addCountry (@Nonnull final String sCountry) { ValueEnforcer.notNull (sCountry, "Country"); final String sValidCountry = LocaleHelper.getValidCountryCode (sCountry); ValueEnforcer.isTrue (sValidCountry != null, () -> "illegal country code '" + sCountry + "'"); ValueEnforcer.isTrue (sCountry.equals (sValidCountry), () -> "invalid casing of '" + sCountry + "'"); return m_aRWLock.writeLockedGet ( () -> m_aCountries.addObject (sValidCountry)); } protected  CountryCache(); static boolean isSilentMode(); static boolean setSilentMode(final boolean bSilentMode); static boolean isInstantiated(); @Nonnull static CountryCache getInstance(); @Nullable Locale getCountry(@Nullable final Locale aCountry); @Nullable Locale getCountryExt(@Nullable final Locale aCountry, @Nullable final IMissingLocaleHandler aMissingHandler); @Nullable Locale getCountry(@Nullable final String sCountry); @Nullable Locale getCountryExt(@Nullable final String sCountry, @Nullable final IMissingLocaleHandler aMissingHandler); @Nonnull @ReturnsMutableCopy ICommonsSet <String> getAllCountries(); @Nonnull @ReturnsMutableCopy ICommonsSet <Locale> getAllCountryLocales(); boolean containsCountry(@Nullable final Locale aCountry); boolean containsCountry(@Nullable final String sCountry); final void reinitialize();  }### Answer:
@Test public void testAddCountry () { assertTrue (CountryCache.getInstance ().addCountry ("YX").isChanged ()); assertFalse (CountryCache.getInstance ().addCountry ("YX").isChanged ()); }