new JIntLiteral(peekBufferSize));
new JIntLiteral(remaining[0]));
    private JStatement peekRestoreLoop(JVariableDefinition loopCounterRestore, boolean isInit)     {	assert !isInit : "Calling peekRestore when in initialization schedule";		if (peekBufferSize == 0) 	    return new JEmptyStatement(null, null);	// make a statement that will copy peeked items into the pop	// buffer, assuming the counter will count from 0 to peekBufferSize	// the lhs of the source of the assignment	JExpression sourceLhs = 	    new JLocalVariableExpression(null,					 peekBufferVar);	// the rhs of the source of the assignment  	JExpression sourceRhs = 	    new JLocalVariableExpression(null, 					 loopCounterRestore);	// the lhs of the dest of the assignment	JExpression destLhs = 	    new JLocalVariableExpression(null,					 bufferVar[0]);	    	// the rhs of the dest of the assignment	JExpression destRhs = 	    new JLocalVariableExpression(null,					 loopCounterRestore);	// the expression that copies items from the pop buffer to the	// peek buffer	JExpression copyExp = 	    new JAssignmentExpression(null,				      new JArrayAccessExpression(null,								 destLhs,								 destRhs),				      new JArrayAccessExpression(null,								 sourceLhs,								 sourceRhs));	// finally we have the body of the loop	JStatement body = new JExpressionStatement(null, copyExp, null);	// return a for loop that executes (peek-pop) times.	return GenerateCCode.makeDoLoop(body,			   loopCounterRestore, 			   new JIntLiteral(peekBufferSize));    }