ASTNode placeholder1= rewrite.createCopyPlaceholder(node);
ASTNode placeholder1= rewrite.createCopyTarget(node);
	public void testMultipleCopiesOfSameNodeAndMove() 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);		NewASTRewrite rewrite= new NewASTRewrite(astRoot.getAST());		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 node= (ASTNode) ifStatementBody.get(1);			ASTNode placeholder1= rewrite.createCopyPlaceholder(node);			rewrite.getListRewrite(methodDecl.getBody(), Block.STATEMENTS_PROPERTY).insertLast(placeholder1, null);			ASTNode placeholder2= rewrite.createCopyPlaceholder(node);			rewrite.markAsReplaced((ASTNode) ifStatementBody.get(0), placeholder2);						ASTNode placeholder3= rewrite.createMovePlaceholder(node);			rewrite.getListRewrite(methodDecl.getBody(), Block.STATEMENTS_PROPERTY).insertFirst(placeholder3, null);		}								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("        i++; // comment\n");		buf.append("        if (i == 0) {\n");		buf.append("            i++; // comment\n");		buf.append("            i++;\n");		buf.append("        }\n");		buf.append("        i++; // comment\n");		buf.append("    }\n");		buf.append("}\n");		assertEqualString(preview, buf.toString());	}	