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/operation/AccumulatingProgressMonitor.java
* Creates a collector object to accumulate work and subtask calls.
 */
private void createCollector(String subTask, double work) {
	collector = new Collector(subTask, work, getWrappedProgressMonitor());
	display.asyncExec(collector);
}
/* (non-Javadoc)
 * Method declared on IProgressMonitor.
 */
public void done() {
	synchronized(this) {
		collector= null;
	}	
	display.syncExec(new Runnable() {
		public void run() {
			getWrappedProgressMonitor().done();
		}
	});
}
/* (non-Javadoc)
 * Method declared on IProgressMonitor.
 */
public synchronized void internalWorked(final double work) {
	if (collector == null) {
		createCollector(null, work);
	} else {
		collector.worked(work);
	}
}
/* (non-Javadoc)