void (String value) { RegistryValueListener globalValueChangeListener = myRegistry.getValueChangeListener(); globalValueChangeListener.beforeValueChanged(this); for (RegistryValueListener each : myListeners) { each.beforeValueChanged(this); } resetCache(); myRegistry.getUserProperties().put(myKey, value); LOG.info("Registry value '" + myKey + "' has changed to '" + value + '\''); globalValueChangeListener.afterValueChanged(this); for (RegistryValueListener each : myListeners) { each.afterValueChanged(this); } if (!isChangedFromDefault() && !isRestartRequired()) { myRegistry.getUserProperties().remove(myKey); } myChangedSinceStart = true; }