title: Use any previous message in a new message
body: <p>I have a protobuf file in which I define multiple messages which all inherit the same trait (using <code>option (scalapb.message).extends = "Event";</code> inside of message definition).</p>
  
  <p>I would like to create a new message called MultiEvent which may contain sequence of any of the messages inherited from Event.</p>
  
  <p>Event is defined as simple <code>trait Event</code> in scala code.</p>
  
  <p>The idea is to be able to send special message which contains multiple of messages at once.</p>
  
  <pre class="lang-proto prettyprint-override"><code>syntax = "proto3";
  
  import "scalapb/scalapb.proto";
  
  package com.some.package;
  
  message A {
    option (scalapb.message).extends = "Event";
    string name = 1;
  }
  
  message B {
    option (scalapb.message).extends = "Event";
    string field = 1;
  }
  
  message C {
    option (scalapb.message).extends = "Event";
    string otherField = 1;
  }
  
  message MultiEvent {
    option (scalapb.message).extends = "Event";
    repeated Event seq = 1; // this line is problematic
  }
  
  </code></pre>
  
  <p>I got the error: <code>"Event" is not defined.</code>.
  Ideally from the code the field would be a simple Seq, which repeated provides, but it works only with scalar types.
  I have found on internet that Any may be able to accomplish what I want, but I get errors when try to use it.</p>
  
  <p>What is the usual way of solving problems like this? Enum? Conversion?</p>
  
  <p>Thanks.</p>