return makeForLoop(block, localVariables.exeIndex1, new JIntLiteral(
return RawExecutionCode.makeForLoop(block, localVariables.exeIndex1, new JIntLiteral(
    JStatement generateInitWorkLoop(SIRFilter filter,            LocalVariables localVariables) {        JStatement innerReceiveLoop = makeForLoop(receiveCode(filter, filter                .getInputType(), localVariables), localVariables.exeIndex,                new JIntLiteral(filter.getPopInt()));        JExpression isFirst = new JEqualityExpression(null, false,                new JLocalVariableExpression(null, localVariables.exeIndex1),                new JIntLiteral(0));        JStatement ifStatement = new JIfStatement(null, isFirst,                innerReceiveLoop, null, null);        JBlock block = new JBlock(null, new JStatement[0], null);        // if a simple filter, reset the simpleIndex        if (isSimple(filter)) {            block.addStatement(new JExpressionStatement(null,                    (new JAssignmentExpression(null,                            new JLocalVariableExpression(null,                                    localVariables.simpleIndex),                            new JIntLiteral(-1))), null));        }        // add the if statement        block.addStatement(ifStatement);        // clone the work function and inline it        JBlock workBlock = (JBlock) ObjectDeepCloner.deepCopy(filter.getWork()                .getBody());        // if we are in debug mode, print out that the filter is firing        if (SpaceDynamicBackend.FILTER_DEBUG_MODE) {            block.addStatement(new SIRPrintStatement(null, new JStringLiteral(                    null, filter.getName() + " firing (init).\\n"), null));        }        block.addStatement(workBlock);        // return the for loop that executes the block init - 1        // times        return makeForLoop(block, localVariables.exeIndex1, new JIntLiteral(                initFire - 1));    }