### Question:
Settings { @SuppressWarnings("PMD.NonThreadSafeSingleton") public static Settings getInstance(@NonNull final Context context) { OPFChecks.checkThread(true); if (instance == null) { instance = new Settings(context); } return instance; } private  Settings(@NonNull final Context context); @SuppressWarnings("PMD.NonThreadSafeSingleton") static Settings getInstance(@NonNull final Context context); @NonNull synchronized State getState(); synchronized void saveState(@NonNull final State state); synchronized void clear(); @Nullable synchronized String getLastProviderName(); synchronized void saveLastProvider(@Nullable final PushProvider provider); @Nullable synchronized String getLastAndroidId(); synchronized void saveLastAndroidId(@Nullable final String androidId); synchronized void saveUnregisteringProvider(@NonNull final String providerName); synchronized void removeUnregisteringProvider(@NonNull final String providerName); synchronized boolean isProviderUnregistrationPerforming(@NonNull final String providerName); synchronized void saveRegisteringProvider(@NonNull final String providerName); synchronized void removeRegisteringProvider(@NonNull final String providerName); synchronized boolean isProviderRegistrationPerforming(@NonNull final String providerName); synchronized void savePendingRegistrationProvider(@NonNull final String providerName); synchronized void removePendingRegistrationProvider(); @Nullable synchronized String getPendingRegistrationProvider(); synchronized void savePendingUnregistrationProvider(@NonNull final String providerName); synchronized void removePendingUnregistrationProvider(); @Nullable synchronized String getPendingUnregistrationProvider();  }### Answer:
@Test public void testGetInstance() { eraseSettingsInstance(); settings = Settings.getInstance(RuntimeEnvironment.application.getApplicationContext()); assertEquals(settings, Settings.getInstance(RuntimeEnvironment.application.getApplicationContext())); }