setEndPosition(rewrite.track(newDecl));
setEndPosition(rewrite.track(fNodeToAssign));
	private ASTRewrite doAddLocal() throws CoreException {		Expression expression= ((ExpressionStatement) fNodeToAssign).getExpression();		AST ast= fNodeToAssign.getAST();				ASTRewrite rewrite= ASTRewrite.create(ast);		String[] varNames= suggestLocalVariableNames(fTypeBinding, expression);		for (int i= 0; i < varNames.length; i++) {			addLinkedPositionProposal(KEY_NAME, varNames[i], null);		}						VariableDeclarationFragment newDeclFrag= ast.newVariableDeclarationFragment();		newDeclFrag.setName(ast.newSimpleName(varNames[0]));		newDeclFrag.setInitializer((Expression) rewrite.createCopyTarget(expression));				// trick for bug 43248: use an VariableDeclarationExpression and keep the ExpressionStatement		VariableDeclarationExpression newDecl= ast.newVariableDeclarationExpression(newDeclFrag);				Type type= evaluateType(ast);		newDecl.setType(type);				rewrite.replace(expression, newDecl, null); 				addLinkedPosition(rewrite.track(newDeclFrag.getName()), true, KEY_NAME);		addLinkedPosition(rewrite.track(newDecl.getType()), false, KEY_TYPE);		setEndPosition(rewrite.track(newDecl));		return rewrite;	}