IMethod impl= JavaModelUtil.findMethodDeclarationInHierarchy(hierarchy, type, name, paramTypes, false); if (impl != null && JavaModelUtil.isVisibleInHierarchy(impl, type.getPackageFragment())) { IMethod overridden= JavaModelUtil.findMethodImplementationInHierarchy(hierarchy, type, name, paramTypes, false); if (overridden != null) { return JavaElementImageDescriptor.OVERRIDES; } else { return JavaElementImageDescriptor.IMPLEMENTS;
IMethod overridden= JavaModelUtil.findMethodImplementationInHierarchy(hierarchy, type, name, paramTypes, false); if (overridden != null && JavaModelUtil.isVisibleInHierarchy(overridden, type.getPackageFragment())) { return JavaElementImageDescriptor.OVERRIDES; } IType[] interfaces= hierarchy.getAllSuperInterfaces(type); for (int i= 0; i < interfaces.length; i++) { if (JavaModelUtil.findMethod(name, paramTypes, false, interfaces[i]) != null) { return JavaElementImageDescriptor.IMPLEMENTS;
	protected int findInHierarchy(IType type, ITypeHierarchy hierarchy, String name, String[] paramTypes) throws JavaModelException {		IMethod impl= JavaModelUtil.findMethodDeclarationInHierarchy(hierarchy, type, name, paramTypes, false);		if (impl != null && JavaModelUtil.isVisibleInHierarchy(impl, type.getPackageFragment())) {			IMethod overridden= JavaModelUtil.findMethodImplementationInHierarchy(hierarchy, type, name, paramTypes, false);			if (overridden != null) {				return JavaElementImageDescriptor.OVERRIDES;			} else {				return JavaElementImageDescriptor.IMPLEMENTS;			}		}		return 0;	}	 