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);                     BranchTagDialog dialog;                    if (resource == null) dialog = new BranchTagDialog(getSite().getShell(), historyTableProvider.getRemoteResource());                    else dialog = new BranchTagDialog(getSite().getShell(), resource);                    dialog.setRevisionNumber(currentSelection.getRevision().getNumber());                    if (dialog.open() == BranchTagDialog.CANCEL) return;                    final SVNUrl sourceUrl = dialog.getUrl();                    final SVNUrl destinationUrl = dialog.getToUrl();                    final String message = dialog.getComment();                    final SVNRevision revision = dialog.getRevision();                    boolean createOnServer = dialog.isCreateOnServer();                    IResource[] resources = { resource };                    try {                    	if (resource == null) {                    		BusyIndicator.showWhile(Display.getCurrent(), new Runnable() {								public void run() {									try {			                    		ISVNClientAdapter client = SVNProviderPlugin.getPlugin().getSVNClientManager().createSVNClient();			                    		client.copy(sourceUrl, destinationUrl, message, revision);                    																				} catch (Exception e) {										MessageDialog.openError(getSite().getShell(), Policy.bind("HistoryView.createTagFromRevision"), e.getMessage());            									}								}                    			                    		});                    	}                    	else new BranchTagOperation(HistoryView.this, resources, sourceUrl, destinationUrl, createOnServer, dialog.getRevision(), message).run();                    } catch (Exception e) {                    	MessageDialog.openError(getSite().getShell(), Policy.bind("HistoryView.createTagFromRevision"), e.getMessage());                   	                    }                 }