(makeForLoop(receiveCode(filter), exeIndex,
(makeForLoop(receiveCode(filter, localVariables), localVariables.exeIndex,
    JStatement generateSteadyStateLoop(SIRFilter filter)     {	int unrollFactor = 1;		//if this filter has a buffer, 	//the unroll factor is equal to the lcm of pop	//and the buffersize	if (filter.getPeekInt() > 0) {	    unrollFactor = 		lcm(filter.getPopInt(),		    CalcBufferSize.getConsBufSize		    (Layout.getNode(Layout.getTile(filter))));	}		JBlock block = new JBlock(null, new JStatement[0], null);		//add the statements to receive pop items into the buffer	block.addStatement	    (makeForLoop(receiveCode(filter),			 exeIndex,			 new JIntLiteral(filter.getPopInt())));		//clone and inline the work function	for (int i = 0; i < unrollFactor; i++) {	    JBlock workBlock = 		(JBlock)ObjectDeepCloner.		deepCopy(filter.getWork().getBody());	    block.addStatement(workBlock);	}	//return the infinite loop	return new JWhileStatement(null, 				   new JBooleanLiteral(null, true),				   block, 				   null);    }