Bug 289599 [Preferences] PreferenceStore.setToDefault fires redundant PropertyChangeEvents
bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferenceStore.java
}
	/**
	 * Returns an enumeration of all preferences known to this store which have
	 * current values other than their default value.
	 * 
	 * @return an array of preference names
	 */
	public String[] preferenceNames() {
		ArrayList list = new ArrayList();
		Enumeration it = properties.propertyNames();
		while (it.hasMoreElements()) {
			list.add(it.nextElement());
		}
		return (String[]) list.toArray(new String[list.size()]);
	}
	/*
	 * (non-Javadoc) Method declared on IPreferenceStore.
	 */
	public void putValue(String name, String value) {
		String oldValue = getString(name);
		if (oldValue == null || !oldValue.equals(value)) {
			setValue(properties, name, value);
			dirty = true;
		}
	}
	/*
	 * (non-Javadoc) Method declared on IPreferenceStore.
	 */
	public void removePropertyChangeListener(IPropertyChangeListener listener) {
		removeListenerObject(listener);