public override void Deserialize(BinaryReader reader)
 {
     Commands = new List<VMArchitectureCommand>();
     int length = reader.ReadInt32();
     for (int i=0; i<length; i++)
     {
         var cmd = new VMArchitectureCommand();
         cmd.Deserialize(reader);
         Commands.Add(cmd);
     }
 }