IStructuredSelection ss = (IStructuredSelection)selection; currentSelection = getLogEntry(ss);
ILogEntry currentSelection = getLogEntry((IStructuredSelection)selection);
				public void run() {                    ISelection selection = getSelection();                    if (!(selection instanceof IStructuredSelection)) return;                    IStructuredSelection ss = (IStructuredSelection)selection;                    currentSelection = getLogEntry(ss);					FileDialog dialog = new FileDialog(getSite().getShell(), SWT.SAVE);					dialog.setText("Select Unified Diff Output File");					dialog.setFileName("revision" + currentSelection.getRevision().getNumber() + ".diff"); //$NON-NLS-1$					String outFile = dialog.open();					if (outFile != null) {						final SVNUrl url = currentSelection.getResource().getUrl();						final SVNRevision oldUrlRevision = new SVNRevision.Number(currentSelection.getRevision().getNumber() - 1);						final SVNRevision newUrlRevision = currentSelection.getRevision();						final File file = new File(outFile);						if (file.exists()) {							if (!MessageDialog.openQuestion(getSite().getShell(), Policy.bind("HistoryView.showDifferences"), Policy.bind("HistoryView.overwriteOutfile", file.getName()))) return;						}						BusyIndicator.showWhile(Display.getCurrent(), new Runnable() {							public void run() {								try {									ISVNClientAdapter client = SVNProviderPlugin.getPlugin().getSVNClientManager().createSVNClient();									client.diff(url, oldUrlRevision, newUrlRevision, file, true);								} catch (Exception e) {									MessageDialog.openError(getSite().getShell(), Policy.bind("HistoryView.showDifferences"), e.getMessage());								}							}													});					}				}