Bug 36141 Misbehaving property page causes property dialog to fail to open
bundles/org.eclipse.jface/src/org/eclipse/jface/preference/PreferenceDialog.java
case IDialogConstants.CANCEL_ID :
				{
					cancelPressed();
					return;
				}
			case IDialogConstants.HELP_ID :
				{
					helpPressed();
					return;
				}
		}
	}
	/* (non-Javadoc)
	 * Method declared on Dialog.
	 */
	protected void cancelPressed() {
		
		Iterator nodes =
			preferenceManager
				.getElements(PreferenceManager.PRE_ORDER)
				.iterator();
		while (nodes.hasNext()) {
			final IPreferenceNode node = (IPreferenceNode) nodes.next();
			if (node.getPage() != null) {
				Platform.run(new SafeRunnable() {
					public void run() {
						if (!node.getPage().performCancel())
							return;
					}
				});