pm.done();
	public void analyzeContainerReferences(IProgressMonitor pm, RefactoringStatus result) throws CoreException {		pm.beginTask("", 4); //$NON-NLS-1$				IJavaProject project= fElements[0].getJavaProject();		fTypeConstraintFactory= new AugmentRawContainerClientsTCModel(project);				GenericContainers genericContainers= GenericContainers.create(project, new SubProgressMonitor(pm, 1));		IType[] containerTypes= genericContainers.getContainerTypes();				SearchPattern pattern= RefactoringSearchEngine.createOrPattern(containerTypes, IJavaSearchConstants.REFERENCES);		//TODO: Add container methods (from ContainerMethods)?		// -> still misses calls of kind myObj.takeList(myObj.getList()) in CU that doesn't import List		IJavaSearchScope searchScope= SearchEngine.createJavaSearchScope(fElements, IJavaSearchScope.SOURCES);		SubProgressMonitor subPm= new SubProgressMonitor(pm, 3);		if (false) { //TODO: disabled until jdt.core has been tagged			analyzeInCompilerLoop(project, searchScope, pattern, subPm, result);		} else {			analyzeInSearchLoop(searchScope, pattern, subPm);		}				fTypeConstraintFactory.newCu();		AugmentRawContClConstraintsSolver solver= new AugmentRawContClConstraintsSolver(fTypeConstraintFactory);		solver.solveConstraints();		fDeclarationsToUpdate= solver.getDeclarationsToUpdate();		fCastsToRemove= solver.getCastsToRemove();		solver= null; //free caches	}