hasRewrite|= InferTypeArgumentsRefactoring.rewriteDeclarations(cuUpdate, cuRewrite, tCModel, true);
hasRewrite|= InferTypeArgumentsRefactoring.rewriteDeclarations(cuUpdate, cuRewrite, tCModel, false, positionGroups);
		private boolean smartFix(CompilationUnitRewrite cuRewrite, List positionGroups, TextEditGroup group) {			InferTypeArgumentsTCModel tCModel= new InferTypeArgumentsTCModel();			InferTypeArgumentsConstraintCreator creator= new InferTypeArgumentsConstraintCreator(tCModel, true);						CompilationUnit root= cuRewrite.getRoot();			root.setProperty(RefactoringASTParser.SOURCE_PROPERTY, cuRewrite.getCu());			root.accept(creator);						InferTypeArgumentsConstraintsSolver solver= new InferTypeArgumentsConstraintsSolver(tCModel);			InferTypeArgumentsUpdate iTAUpdate= solver.solveConstraints(new NullProgressMonitor());			solver= null; //free caches						filter(iTAUpdate, fType, root);						HashMap/*<ICompilationUnit, CuUpdate>*/ updates= iTAUpdate.getUpdates();			Set entrySet= updates.entrySet();						if (entrySet.size() == 0)				return false;						boolean hasRewrite= false;			for (Iterator iter= entrySet.iterator(); iter.hasNext();) {								Map.Entry entry= (Map.Entry) iter.next();				cuRewrite.setResolveBindings(false);				CuUpdate cuUpdate= (CuUpdate) entry.getValue();								hasRewrite|= InferTypeArgumentsRefactoring.rewriteDeclarations(cuUpdate, cuRewrite, tCModel, true);			}			return hasRewrite;		}