rewrite.markAsReplaced(collapsed, newStatement);
rewrite.markAsReplaced(collapsed, newStatement, null);
	public void testReplaceCollapsed() 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 void foo() {\n");		buf.append("        if (i == 0) {\n");		buf.append("            foo();\n");		buf.append("            i++; // comment\n");		buf.append("            i++;\n");		buf.append("        }\n");		buf.append("    }\n");		buf.append("}\n");		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);				CompilationUnit astRoot= createAST(cu);		AST ast= astRoot.getAST();		ASTRewrite rewrite= new ASTRewrite(astRoot);		assertTrue("Code has errors", (astRoot.getFlags() & ASTNode.MALFORMED) == 0);				TypeDeclaration type= findTypeDeclaration(astRoot, "E");		MethodDeclaration methodDecl= findMethodDeclaration(type, "foo");		{			List statements= methodDecl.getBody().statements();			IfStatement ifStatement= (IfStatement) statements.get(0);			List ifStatementBody= ((Block) ifStatement.getThenStatement()).statements();			ASTNode collapsed= rewrite.collapseNodes(ifStatementBody, 0, ifStatementBody.size());						ASTNode newStatement= ast.newReturnStatement();			rewrite.markAsReplaced(collapsed, newStatement);		}								String preview= evaluateRewrite(cu, rewrite);				buf= new StringBuffer();		buf.append("package test1;\n");		buf.append("public class E {\n");		buf.append("    public void foo() {\n");		buf.append("        if (i == 0) {\n");		buf.append("            return;\n");				buf.append("        }\n");		buf.append("    }\n");		buf.append("}\n");		assertEqualString(preview, buf.toString());	}	