public byte[] rawData()
{
byte[] idBytes = BitConverter.GetBytes(Id);
byte[] rv = new byte[idBytes.Length + key.Length];
System.Buffer.BlockCopy(idBytes, 0, rv, 0, idBytes.Length);
System.Buffer.BlockCopy(key, 0, rv, idBytes.Length, key.Length);
return rv;
}