public void selectionChanged(SelectionChangedEvent event) {
private ILogEntry currentLogEntry; public void selectionChanged(SelectionChangedEvent event) {
	protected TableViewer createTableHistory(Composite parent) {				historyTableProvider = new HistoryTableProvider();		tableHistoryViewer = historyTableProvider.createTable(parent);				// set the content provider for the table		tableHistoryViewer.setContentProvider(new IStructuredContentProvider() {			public Object[] getElements(Object inputElement) {				// Short-circuit to optimize				if (entries != null) return entries;								if (!(inputElement instanceof ISVNRemoteResource)) return null;				final ISVNRemoteResource remoteResource = (ISVNRemoteResource)inputElement;				if(fetchLogEntriesJob == null) {					fetchLogEntriesJob = new FetchLogEntriesJob();				}				if(fetchLogEntriesJob.getState() != Job.NONE) {					fetchLogEntriesJob.cancel();					try {						fetchLogEntriesJob.join();					} catch (InterruptedException e) {						SVNUIPlugin.log(new SVNException(Policy.bind("HistoryView.errorFetchingEntries", remoteResource.getName()), e)); //$NON-NLS-1$					}				}				fetchLogEntriesJob.setRemoteFile(remoteResource);				Utils.schedule(fetchLogEntriesJob, getViewSite());				return new Object[0];			}			public void dispose() {			}			public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {				entries = null;				lastEntry = null;				revisionStart = SVNRevision.HEAD;			}		});		        // set the selectionchanged listener for the table        // updates the comments when selection changes		tableHistoryViewer.addSelectionChangedListener(new ISelectionChangedListener() {			public void selectionChanged(SelectionChangedEvent event) {				ISelection selection = event.getSelection();				updatePanels( selection);               			}		});				return tableHistoryViewer;	}