wizard.resolveConflicts(context);
if (result != Window.CANCEL) wizard.resolveConflicts(context);
	protected IStatus aboutToPerformMerge(final IMergeContext context, final IProgressMonitor monitor) {		Assert.isNotNull(context);		Assert.isNotNull(monitor);		try {			monitor.beginTask(RefactoringUIMessages.RefactoringModelMerger_merge_message, 100);			final IDiff[] diffs= getDiffs(context);			final RefactoringHistory history= getRefactoringHistory(diffs, monitor);			if (history != null && !history.isEmpty()) {				boolean execute= true;				final IProject[] projects= getAffectedProjects(history);				if (projects != null) {					final IProject[] dependencies= getDependencies(projects);					if (dependencies.length == 0)						execute= false;				}				if (execute) {					final Shell shell= getDialogShell();					shell.getDisplay().syncExec(new Runnable() {						public final void run() {							if (MessageDialog.openQuestion(shell, RefactoringUIMessages.RefactoringWizard_refactoring, RefactoringUIMessages.AbstractRefactoringModelMerger_accept_question)) {								final RefactoringHistoryMergeWizard wizard= new RefactoringHistoryModelMergeWizard();								try {								wizard.setConfiguration(new RefactoringHistoryModelMergeConfiguration((projects != null && projects.length == 1) ? projects[0] : null));								wizard.setInput(history);								new WizardDialog(shell, wizard).open();								} finally {									wizard.resolveConflicts(context);								}							}						}					});				}			}		} finally {			monitor.done();		}		return new Status(IStatus.OK, RefactoringCore.ID_PLUGIN, 0, "", null); //$NON-NLS-1$	}