Assert.isNotNull(sourceDeclaration);
	protected void createMethodInlineChange(final CompilationUnitRewrite unitRewrite, final MethodDeclaration sourceDeclaration, final SearchMatch match, final boolean targetNode, final RefactoringStatus status) throws JavaModelException {		Assert.isNotNull(unitRewrite);		Assert.isNotNull(match);		Assert.isNotNull(status);		final ASTRewrite rewrite= unitRewrite.getASTRewrite();		final ASTNode node= ASTNodeSearchUtil.findNode(match, unitRewrite.getRoot());		final TextEditGroup group= unitRewrite.createGroupDescription(RefactoringCoreMessages.getString("MoveInstanceMethodProcessor.inline_method_invocation")); //$NON-NLS-1$		if (node instanceof MethodInvocation) {			final AST ast= rewrite.getAST();			final MethodInvocation invocation= (MethodInvocation) node;			final Expression expression= invocation.getExpression();			if (fTarget.isField()) {				if (expression != null)					rewrite.set(invocation, MethodInvocation.EXPRESSION_PROPERTY, createInlinedTargetExpression(unitRewrite, sourceDeclaration, expression, status), group);				else					rewrite.set(invocation, MethodInvocation.EXPRESSION_PROPERTY, ast.newSimpleName(fTargetName), group);			} else {				final IVariableBinding[] bindings= getMethodParameters(sourceDeclaration);				if (bindings.length > 0) {					int index= 0;					for (; index < bindings.length; index++)						if (Bindings.equals(bindings[index], fTarget))							break;					final List arguments= invocation.arguments();					if (index < bindings.length && arguments.size() > index) {						final ASTNode argument= (ASTNode) arguments.get(index);						rewrite.set(invocation, MethodInvocation.EXPRESSION_PROPERTY, rewrite.createCopyTarget(argument), group);						final ListRewrite rewriter= rewrite.getListRewrite(invocation, MethodInvocation.ARGUMENTS_PROPERTY);						if (targetNode) {							if (expression != null)								rewriter.replace(argument, rewrite.createCopyTarget(expression), group);							else								rewriter.replace(argument, ast.newThisExpression(), group);						} else							rewriter.remove(argument, group);					}				} else					Assert.isTrue(false);			}			rewrite.set(invocation, MethodInvocation.NAME_PROPERTY, ast.newSimpleName(fMethodName), group);		}	}