void (final boolean newUseDefault, final String newConfigurationDirectory) { final String defaultPath = USER_CONFIGURATION_PATH.getValue().toString(); final String oldEffectivePath = isUseDefaultConfiguration() ? defaultPath : getConfigurationDirectory(); final String newEffectivePath = newUseDefault ? defaultPath : newConfigurationDirectory; boolean directoryChanged = !Objects.equals(getConfigurationDirectory(), newConfigurationDirectory); if (directoryChanged) { myState.directory.path = newConfigurationDirectory; } boolean usageChanged = isUseDefaultConfiguration() != newUseDefault; if (usageChanged) { setUseDefaultConfiguration(newUseDefault); } if (directoryChanged || usageChanged) { if (!Objects.equals(oldEffectivePath, newEffectivePath)) { clear(); } } }