if (MethodChecks.isVirtual(fMethod)){ if (MethodChecks.overridesAnotherMethod(fMethod, new SubProgressMonitor(pm, 1))) result.addError("Method '" + JavaElementUtil.createMethodSignature(fMethod)+"' overrides another method. Perform this action in the most abstract type that declares it."); if (MethodChecks.isDeclaredInInterface(fMethod, new SubProgressMonitor(pm, 1))) result.addError("Method '" + JavaElementUtil.createMethodSignature(fMethod)+"' is declared in an interface. Perform this action there."); }  if (fMethod.getDeclaringType().isInterface()){ if (MethodChecks.overridesAnotherMethod(fMethod, new SubProgressMonitor(pm, 1))) result.addError("Method '" + JavaElementUtil.createMethodSignature(fMethod)+"' overrides another method. Perform this action in the most abstract type that declares it."); }
	public RefactoringStatus checkInput(IProgressMonitor pm) throws JavaModelException {		try{			pm.beginTask("Checking preconditions", 2);			RefactoringStatus result= new RefactoringStatus();						if (MethodChecks.isVirtual(fMethod)){				if (MethodChecks.overridesAnotherMethod(fMethod, new SubProgressMonitor(pm, 1)))					result.addError("Method '" + JavaElementUtil.createMethodSignature(fMethod)+"' overrides another method. Perform this action in the most abstract type that declares it.");				if (MethodChecks.isDeclaredInInterface(fMethod, new SubProgressMonitor(pm, 1)))						result.addError("Method '" + JavaElementUtil.createMethodSignature(fMethod)+"' is declared in an interface. Perform this action there.");			}					if (fMethod.getDeclaringType().isInterface()){				if (MethodChecks.overridesAnotherMethod(fMethod, new SubProgressMonitor(pm, 1)))					result.addError("Method '" + JavaElementUtil.createMethodSignature(fMethod)+"' overrides another method. Perform this action in the most abstract type that declares it.");			}							fRippleMethods= RippleMethodFinder.getRelatedMethods(fMethod, new SubProgressMonitor(pm, 1));			fOccurrences= getOccurrences(new SubProgressMonitor(pm, 1));						fOccurrences= Checks.excludeCompilationUnits(fOccurrences, result);			if (result.hasFatalError())				return result;							result.merge(Checks.checkCompileErrorsInAffectedFiles(fOccurrences));			result.merge(checkNativeMethods());			return result;		} finally{			pm.done();		}		}