pm.setTaskName(RefactoringCoreMessages.getString("RenameTypeRefactoring.checking"));
	public RefactoringStatus checkInput(IProgressMonitor pm) throws JavaModelException{		Assert.isNotNull(fType, "type"); //$NON-NLS-1$		Assert.isNotNull(fNewName, "newName"); //$NON-NLS-1$		RefactoringStatus result= new RefactoringStatus();		try{			pm.beginTask("", 110); //$NON-NLS-1$			pm.subTask(RefactoringCoreMessages.getString("RenameTypeRefactoring.checking")); //$NON-NLS-1$			result.merge(checkNewName(fNewName));			if (result.hasFatalError())				return result;			result.merge(Checks.checkIfCuBroken(fType));			if (result.hasFatalError())				return result;			pm.worked(2);					result.merge(checkTypesInCompilationUnit());			pm.worked(1);					result.merge(checkForMethodsWithConstructorNames());			pm.worked(1);					result.merge(checkImportedTypes());				pm.worked(1);					if (mustRenameCU())				result.merge(Checks.checkCompilationUnitNewName(fType.getCompilationUnit(), fNewName));			pm.worked(1);							if (isPrimaryType())				result.merge(checkNewPathValidity());			pm.worked(1);							result.merge(checkEnclosingTypes());			pm.worked(1);							result.merge(checkEnclosedTypes());			pm.worked(1);							result.merge(checkTypesInPackage());			pm.worked(1);							result.merge(checkTypesImportedInCu());			pm.worked(1);						result.merge(Checks.checkForNativeMethods(fType));			pm.worked(1);						result.merge(Checks.checkForMainMethod(fType));			pm.worked(1);							// before doing any expensive analysis			if (result.hasFatalError())				return result;										result.merge(analyseEnclosedTypes());			pm.worked(1);			// before doing _the really_ expensive analysis			if (result.hasFatalError())				return result;						fReferences= null;			if (fUpdateReferences)				fReferences= getReferences(new SubProgressMonitor(pm, 35));			else				pm.worked(35);						if (pm.isCanceled())				throw new OperationCanceledException();						if (fUpdateReferences)				result.merge(analyzeAffectedCompilationUnits(new SubProgressMonitor(pm, 25)));			else				pm.worked(25);						if (result.hasFatalError())				return result;						fChangeManager= createChangeManager(new SubProgressMonitor(pm, 35));			result.merge(validateModifiesFiles());			return result;		} catch (CoreException e){			throw new JavaModelException(e);		} finally {			pm.done();		}		}