Bug 37464 call hierarchy: Should not use working copies
The call hierarchy should not use working copies of compilation units since these may go away (e.g. when an editor is closed).
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/callhierarchy/CallHierarchyViewPart.java
if (fCallerRoot == null) {
            fCallerRoot = (MethodWrapper) CallHierarchy.getDefault().getCallerRoot(fShownMethod);
        }
        return fCallerRoot;
    }
    /**
     * Adds the entry if new. Inserted at the beginning of the history entries list.
     */
    private void addHistoryEntry(IJavaElement entry) {
        if (fMethodHistory.contains(entry)) {
            fMethodHistory.remove(entry);
        }
        fMethodHistory.add(0, entry);
        fHistoryDropDownAction.setEnabled(!fMethodHistory.isEmpty());
    }
    /**
     * @param parent
     */
    private void createLocationViewer(Composite parent) {
        fLocationViewer= new LocationViewer(parent);
        fLocationViewer.getControl().addKeyListener(createKeyListener());
        fLocationViewer.initContextMenu(new IMenuListener() {
                public void menuAboutToShow(IMenuManager menu) {
                    fillLocationViewerContextMenu(menu);
                }
            }, ID_CALL_HIERARCHY, getSite());
    }
    private void createHierarchyLocationSplitter(Composite parent) {
        fHierarchyLocationSplitter = new SashForm(parent, SWT.NONE);
        fHierarchyLocationSplitter.addKeyListener(createKeyListener());