public byte[] serialize() {int size = getDataSize() + 4;ByteArrayOutputStream baos = new ByteArrayOutputStream(size);serialize(new LittleEndianOutputStream(baos));if (baos.size() != size) {throw new RuntimeException("write size mismatch");}return baos.toByteArray();}

public byte[] Serialize(){int size = DataSize + 4;using (MemoryStream baos = new MemoryStream(size)){Serialize(new LittleEndianOutputStream(baos));if (baos.Length != size){throw new Exception("write size mismatch");}return baos.ToArray();}}
