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/dialogs/ProgressMonitorDialog.java
* <pre>
 * try {
 *    IRunnableWithProgress op = ...;
 *    new ProgressMonitorDialog(activeShell).run(true, true, op);
 * } catch (InvocationTargetException e) {
 *    // handle exception
 * } catch (InterruptedException e) {
 *    // handle cancelation
 * }
 * </pre>
 * </p>
 * <p>
 * Note that the ProgressMonitorDialog is not intended to be used
 * with multiple runnables - this dialog should be discarded
 * after completion of one IRunnableWithProgress and a new one instantiated
 * for use by a second or sebsequent IRunnableWithProgress to ensure
 * proper initialization.
 * </p> 
 * <p>
 * Note that not forking the process will result in it running
 * in the UI which may starve the UI. The most obvious symptom
 * of this problem is non responsiveness of the cancel button.
 * If you are running within the UI Thread you should do the bulk
 * of your work in another Thread to prevent starvation.
 * It is recommended that fork is set to true in most cases.
 * </p>
 */
public class ProgressMonitorDialog extends IconAndMessageDialog implements IRunnableContext {
	/**
	 * Name to use for task when normal task name is empty string.