### Question:
LimboPersistence implements SettingsDependent { @Override public void reload(Settings settings) { LimboPersistenceType persistenceType = settings.getProperty(LimboSettings.LIMBO_PERSISTENCE_TYPE); if (handler != null && handler.getType() != persistenceType) { ConsoleLogger.info("Limbo persistence type has changed! Note that the data is not converted."); } handler = handlerFactory.newInstance(persistenceType.getImplementationClass()); } @Inject  LimboPersistence(Settings settings, Factory<LimboPersistenceHandler> handlerFactory); LimboPlayer getLimboPlayer(Player player); void saveLimboPlayer(Player player, LimboPlayer limbo); void removeLimboPlayer(Player player); @Override void reload(Settings settings);  }### Answer:
@Test public void shouldReloadProperly() { given(settings.getProperty(LimboSettings.LIMBO_PERSISTENCE_TYPE)) .willReturn(LimboPersistenceType.INDIVIDUAL_FILES); limboPersistence.reload(settings); assertThat(getHandler(), instanceOf(LimboPersistenceType.INDIVIDUAL_FILES.getImplementationClass())); }