assert joined != null; // because start < end, loop assigns it
FilePosition exprPos = joined.getFilePosition();
if (s instanceof ReturnStmt) {
newChild = new ReturnStmt(exprPos, joined);
} else if (s instanceof ThrowStmt) {
newChild = new ThrowStmt(exprPos, joined);
} else {
newChild = new ExpressionStmt(exprPos, joined);
}
stmts.subList(start, end).clear();
stmts.add(start, newChild);