Java 试图将语句列表添加到方法';身体

Java 试图将语句列表添加到方法';身体,java,eclipse-jdt,Java,Eclipse Jdt,我有一个包含IfStatement的方法,我想删除它,但我想保留IfStatement的内容。我已经编写了这段代码,但是当我尝试将提取的表达式列表添加到方法体时,它抛出了一个IllegalArgumentException for (Object s : methodDeclaration.getBody().statements()) { if (s instanceof IfStatement) { if (((PrefixExpres

我有一个包含IfStatement的方法,我想删除它,但我想保留IfStatement的内容。我已经编写了这段代码,但是当我尝试将提取的表达式列表添加到方法体时,它抛出了一个IllegalArgumentException

for (Object s : methodDeclaration.getBody().statements()) {
            if (s instanceof IfStatement) {
                if (((PrefixExpression) ((IfStatement) s).getExpression()).getOperand().toString()
                        .equals("test")) {
                    List statements = ((Block) ((IfStatement) s).getThenStatement()).statements();
                    methodDeclaration.getBody().statements().addAll(0, statements);
                    ((IfStatement) s).delete();
                }
            }
        }
这就是我要修改的方法

public static boolean someMethod() {
        if (!test) {
            StaticMethodCall.call();
            test = true;
        }
        return test;
    }
预期的结果应该是这样的,

public static boolean someMethod() {
            StaticMethodCall.call();
            test = true;
            return test;
        }
我正在使用
.recordModifications()
方法应用更改