undo.initializeValidationData(new SubProgressMonitor(monitor, 1));
undo.initializeValidationData(new NotCancelableProgressMonitor(new SubProgressMonitor(monitor, 1)));
	private void performUndo(final Change undo) {		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {			public void run(IProgressMonitor monitor) throws CoreException {				monitor.beginTask("", 11); //$NON-NLS-1$				undo.initializeValidationData(new SubProgressMonitor(monitor, 1));				if (undo.isValid(new SubProgressMonitor(monitor,1)).hasFatalError()) {					monitor.done();					return;				}				undo.perform(new SubProgressMonitor(monitor, 9));			}		};		WorkbenchRunnableAdapter adapter= new WorkbenchRunnableAdapter(runnable,			ResourcesPlugin.getWorkspace().getRoot());		ProgressMonitorDialog dialog= new ProgressMonitorDialog(fParent);		try {			dialog.run(false, false, adapter);		} catch (InvocationTargetException e) {			ExceptionHandler.handle(e, fParent, 				RefactoringUIMessages.getString("ChangeExceptionHandler.rollback.title"),  //$NON-NLS-1$				RefactoringUIMessages.getString("ChangeExceptionHandler.rollback.message") + fName); //$NON-NLS-1$		} catch (InterruptedException e) {			// can't happen		}	}