currentStatement= ((ForStatement)container).getBody();
IfStatement node= (IfStatement)container; Statement thenPart= node.getThenStatement(); if (fTargetNode == thenPart || ASTNodes.isParent(fTargetNode, thenPart)) { currentStatement= thenPart; } else { currentStatement= node.getElseStatement(); }
	private void initializeInsertionPoint(int nos) {		fStatements= null;		fInsertionIndex= -1;		fNeedsStatement= false;		ASTNode parentStatement= ASTNodes.getParent(fInvocation, Statement.class);		ASTNode container= parentStatement.getParent();		int type= container.getNodeType();		if (type == ASTNode.BLOCK) {			fStatements= ((Block)container).statements();			fInsertionIndex= fStatements.indexOf(parentStatement);		} else if (isControlStatement(container)) {			fNeedsStatement= true;			if (nos > 1) {				Block block= fInvocation.getAST().newBlock();				fStatements= block.statements();				fInsertionIndex= 0;				Statement currentStatement= null;				switch(type) {					case ASTNode.FOR_STATEMENT:						currentStatement= ((ForStatement)container).getBody();						break;					case ASTNode.WHILE_STATEMENT:						currentStatement= ((WhileStatement)container).getBody();						break;					case ASTNode.DO_STATEMENT:						currentStatement= ((DoStatement)container).getBody();						break;					case ASTNode.IF_STATEMENT:						currentStatement= ((ForStatement)container).getBody();						break;				}				Assert.isNotNull(currentStatement);				// The method to be inlined is not the body of the control statement.				if (currentStatement != fTargetNode) {					ASTNode copy= fRewriter.createCopy(currentStatement);					fStatements.add(copy);				} else {					// We can't replace a copy with something else. So we					// have to insert all statements to be inlined.					fTargetNode= null;				}				fRewriter.markAsReplaced(currentStatement, block);			}		}		// We only insert one new statement or we delete the existing call. 		// So there is no need to have an insertion index.	}