Bug 289599 [Preferences] PreferenceStore.setToDefault fires redundant PropertyChangeEvents
bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferenceStore.java
if (finalListeners.length > 0
				&& (oldValue == null || !oldValue.equals(newValue))) {
			final PropertyChangeEvent pe = new PropertyChangeEvent(this, name,
					oldValue, newValue);
			for (int i = 0; i < finalListeners.length; ++i) {
				final IPropertyChangeListener l = (IPropertyChangeListener) finalListeners[i];
				SafeRunnable.run(new SafeRunnable(JFaceResources
						.getString("PreferenceStore.changeError")) { 
							public void run() {
								l.propertyChange(pe);
							}
						});
			}
		}
	}
	/*
	 * (non-Javadoc) Method declared on IPreferenceStore.
	 */
	public boolean getBoolean(String name) {
		return getBoolean(properties, name);
	}
	/**
	 * Helper function: gets boolean for a given name.
	 * 
	 * @param p
	 * @param name
	 * @return boolean
	 */
	private boolean getBoolean(Properties p, String name) {