Bug 32664 Package Explorer: hierarchical layout and back-linking don't work allways together.
The following triggers it: - initially 'flat layout' is used, 'link with editor' is on or off - open a java file - use 'collapse all' in the package explorer - select 'hierarchical layout' - switch 'link with editor' on or off&on -> no back-linking
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/packageview/PackageExplorerContentProvider.java
/**
	 * Processes a delta recursively. When more than two children are affected the
	 * tree is fully refreshed starting at this node. The delta is processed in the
	 * current thread but the viewer updates are posted to the UI thread.
	 */
	public void processDelta(IJavaElementDelta delta) throws JavaModelException {
		int kind= delta.getKind();
		int flags= delta.getFlags();
		IJavaElement element= delta.getElement();
		
		if(element.getElementType()!= IJavaElement.JAVA_MODEL && element.getElementType()!= IJavaElement.JAVA_PROJECT){
			IJavaProject proj= element.getJavaProject();
			if (proj == null || !proj.getProject().isOpen())
				return;	
		}
		
		if (!fIsFlatLayout && element.getElementType() == IJavaElement.PACKAGE_FRAGMENT) {
			fPackageFragmentProvider.processDelta(delta);
			if (processResourceDeltas(delta.getResourceDeltas(), element))
			    return;
			IJavaElementDelta[] affectedChildren= delta.getAffectedChildren();			
			processAffectedChildren(affectedChildren);
			return;
		}
			
		if (!getProvideWorkingCopy() && isWorkingCopy(element))
			return; 
		if (element != null && element.getElementType() == IJavaElement.COMPILATION_UNIT && !isOnClassPath((ICompilationUnit)element))
			return;