Bug 122756 [Viewers] Support for TreePath based content providers
Now that the JFace tree viewer supports the notion of a tree path, it would be benefitial if this information was made available to content providers and label providers. The particular scenario that requires this is team views that include change sets. A view can display multiple change sets and a single model element may be included in multiple change sets. In 3.2, we are using the common navigator framework to allow model providers to display their models in a team operation. Having a tree path based content provider would allow the logical model display to be intermixed with change sets. Without this support, team providers would most likely need to support two views, one which shows resources and change sets and another that shows the effects of the operation on the logical model.
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/StructuredViewer.java
* this method.
	 * </p>
	 * 
	 * @param event
	 *            the SWT selection event
	 */
	protected void handleOpen(SelectionEvent event) {
		Control control = getControl();
		if (control != null && !control.isDisposed()) {
			ISelection selection = getSelection();
			fireOpen(new OpenEvent(this, selection));
		}
	}
	/**
	 * Handles an invalid selection.
	 * <p>
	 * This framework method is called if a model change picked up by a viewer
	 * results in an invalid selection. For instance if an element contained in
	 * the selection has been removed from the viewer, the viewer is free to
	 * either remove the element from the selection or to pick another element
	 * as its new selection. The default implementation of this method calls
	 * <code>updateSelection</code>. Subclasses may override it to implement
	 * a different strategy for picking a new selection when the old selection
	 * becomes invalid.
	 * </p>
	 * 
	 * @param invalidSelection
	 *            the selection before the viewer was updated
	 * @param newSelection
	 *            the selection after the update, or <code>null</code> if none