public net.tinyos.message.Message toTOSMsg() { AgillaTSReqMsg msg = new AgillaTSReqMsg(); msg.set_dest(dest); msg.set_reply(reply); msg.set_op(op); msg.set_template_flags(template.flags()); msg.set_template_size(template.getSize()); short dataIndex = 0; for (int i = 0; i < template.size(); i++) { AgillaStackVariable sv = template.getField(i); short[] bytes = sv.toBytes(); msg.setElement_template_data(dataIndex++, sv.getType()); // save type for (int j = 0; j < sv.getSize(); j++) { msg.setElement_template_data(dataIndex++, bytes[j]); // save var } } return msg; }