Bug 171415 [Viewers] Table viewer needs to clear label, image when items are reused
If an item is reused for a different element on a refresh, the table viewer needs to clear the label and image from the item being reused. This is necessary to communicate to the label provider that a new label is needed (i.e. the label provider may defer providing a label if decorators are not ready). This is what the tree viewer does. To see the problem, open the Java Browsing perspective and select a Java project. Then click between different packages. Notice that some of the labels in the Types list take a while to update. Opening one of these reveals that the label is showing the wrong text.
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TableViewer.java
table.removeAll();
	}
	protected void doRemove(int[] indices) {
		table.remove(indices);
	}
	protected void doShowItem(Item item) {
		table.showItem((TableItem)item);
	}
	protected void doDeselectAll() {
		table.deselectAll();
	}
	protected void doSetSelection(Item[] items) {
		Assert.isNotNull(items, "Items-Array can not be null"); 
		
		TableItem[] t = new TableItem[items.length];
		System.arraycopy(items, 0, t, 0, t.length);
		
		table.setSelection(t);
	}
	protected void doShowSelection() {
		table.showSelection();
	}
	protected void doSetSelection(int[] indices) {
		table.setSelection(indices);
	}
	protected void doClear(int index) {
		table.clear(index);
	}
}