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
private TreePath[] paths = null;
	/**
	 * The canonical empty selection. This selection should be used instead of
	 * <code>null</code>.
	 */
	public static final TreeSelection EMPTY = new TreeSelection();
	/**
	 * Constructs a selection based on the elements identified by the given tree
	 * paths.
	 * 
	 * @param paths
	 *            tree paths
	 */
	public TreeSelection(TreePath[] paths) {
		this.paths = paths;
	}
	/**
	 * Constructs a selection based on the elements identified by the given tree
	 * path.
	 * 
	 * @param treePath
	 *            tree path
	 */
	public TreeSelection(TreePath treePath) {
		this(treePath != null ? new TreePath[] { treePath } : null);
	}
	/**