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
public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InvocationTargetException, InterruptedException {
	
	
	Object state = null;
	if(activeRunningOperations == 0)
		state = aboutToStart(fork && cancelable);
	
	activeRunningOperations++;
	try {
		ModalContext.run(runnable, fork, getProgressMonitor(), getShell().getDisplay());
	} finally {
		activeRunningOperations--;
		
		if(state!= null)
			stopped(state);
	}
}
/**
 * Saves the enabled/disabled state of the given control in the
 * given map, which must be modifiable.
 *
 * @param w the control, or <code>null</code> if none
 * @param h the map (key type: <code>String</code>, element type:
 *   <code>Boolean</code>)
 * @param key the key
 * @param enabled <code>true</code> to enable the control, 
 *   and <code>false</code> to disable it
 * @see #restoreEnableStateAndSet
 */
private void saveEnableStateAndSet(Control w, Map h, String key, boolean enabled) {