Bug 49182 What should canceling setRawClasspath do ?
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/viewsupport/GoToBackProgressMonitorDialog.java
/**
 * Creates a progress monitor dialog under the given shell.
 * The dialog has a standard title and no image. 
 * <code>open</code> is non-blocking.
 *
 * @param parent the parent shell, or <code>null</code> to create a top-level shell
 */
public GoToBackProgressMonitorDialog(Shell parent) {
	super(parent);
	setShellStyle(SWT.BORDER | SWT.TITLE | SWT.APPLICATION_MODAL); 
	setBlockOnOpen(false);
}
/**
 * Enables the cancel button (asynchronously).
 */
private void asyncSetOperationCancelButtonEnabled(final boolean b) {
	if (getShell() != null) {
		getShell().getDisplay().asyncExec(new Runnable() {
			public void run() {
				setOperationCancelButtonEnabled(b);
			}
		});
	}
}
/* (non-Javadoc)
 * @see org.eclipse.jface.dialogs.Dialog#buttonPressed(int)
 */
protected void buttonPressed(int buttonId) {
	if (buttonId == IDialogConstants.BACK_ID) {
		progressMonitor.setInBackground(true);