Bug 68190 UndoManager and perform change operation must call #dispose on change to be executed if validation fails
3.0 Dispose isn't called if the change object couldn't be executed (isValid didn't return a fatal error).
org.eclipse.ltk.ui.refactoring/src/org/eclipse/ltk/internal/ui/refactoring/UIPerformChangeOperation.java
} finally {
						Platform.getJobManager().transferRule(rule, callerThread);
					}
				}
			};
			Platform.getJobManager().transferRule(rule, fDisplay.getThread());
			fDisplay.syncExec(r);
			if (exception[0] != null) {
				IStatus status= exception[0].getStatus();
				
				
				
				throw new CoreException(new Status(
					IStatus.ERROR, status.getPlugin(), status.getCode(), 
					status.getMessage(), exception[0]));
			}
		} else {
			super.executeChange(pm);
		}
	}
	private Button getCancelButton() {
		if (fWizardContainer instanceof RefactoringWizardDialog2) {
			return ((RefactoringWizardDialog2)fWizardContainer).getCancelButton();
		} else if (fWizardContainer instanceof RefactoringWizardDialog) {
			return ((RefactoringWizardDialog)fWizardContainer).getCancelButton();
		}
		return null;
	}
}