} else {
	public IWizardPage getNextPage(final IWizardPage page) {		if (page == fOverviewPage) {			fCurrentRefactoring= 0;			return getRefactoringPage();		} else if (page == fPreviewPage) {			fCurrentRefactoring++;			return getRefactoringPage();		} else if (page == fErrorPage) {			final RefactoringStatus status= fErrorPage.getStatus();			final IWizardContainer wizard= getContainer();			if (status.hasFatalError()) {				final IPreferenceStore store= RefactoringUIPlugin.getDefault().getPreferenceStore();				String message= null;				String key= null;				if (!RefactoringUIMessages.RefactoringHistoryPreviewPage_apply_error_title.equals(fErrorPage.getTitle())) {					message= NLS.bind(RefactoringUIMessages.RefactoringHistoryWizard_fatal_error_message, fErrorPage.getTitle());					key= PREFERENCE_DO_NOT_SHOW_SKIP;				} else {					message= RefactoringUIMessages.RefactoringHistoryWizard_error_applying_changes;					key= PREFERENCE_DO_NOT_SHOW_APPLY_ERROR;				}				if (!store.getBoolean(key)) {					final MessageDialogWithToggle dialog= MessageDialogWithToggle.openWarning(getShell(), wizard.getShell().getText(), message, RefactoringUIMessages.RefactoringHistoryWizard_do_not_show_message, false, null, null);					store.setValue(key, dialog.getToggleState());				}				fCurrentRefactoring++;				return getRefactoringPage();			}			final Refactoring refactoring= fErrorPage.getRefactoring();			if (refactoring != null) {				final IRunnableWithProgress runnable= new IRunnableWithProgress() {					public void run(final IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {						Assert.isNotNull(monitor);						try {							fPreviewPage.setRefactoring(refactoring);							final Change change= createChange(refactoring, monitor);							getShell().getDisplay().syncExec(new Runnable() {								public final void run() {									fPreviewPage.setChange(change);								}							});						} catch (CoreException exception) {							throw new InvocationTargetException(exception);						} catch (OperationCanceledException exception) {							throw new InterruptedException(exception.getLocalizedMessage());						} finally {							monitor.done();						}					}				};				try {					wizard.run(true, false, runnable);				} catch (InvocationTargetException exception) {					final Throwable throwable= exception.getTargetException();					if (throwable != null) {						fErrorPage.setStatus(RefactoringStatus.createFatalErrorStatus(throwable.getLocalizedMessage()));						return fErrorPage;					}				} catch (InterruptedException exception) {					return fErrorPage;				}			} else {				fPreviewPage.setRefactoring(null);				fPreviewPage.setChange(null);			}			final RefactoringDescriptorProxy descriptor= getCurrentDescriptor();			if (descriptor != null)				fPreviewPage.setTitle(descriptor);			else				fPreviewPage.setTitle(RefactoringUIMessages.PreviewWizardPage_changes);			fPreviewPage.setStatus(status);			fPreviewPage.setNextPageDisabled(isLastRefactoring());			return fPreviewPage;		} else {//			final RefactoringDescriptorProxy[] proxies= getRefactoringDescriptors();//			if (proxies == null || proxies.length == 0) {//				fErrorPage.setStatus(RefactoringStatus.createFatalErrorStatus(RefactoringUIMessages.RefactoringHistoryWizard_no_refactorings_message));//				fErrorPage.setNextPageDisabled(true);//				fErrorPage.setTitle(RefactoringUIMessages.ChangeExceptionHandler_refactoring);//				fErrorPage.setDescription(RefactoringUIMessages.RefactoringHistoryWizard_no_refactorings_error);//				return fErrorPage;//			}		}		return super.getNextPage(page);	}