Bug 56588 Call Hierarchy should remove redundant mode overlays
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/callhierarchy/CallHierarchyImageDescriptor.java
return fBaseImage.hashCode() | fFlags | fSize.hashCode();
    }
    
    /* (non-Javadoc)
     * Method declared in CompositeImageDescriptor
     */
    protected void drawCompositeImage(int width, int height) {
        ImageData bg= getImageData(fBaseImage);
            
        drawImage(bg, 0, 0);
        drawTopLeft();
        drawBottomRight();
        drawBottomLeft();
    }  
    
	private ImageData getImageData(ImageDescriptor descriptor) {
		ImageData data= descriptor.getImageData(); 
		if (data == null) {
			data= DEFAULT_IMAGE_DATA;
			JavaPlugin.logErrorMessage("Image data not available: " + descriptor.toString()); 
		}
		return data;
	}
    
    private void drawTopLeft() {       
        ImageData data= null;
        if ((fFlags & CALLER) != 0) {
            data= getImageData(JavaPluginImages.DESC_OVR_CALLER);
            drawImage(data, 0, 0);
        }