SVNUIPlugin plugin = SVNUIPlugin.getPlugin();
		        public void run() {	    			SVNUIPlugin plugin = SVNUIPlugin.getPlugin();		        	try {		        		final ISelection selection = getSelection();		        		if (!(selection instanceof IStructuredSelection)) return;		        		IStructuredSelection ss = (IStructuredSelection)selection;		        		ILogEntry ourSelection = getLogEntry(ss);		        		SVNUrl repositoryUrl = null;    					// Failing that, try the resource originally selected by the user if from the Team menu    					// TODO: Search all paths from currentSelection and find the shortest path and    					// get the resources for that instance (in order to get the 'best' "bugtraq" properties)     					final ProjectProperties projectProperties = (resource != null) ? ProjectProperties.getProjectProperties(resource) : ProjectProperties.getProjectProperties(ourSelection.getRemoteResource()); // will return null!    				    					final ISVNResource svnResource = ourSelection.getRemoteResource() != null ? ourSelection.getRemoteResource() :     						ourSelection.getResource();    					if (ourSelection.getResource() != null) {    						repositoryUrl = ourSelection.getResource().getUrl();    					} else {    						repositoryUrl = ourSelection.getRemoteResource().getUrl();    					}    														    					SetCommitPropertiesDialog dialog = new SetCommitPropertiesDialog(getViewSite().getShell(), ourSelection.getRevision(), resource, projectProperties);    					// Set previous text - the text to edit    					dialog.setOldAuthor(ourSelection.getAuthor());    					dialog.setOldComment(ourSelection.getComment());    					boolean doCommit = (dialog.open() == CommitDialog.OK);		    					if (doCommit) {    						final String commitComment = dialog.getComment();    						final String author = dialog.getAuthor();    						final ChangeCommitPropertiesCommand command = new ChangeCommitPropertiesCommand(svnResource.getRepository(), currentSelection.getRevision(), commitComment, author);			        		PlatformUI.getWorkbench().getProgressService().run(true, true, new IRunnableWithProgress() {			        			public void run(IProgressMonitor monitor) throws InvocationTargetException {		        					try {										command.run(monitor);			        					if (currentSelection instanceof LogEntry) {			        						LogEntry logEntry = (LogEntry)currentSelection;											logEntry.setComment(commitComment);			        						logEntry.setAuthor(author);			        					}			        					getSite().getShell().getDisplay().asyncExec(new Runnable() {			        						public void run() {			        							tableHistoryViewer.refresh();			        							tableHistoryViewer.setSelection(selection, true);									        						}			        					});									} catch (SVNException e) {										throw new InvocationTargetException(e);									}			        			}			        		});	    				}		            } catch (InvocationTargetException e) {		                SVNUIPlugin.openError(getViewSite().getShell(), null, null, e, SVNUIPlugin.LOG_NONTEAM_EXCEPTIONS);		            } catch (InterruptedException e) {		                // Do nothing		            } catch (SVNException e) {						// TODO Auto-generated catch block		                SVNUIPlugin.openError(getViewSite().getShell(), null, null, e, SVNUIPlugin.LOG_TEAM_EXCEPTIONS);					}		        }