final boolean hierarchyDeclaresMethodName(IProgressMonitor pm, IMethod method, String newName) throws JavaModelException{
final IMethod hierarchyDeclaresMethodName(IProgressMonitor pm, IMethod method, String newName) throws JavaModelException{
	final boolean hierarchyDeclaresMethodName(IProgressMonitor pm, IMethod method, String newName) throws JavaModelException{		IType type= method.getDeclaringType();		ITypeHierarchy hier= type.newTypeHierarchy(pm);		if (null != Checks.findMethod(newName, method.getParameterTypes().length, false, type)) {			return true;		}		IType[] implementingClasses= hier.getImplementingClasses(type);		return classesDeclareMethodName(hier, Arrays.asList(hier.getAllClasses()), method, newName) 			|| classesDeclareMethodName(hier, Arrays.asList(implementingClasses), method, newName);	}