block.addStatement(gdnCacheAlign(false));
    private JBlock getWorkFunctionBlock(boolean steady, int mult)    {        JBlock block = new JBlock(null, new JStatement[0], null);        FilterContent filter = filterInfo.filter;                //if we have gdn output then we have to set up the gdn packet header for        //each gdn send        if (gdnOutput) {            block.addStatement(setDynMsgHeader());        }                //inline the work function in a while loop        JBlock workBlock = new JBlock(null, new JStatement[0], null);        workBlock.addStatement(getWorkFunctionCall(filter));            //if we are compressing the sends and receives on the switch for this        //filter, we must send them now        if (steady && Rawify.SWITCH_COMP && filterInfo.steadyMult > Rawify.SC_THRESHOLD) {            //if we are compressing the receives, send the trip count to the switch            if (filterInfo.itemsNeededToFire(0, false) > Rawify.SC_INS_THRESH) {                workBlock.addStatement(boundToSwitchStmt(filterInfo.itemsNeededToFire(0, false)));            }            //if we are compressing the sends, send the trip count to the switch            if (filterInfo.itemsFiring(0, false) > Rawify.SC_INS_THRESH) {                workBlock.addStatement(boundToSwitchStmt(filterInfo.itemsFiring(0, false)));            }        }        //create the for loop that will execute the work function        //local variable for the work loop        JVariableDefinition loopCounter = new JVariableDefinition(null,                                                                  0,                                                                  CStdType.Integer,                                                                  workCounter,                                                                  null);                JStatement loop =             makeForLoop(workBlock, loopCounter, new JIntLiteral(mult));            block.addStatement(new JVariableDeclarationStatement(null,                                                             loopCounter,                                                             null));        block.addStatement(loop);        /*          return new JMethodDeclaration(null, at.dms.kjc.Constants.ACC_PUBLIC,          CStdType.Void,          steadyStage + uniqueID,          JFormalParameter.EMPTY,          CClassType.EMPTY,          block,          null,          null);        */        return block;    }