Bug 29163 SafeRunnable needs to be accessible in JFace
We need to be able to access the SafeRunnable in JFace in order that some error protection can be added to preferences and properties dialogs.
bundles/org.eclipse.ui.workbench/extensions/org/eclipse/jface/wizard/WizardDialog.java
if (w != null) {
		h.put(key, new Boolean(w.isEnabled()));
		w.setEnabled(enabled);
	}
}
/**
 * Captures and returns the enabled/disabled state of the wizard dialog's
 * buttons and the tree of controls for the currently showing page. All
 * these controls are disabled in the process, with the possible excepton of
 * the Cancel button.
 *
 * @param keepCancelEnabled <code>true</code> if the Cancel button should
 *   remain enabled, and <code>false</code> if it should be disabled
 * @return a map containing the saved state suitable for restoring later
 *   with <code>restoreUIState</code>
 * @see #restoreUIState
 */
private Map saveUIState(boolean keepCancelEnabled) {
	Map savedState= new HashMap(10);
	saveEnableStateAndSet(backButton, savedState, "back", false);
	saveEnableStateAndSet(nextButton, savedState, "next", false);
	saveEnableStateAndSet(finishButton, savedState, "finish", false);
	saveEnableStateAndSet(cancelButton, savedState, "cancel", keepCancelEnabled);
	saveEnableStateAndSet(helpButton, savedState, "help", false);
	savedState.put("page", ControlEnableState.disable(currentPage.getControl()));
	return savedState;
}
/**
 * Sets the given cursor for all shells currently active
 * for this window's display.