public CompilationFailedException(SerializationInfo info, StreamingContext context)
     : base(info, context)
 {
     GeneratedCode = info.GetString("GeneratedCode");
     CompilationMessage[] messages = new CompilationMessage[info.GetInt32("Messages.Count")];
     for (int i = 0; i < messages.Length; i++)
     {
         messages[i] = (CompilationMessage)info.GetValue("Messages[" + i + "]", typeof(CompilationMessage));
     }
     Messages = messages.ToList();
 }