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
List selection = new ArrayList(size);
		for (int i = 0; i < size; i++) {
			selection.add(paths[i].getLastSegment());
		}
		return selection;
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.jface.viewers.ISelection#isEmpty()
	 */
	public boolean isEmpty() {
		return size() == 0;
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see java.lang.Object#equals(java.lang.Object)
	 */
	public boolean equals(Object obj) {
		if (obj instanceof TreeSelection) {
			TreeSelection selection = (TreeSelection) obj;
			int size = size();
			if (selection.size() == size) {
				if (size > 0) {
					for (int i = 0; i < paths.length; i++) {
						if (!paths[i].equals(selection.paths[i])) {
							return false;
						}
					}