getViewSite() .getWorkbenchWindow() .getShell() .getDisplay() .asyncExec(new Runnable() {
IViewSite viewSite = getViewSite(); if (viewSite == null) return; IWorkbenchWindow workbenchWindow = viewSite.getWorkbenchWindow(); if (workbenchWindow == null) return; Shell shell = workbenchWindow.getShell(); if (shell == null) return; Display display = shell.getDisplay(); if (display == null) return; display.asyncExec(new Runnable() {
			public void resourceChanged(IResourceChangeEvent event) {				getViewSite()					.getWorkbenchWindow()					.getShell()					.getDisplay()					.asyncExec(new Runnable() {					public void run() {						getViewer().refresh(false);					}				});			}