Bug 261031 [CommonNavigator] IPipelinedContentProvider getParent() returning the suggested parent is not ignored
"Link with Editor" neglects to expand the tree in Project Explorer for not C/C++ file types after reopening eclipse. My case: 1. Create a new subfolder in C/C++ project. Place there a new file with non-C/C++ extension like hello.txt. Open the file with text editor. 2. Quit and reenter eclipse. It should open hello.txt in editor at that point. 3. In Project Explorer, push button "Link with Editor". I expect the tree to be expanded and the cursor placed on hello.txt at that point. As a side note, the button is actually named "Link open editors with content in the Navigator" (???). Well, that appears to be absolutely true and if you open Navigator it is linked. But what about linking in Project Explorer?
bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/internal/navigator/NavigatorContentServiceContentProvider.java
private static final long serialVersionUID = 2111962579612444989L;
		protected CyclicPathException(TreePathCompiler compiler, Object invalidSegment, boolean asChild) {
			super("Cannot add " + invalidSegment +  
					" to the list of segments in " + compiler +  
					(asChild ? " as a child." : " as a parent.")); 
		}
	}
	class TreePathCompiler {
		private final LinkedList segments = new LinkedList();
		protected TreePathCompiler(Object segment) {
			segments.add(segment);
		}
		protected TreePathCompiler(TreePathCompiler aCompiler) {
			segments.addAll(aCompiler.segments);
		}
		protected TreePathCompiler(TreePath aPath) {
			for (int i = 0; i < aPath.getSegmentCount(); i++) {
				segments.addLast(aPath.getSegment(i));
			}
		}
		protected void addParent(Object segment) throws CyclicPathException {
			if (segments.contains(segment)) {
				throw new CyclicPathException(this, segment, false);
			}
			segments.addFirst(segment);
		}
		protected void addChild(Object segment) throws CyclicPathException {