new JThisExpression(null), RawExecutionCode.recvBuffer, recvBufferField), indexMod);
localVariables.recvBuffer), indexAnd);
	public Object visitPeekExpression(SIRPeekExpression oldSelf,					  CType oldTapeType,					  JExpression oldArg) {	    // do the super	    SIRPeekExpression self = 		(SIRPeekExpression)		super.visitPeekExpression(oldSelf, oldTapeType, oldArg);	    	    //the cfields corresponding to the fields used in this	    //conversion	    CSourceField recvBufferIndexField = 		new CSourceField(null, 			   0, 			   RawExecutionCode.recvBufferIndex,			   CStdType.Integer,			   false);	    CSourceField recvBufferField = 		new CSourceField(null, 			   0, 			   RawExecutionCode.recvBuffer,			   self.getType(),			   false);	     CSourceField recvBufferSizeField = 		new CSourceField(null, 			   0, 			   RawExecutionCode.recvBufferSize,			   CStdType.Integer,			   false);	    //create the index calculation expression	    JAddExpression argIncrement = 		new JAddExpression(null, self.getArg(), new JIntLiteral(1));	    JAddExpression index = 		new JAddExpression(null,				   new JFieldAccessExpression				   (null, 				    new JThisExpression(null),				    RawExecutionCode.recvBufferIndex,				    recvBufferIndexField),				   argIncrement);	    //create the mod expression	    JModuloExpression indexMod = 		new JModuloExpression(null, index,				      new JFieldAccessExpression				      (null,				       new JThisExpression(null),				       RawExecutionCode.recvBufferSize,				       recvBufferSizeField));      	    //create the array access expression	    JArrayAccessExpression bufferAccess = 		new JArrayAccessExpression(null,					   new JFieldAccessExpression					   (null,					    new JThisExpression(null),					    RawExecutionCode.recvBuffer,					    recvBufferField),					   indexMod);	    //return the parenthesed expression	    return new JParenthesedExpression(null,					      bufferAccess);	}