internalUpdatePresentation(textPresentation, added, removed, timeStamp);
internalUpdatePresentation(textPresentation, added, removed);
	public void updatePresentation(final TextPresentation textPresentation, List addedPositions, List removedPositions, final Object timeStamp) {		if (fSourceViewer == null)			return;				// TODO: do clustering of positions and post multiple fast runnables		final HighlightedPosition[] added= new SemanticHighlightingManager.HighlightedPosition[addedPositions.size()];		addedPositions.toArray(added);		final SemanticHighlightingManager.HighlightedPosition[] removed= new SemanticHighlightingManager.HighlightedPosition[removedPositions.size()];		removedPositions.toArray(removed);				Shell shell= fEditor.getSite().getShell();		if (shell != null && !shell.isDisposed()) { 			shell.getDisplay().asyncExec(new Runnable() {				public void run() {					internalUpdatePresentation(textPresentation, added, removed, timeStamp);				}			});		}	}