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/OrderedTreeContentProvider.java
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
import org.eclipse.core.databinding.observable.Diffs;
import org.eclipse.core.databinding.observable.list.IObservableList;
import org.eclipse.core.databinding.observable.set.AbstractObservableSet;
import org.eclipse.core.databinding.observable.set.IObservableSet;
import org.eclipse.core.databinding.observable.set.SetDiff;
import org.eclipse.core.databinding.observable.tree.IOrderedTreeProvider;
import org.eclipse.jface.viewers.ITreePathContentProvider;
import org.eclipse.jface.viewers.ITreeViewerListener;
import org.eclipse.jface.viewers.TreeExpansionEvent;
import org.eclipse.jface.viewers.TreePath;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.jface.viewers.Viewer;
/**
 * Converts an IOrderedTreeProvider into an ITreeContentProvider that is
 * suitable for use with a JFace TreeViewer.
 * 
 * <p>
 * This content provider works correctly with trees containing duplicate
 * elements.
 * </p>
 * 
 * @since 3.3
 */
public class OrderedTreeContentProvider implements ITreePathContentProvider {
	private HashMap mapElementToTreeNode = new HashMap();
	private LinkedList enqueuedPrefetches = new LinkedList();
	class KnownElementsSet extends AbstractObservableSet {