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/TreeViewer.java
/*
	 * (non-Javadoc) Method declared in AbstractTreeViewer.
	 */
	protected void setSelection(List items) {
		Item[] current = getSelection(getTree());
		
		if (isSameSelection(items, current)) {
			return;
		}
		TreeItem[] newItems = new TreeItem[items.size()];
		items.toArray(newItems);
		getTree().setSelection(newItems);
	}
	/**
	 * Returns <code>true</code> if the given list and array of items refer to
	 * the same model elements. Order is unimportant.
	 * 
	 * @param items
	 *            the list of items
	 * @param current
	 *            the array of items
	 * @return <code>true</code> if the refer to the same elements,
	 *         <code>false</code> otherwise
	 * 
	 * @since 3.1
	 */
	protected boolean isSameSelection(List items, Item[] current) {
		
		int n = items.size();
		if (n != current.length) {