question: protected < T extends ASTNode > T moveNode ( T oldNode , ASTRewrite rewrite ) { T movedNode ; if ( ASTNodes . isExistingNode ( oldNode ) ) movedNode = ASTNodes . createMoveTarget ( rewrite , oldNode ) ; else movedNode = ASTNodes . copySubtree ( rewrite . getAST ( ) , oldNode ) ; return movedNode ; }
target:  If this occurrence update is called from within a declaration update (i.e., to update the call inside the newly created delegate), the old node does not yet exist and therefore cannot be a move target. Normally, always use createMoveTarget as this has the advantage of being able to add changes inside changed nodes (for example, a method call within a method call, see test case #4) and preserving comments inside calls.