Bug 156883 [Viewers] enhancements to ILazyTreeContentProvider
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractTreeViewer.java
}
			} else if (cp instanceof ITreeContentProvider) {
				ITreeContentProvider tcp = (ITreeContentProvider) cp;
				Object[] result = tcp.getChildren(parent);
				if (result != null) {
					return result;
				}
			}
		}
		return new Object[0];
	}
	/**
	 * Returns all selected items for the given SWT control.
	 * 
	 * @param control
	 *            the control
	 * @return the list of selected items
	 */
	protected abstract Item[] getSelection(Control control);
	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.jface.viewers.StructuredViewer#getSelectionFromWidget()
	 */
	protected List getSelectionFromWidget() {
		Widget[] items = getSelection(getControl());
		ArrayList list = new ArrayList(items.length);
		for (int i = 0; i < items.length; i++) {
			Widget item = items[i];
			Object e = item.getData();