getContainer().run(false, true, new GenerateDiffFileOperation(resource, file, false, optionsPage.isRecursive(), getShell()));
getContainer().run(true, true, new GenerateDiffFileOperation(resource, file, false, optionsPage.isRecursive(), getShell()));
	public boolean performFinish() {		String fs = mainPage.getFilesystemFile();		IFile ws = mainPage.getWorkspaceFile();		int type = mainPage.getSaveType();		try {			if(type != mainPage.CLIPBOARD) {				File file = new File(fs!=null ? fs : ws.getLocation().toOSString());				if (file.exists()) {					// prompt then delete					String title = Policy.bind("GenerateSVNDiff.overwriteTitle"); //$NON-NLS-1$					String msg = Policy.bind("GenerateSVNDiff.overwriteMsg"); //$NON-NLS-1$					final MessageDialog dialog = new MessageDialog(getShell(), title, null, msg, MessageDialog.QUESTION, new String[] { IDialogConstants.YES_LABEL, IDialogConstants.CANCEL_LABEL }, 0);					dialog.open();						if (dialog.getReturnCode() != 0) {						// cancel						return false;					}				}				getContainer().run(false, true, new GenerateDiffFileOperation(resource, file, false, optionsPage.isRecursive(), getShell()));				if(type==mainPage.WORKSPACE) {					ws.getParent().refreshLocal(IResource.DEPTH_ONE, null);				}			} else {				getContainer().run(false, true, new GenerateDiffFileOperation(resource, null, true, optionsPage.isRecursive(), getShell()));			}			return true;		} catch (InterruptedException e1) {			return true;		} catch(CoreException e) {			SVNUIPlugin.openError(getShell(), Policy.bind("GenerateSVNDiff.error"), null, e); //$NON-NLS-1$			return false;		} catch (InvocationTargetException e2) {			SVNUIPlugin.openError(getShell(), Policy.bind("GenerateSVNDiff.error"), null, e2); //$NON-NLS-1$			return false;		}	}