if (!store.getBoolean(PREFERENCE_DO_NOT_WARN_FINISH)) {
if (!store.getBoolean(PREFERENCE_DO_NOT_WARN_FINISH) && proxies.length > 0) {
	public boolean performFinish() {		final IWizardContainer wizard= getContainer();		final RefactoringStatus status= new RefactoringStatus();		final RefactoringDescriptorProxy[] proxies= getRefactoringDescriptors();		final List list= new ArrayList(proxies.length);		for (int index= fCurrentRefactoring; index < proxies.length; index++)			list.add(proxies[index]);		final RefactoringDescriptorProxy[] descriptors= new RefactoringDescriptorProxy[list.size()];		list.toArray(descriptors);		final boolean last= isLastRefactoring();		if (wizard.getCurrentPage() == fPreviewPage && last) {			final Refactoring refactoring= fPreviewPage.getRefactoring();			final Change change= fPreviewPage.getChange();			if (refactoring != null && change != null) {				status.merge(performPreviewChange(change, refactoring));				if (!status.isOK()) {					final RefactoringStatusEntry entry= status.getEntryWithHighestSeverity();					if (entry.getSeverity() == RefactoringStatus.INFO && entry.getCode() == RefactoringHistoryWizard.STATUS_CODE_INTERRUPTED)						return false;					fErrorPage.setStatus(status);					fErrorPage.setNextPageDisabled(true);					fErrorPage.setTitle(RefactoringUIMessages.RefactoringHistoryPreviewPage_apply_error_title);					fErrorPage.setDescription(RefactoringUIMessages.RefactoringHistoryPreviewPage_apply_error);					wizard.showPage(fErrorPage);					return false;				}			}		} else {			final IPreferenceStore store= RefactoringUIPlugin.getDefault().getPreferenceStore();			if (!store.getBoolean(PREFERENCE_DO_NOT_WARN_FINISH)) {				final MessageDialogWithToggle dialog= MessageDialogWithToggle.openWarning(getShell(), wizard.getShell().getText(), RefactoringUIMessages.RefactoringHistoryWizard_warning_finish, RefactoringUIMessages.RefactoringHistoryWizard_do_not_show_message, false, null, null);				store.setValue(PREFERENCE_DO_NOT_WARN_FINISH, dialog.getToggleState());			}			final PerformMultipleRefactoringsOperation operation= new PerformMultipleRefactoringsOperation(new RefactoringHistoryImplementation(descriptors)) {				protected RefactoringStatus aboutToPerformRefactoring(final Refactoring refactoring, final RefactoringDescriptor descriptor, final IProgressMonitor monitor) {					final RefactoringStatus[] result= { new RefactoringStatus()};					Platform.run(new ISafeRunnable() {						public void handleException(final Throwable exception) {							RefactoringUIPlugin.log(exception);						}						public final void run() throws Exception {							result[0]= RefactoringHistoryWizard.this.aboutToPerformRefactoring(refactoring, descriptor, monitor);						}					});					return result[0];				}				protected void refactoringPerformed(final Refactoring refactoring, final IProgressMonitor monitor) {					Platform.run(new ISafeRunnable() {						public void handleException(final Throwable exception) {							RefactoringUIPlugin.log(exception);						}						public final void run() throws Exception {							RefactoringHistoryWizard.this.refactoringPerformed(refactoring, monitor);						}					});				}				public void run(final IProgressMonitor monitor) throws CoreException {					try {						monitor.beginTask(RefactoringUIMessages.RefactoringHistoryWizard_preparing_refactorings, 100);						if (!fAboutToPerformFired) {							try {								status.merge(fireAboutToPerformHistory(new SubProgressMonitor(monitor, 20, SubProgressMonitor.SUPPRESS_SUBTASK_LABEL)));							} finally {								fAboutToPerformFired= true;							}						}						if (!status.isOK())							throw new CoreException(new Status(status.getSeverity(), RefactoringUIPlugin.getPluginId(), 0, null, null));						super.run(new SubProgressMonitor(monitor, 80, SubProgressMonitor.SUPPRESS_SUBTASK_LABEL));					} finally {						monitor.done();					}				}			};			try {				wizard.run(false, false, new WorkbenchRunnableAdapter(operation, ResourcesPlugin.getWorkspace().getRoot()));			} catch (InvocationTargetException exception) {				final Throwable throwable= exception.getTargetException();				if (throwable != null) {					final String message= throwable.getLocalizedMessage();					if (message != null && !"".equals(message)) //$NON-NLS-1$						status.merge(RefactoringStatus.createFatalErrorStatus(message));					fErrorPage.setStatus(status);					fErrorPage.setNextPageDisabled(status.hasFatalError());					fErrorPage.setTitle(RefactoringUIMessages.RefactoringHistoryPreviewPage_apply_error_title);					fErrorPage.setDescription(RefactoringUIMessages.RefactoringHistoryPreviewPage_apply_error);					wizard.showPage(fErrorPage);					return false;				}			} catch (InterruptedException exception) {				// Just close wizard			}		}		return true;	}