Bug 106884 Need an index based setSelection for ILazyContentProviders
20050812 It is currently very ineffecient to set a non visible selection in the TableViewer as we cannot look up the items without creating them all. It is possible to use getTable().setSelection() but we should 1) Have an API where you can reveal 2) Implement the selSelection where we give the performance warning and just call super
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TableViewer.java
* <code>ITableLabelProvider</code>, then it provides a separate label
	 * text and image for each column. If it is an <code>ILabelProvider</code>,
	 * then it provides only the label text and image for the first column, and
	 * any remaining columns are blank.
	 */
	public IBaseLabelProvider getLabelProvider() {
		return super.getLabelProvider();
	}
	/*
	 *  (non-Javadoc)
	 * @see org.eclipse.jface.viewers.StructuredViewer#getSelectionFromWidget()
	 */
	protected List getSelectionFromWidget() {
		if(virtualManager != null)
			return getVirtualSelection();
		Widget[] items = table.getSelection();
		ArrayList list = new ArrayList(items.length);
		for (int i = 0; i < items.length; i++) {
			Widget item = items[i];
			Object e = item.getData();
			if (e != null)
				list.add(e);
		}
		return list;
	}
	
	/**
	 * Get the virtual selection. Avoid calling SWT whenever possible
	 * to prevent extra widget creation.
	 * @return List of Object