CompilationUnit astRoot= AST.parseCompilationUnit(cu, false);
CompilationUnit astRoot= AST.parseCompilationUnit(cu, false, null, null);
	public void testConstructorInvocation() throws Exception {		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);		StringBuffer buf= new StringBuffer();		buf.append("package test1;\n");		buf.append("public class E {\n");		buf.append("    public E(String e, String f) {\n");		buf.append("        this();\n");		buf.append("    }\n");		buf.append("    public E() {\n");		buf.append("        this(\"Hello\", true);\n");		buf.append("    }\n");				buf.append("}\n");			ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);				CompilationUnit astRoot= AST.parseCompilationUnit(cu, false);		NewASTRewrite rewrite= new NewASTRewrite(astRoot.getAST());				AST ast= astRoot.getAST();				assertTrue("Parse errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);		TypeDeclaration type= findTypeDeclaration(astRoot, "E");		MethodDeclaration[] declarations= type.getMethods();		assertTrue("Number of statements not 2", declarations.length == 2);					{ // add parameters			Block block= declarations[0].getBody();			List statements= block.statements();			assertTrue("Number of statements not 1", statements.size() == 1);						ConstructorInvocation invocation= (ConstructorInvocation) statements.get(0);							StringLiteral stringLiteral1= ast.newStringLiteral();			stringLiteral1.setLiteralValue("Hello");						StringLiteral stringLiteral2= ast.newStringLiteral();			stringLiteral2.setLiteralValue("World");						ListRewriter listRewrite= rewrite.getListRewrite(invocation, ASTNodeConstants.ARGUMENTS);			listRewrite.insertLast(stringLiteral1, null);			listRewrite.insertLast(stringLiteral2, null);					}		{ //remove parameters			Block block= declarations[1].getBody();			List statements= block.statements();			assertTrue("Number of statements not 1", statements.size() == 1);						ConstructorInvocation invocation= (ConstructorInvocation) statements.get(0);				List arguments= invocation.arguments();						rewrite.markAsRemoved((ASTNode) arguments.get(0));			rewrite.markAsRemoved((ASTNode) arguments.get(1));		}				String preview= evaluateRewrite(cu, rewrite);				buf= new StringBuffer();		buf.append("package test1;\n");		buf.append("public class E {\n");		buf.append("    public E(String e, String f) {\n");		buf.append("        this(\"Hello\", \"World\");\n");		buf.append("    }\n");		buf.append("    public E() {\n");		buf.append("        this();\n");		buf.append("    }\n");				buf.append("}\n");			assertEqualString(preview, buf.toString());	}