code: MessageType parseType(String text) {
          int commentStart = text.indexOf("(");
          if (commentStart != -1) {
              //remove optional comment
              text = text.substring(0, commentStart);
          }
          text = text.substring(text.indexOf(": ") + 2);
          String[] alternatives = text.split(" " + OrType.OR_NAME + " ");
          MessageType[] types = new MessageType[alternatives.length];
          for (int i = 0 ; i < alternatives.length ; i++) {
              types[i] = parseAlternative(alternatives[i].trim());
          }
          return types.length > 1 ?
                  new OrType(types) : types[0];
      }
docs: Split the type comment into multiple alternatives (separated by 'or') - then parse each of them
  individually and form an 'or' type.