Bug 46351 Call Hierarchy must not implement IViewSite [call hierarchy]
I20031105 The call hierarchy component implements IViewSite which is not allowed. There seems to be no reason for doing so: the CallHierarchyViewPart should directly set the selection provider to its site.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/callhierarchy/CallHierarchyViewPart.java
CallHierarchy.getDefault().setSearchScope(getSearchScope());
            if (fCurrentCallMode == CALL_MODE_CALLERS) {
                setTitle(CallHierarchyMessages.getString("CallHierarchyViewPart.callsToMethod")); 
                fCallHierarchyViewer.setMethodWrapper(getCallerRoot());
            } else {
                setTitle(CallHierarchyMessages.getString("CallHierarchyViewPart.callsFromMethod")); 
                fCallHierarchyViewer.setMethodWrapper(getCalleeRoot());
            }
        }
    }
    /**
     * Clears both the tree view and the location list.
     */
    private void clearView() {
        fLocationViewer.clearViewer();
        fCallHierarchyViewer.clearViewer();
    }
    
    static CallHierarchyViewPart findAndShowCallersView(IWorkbenchPartSite site) {
        IWorkbenchPage workbenchPage = site.getPage();
        CallHierarchyViewPart callersView = null;
        try {
            callersView = (CallHierarchyViewPart) workbenchPage.showView(CallHierarchyViewPart.ID_CALL_HIERARCHY);
        } catch (PartInitException e) {
            JavaPlugin.log(e);
        }
        return callersView;
    }
}