Bug 175418 [DataBinding] TreePath moved to internal package
In M5 TreePath moved from org.eclipse.core.databinding.observable.tree.TreePath to org.eclipse.core.internal.databinding.observable.tree.TreePath Non Internal Public interfaces such as: org.eclipse.core.databinding.observable.tree.IOrderedTreeProvider and org.eclipse.core.databinding.observable.tree.IUnorderedTreeProvider depend on this class.
bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/internal/viewers/LeafNodesSet.java
mapElementsOntoNodeInfo.remove(treePath);
				if (newNode.children != null) {
					for (Iterator iter = newNode.children.iterator(); iter
							.hasNext();) {
						Object next = iter.next();
						elementRemoved(treePath.createChildPath(next), removals);
					}
					newNode.children.dispose();
				} else {
					removals.add(treePath);
				}
			}
		}
	}
	/**
	 * Called when a new element is discovered in the tree. The given HashSet
	 * will be filled in with all newly discovered leaf nodes.
	 * 
	 * @param treePath
	 * @param additions
	 */
	private void elementDiscovered(TreePath treePath, HashSet additions) {
		NodeInfo newNode = (NodeInfo) mapElementsOntoNodeInfo.get(treePath);
		if (newNode == null) {
			newNode = new NodeInfo(treePath);
			mapElementsOntoNodeInfo.put(treePath, newNode);
			if (newNode.children != null) {
				for (Iterator iter = newNode.children.iterator(); iter
						.hasNext();) {
					Object next = iter.next();