Bug 65321 Call hierarchy: close "top" file and it won't open again
Steps: 1. Open a project with JUnit 3.8.1 sources 2. Open junit.framework.Assert 3. Double click fail( String ) method 4. Press Ctrl+Alt+H 5. Close Assert.java 6. In the "Call Hierarchy" view double-click "fail( String )" -- the "root" of the hierarchy Observed: Assert.java does not open Expected: Assert.java should open Build: 200405280010 Was first observed with early M-s (around 5 or 6 maybe)
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/callhierarchy/CallHierarchyUI.java
return null;
            
        return openInViewPart(window, input);
    }
    private static void openEditor(Object input, boolean activate) throws PartInitException, JavaModelException {
        IEditorPart part= EditorUtility.openInEditor(input, activate);
        if (input instanceof IJavaElement)
            EditorUtility.revealInEditor(part, (IJavaElement) input);
    }
    
    private static CallHierarchyViewPart openInViewPart(IWorkbenchWindow window, IJavaElement input) {
        IWorkbenchPage page= window.getActivePage();
        try {
            CallHierarchyViewPart result= (CallHierarchyViewPart)page.showView(CallHierarchyViewPart.ID_CALL_HIERARCHY);
            result.setMethod((IMethod)input);
            openEditor(input, false);
            return result;
        } catch (CoreException e) {
            ExceptionHandler.handle(e, window.getShell(), 
                CallHierarchyMessages.getString("CallHierarchyUI.error.open_view"), e.getMessage()); 
        }
        return null;        
    }
    
    /**
     * Converts an ISelection (containing MethodWrapper instances) to an ISelection
     * with the MethodWrapper's replaced by their corresponding IMembers. If the selection
     * contains elements which are not MethodWrapper instances or not already IMember instances
     * they are discarded.  
     * @param selection The selection to convert.