Bug 157174 [Viewers] Refactor new Viewer API
We are yet not completely happy with the API and refactor it.
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TableViewer.java
table.deselectAll();
			return;
		}
		if (virtualManager != null) {
			virtualSetSelectionToWidget(list, reveal);
			return;
		}
		int size = list.size();
		TableItem[] items = new TableItem[size];
		int count = 0;
		for (int i = 0; i < size; ++i) {
			Object o = list.get(i);
			Widget w = findItem(o);
			if (w instanceof TableItem) {
				TableItem item = (TableItem) w;
				items[count++] = item;
			}
		}
		if (count < size) {
			System.arraycopy(items, 0, items = new TableItem[count], 0, count);
		}
		table.setSelection(items);
		if (reveal) {
			table.showSelection();
		}
	}
	/**
	 * Set the selection on a virtual table
	 * 
	 * @param list