Bug 121939 [Viewers] TreeSelection should subclass StructuredSelection
TreeViewer.getSelection() now returns a TreeSelection, which implements IStructuredSelection, but does not extend StructuredSelection. Clients who downcast to StructuredSelection instead of IStructuredSelection will be broken unless we make TreeSelection a subclass of StructuredSelection.
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TreeSelection.java
* Creates a new empty selection. See also the static field
	 * <code>EMPTY</code> which contains an empty selection singleton.
	 * <p>
	 * Note that TreeSelection.EMPTY is not equals() to StructuredViewer.EMPTY.
	 * </p>
	 * 
	 * @see #EMPTY
	 */
	public TreeSelection() {
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.jface.viewers.IStructuredSelection#getFirstElement()
	 */
	public Object getFirstElement() {
		if (paths != null && paths.length > 0) {
			return paths[0].getLastSegment();
		}
		return null;
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.jface.viewers.IStructuredSelection#iterator()
	 */
	public Iterator iterator() {
		return toList().iterator();
	}
	/*