Bug 154064 Need a way to access the TreeItem or TableItem on a refresh
It is not currently possible to know when an item is refreshed. This is required for ownerDraw support in viewers.
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TableViewer.java
} else {
			Widget w = findItem(element);
			if (w != null) {
				updateItem(w, element);
			}
		}
	}
	/**
	 * Refresh all with virtual elements.
	 * 
	 * @since 3.1
	 */
	private void internalVirtualRefreshAll() {
		Object root = getRoot();
		IContentProvider contentProvider = getContentProvider();
		
		if (!(contentProvider instanceof ILazyContentProvider)
				&& (contentProvider instanceof IStructuredContentProvider)) {
			
			if (root != null) {
				virtualManager.cachedElements = ((IStructuredContentProvider) getContentProvider())
						.getElements(root);
				getTable().setItemCount(virtualManager.cachedElements.length);
			}
		}
		getTable().clearAll();
	}
	/**
	 * Refresh all of the elements of the table. update the labels if
	 * updatLabels is true;