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/ToggleImplementorsAction.java
if (implementorsMode == CallHierarchyViewPart.IMPLEMENTORS_ENABLED) {
            setText(CallHierarchyMessages.getString("ToggleImplementorsAction.enabled.label")); 
            setDescription(CallHierarchyMessages.getString("ToggleImplementorsAction.enabled.description")); 
            setToolTipText(CallHierarchyMessages.getString("ToggleImplementorsAction.enabled.tooltip")); 
            JavaPluginImages.setLocalImageDescriptors(this, "th_horizontal.gif"); 
        } else if (implementorsMode == CallHierarchyViewPart.IMPLEMENTORS_DISABLED) {
            setText(CallHierarchyMessages.getString("ToggleImplementorsAction.disabled.label")); 
            setDescription(CallHierarchyMessages.getString("ToggleImplementorsAction.disabled.description")); 
            setToolTipText(CallHierarchyMessages.getString("ToggleImplementorsAction.disabled.tooltip"));   
            JavaPluginImages.setLocalImageDescriptors(this, "th_vertical.gif"); 
        } else {
            Assert.isTrue(false);
        }
        fView= v;
        fImplementorsMode= implementorsMode;
        WorkbenchHelp.setHelp(this, IJavaHelpContextIds.CALL_HIERARCHY_TOGGLE_IMPLEMENTORS_ACTION);
    }
    
    public int getImplementorsMode() {
        return fImplementorsMode;
    }   
    
    /*
     * @see Action#actionPerformed
     */     
    public void run() {
        fView.setImplementorsMode(fImplementorsMode); 
    }
}