@Override
 public void write(Bytes out, @NotNull A toWrite) {
   out.writeUtf8(toWrite.str_);
   if (toWrite.list_ != null) {
     int size = toWrite.list_.size();
     out.writeStopBit(size);
     for (int i = 0; i < size; i++) {
       toWrite.list_.get(i).writeMarshallable(out);
     }
   } else {
     out.writeStopBit(-1);
   }
 }
 @Override
 public void writeMarshallable(Bytes out) {
   out.writeUtf8(str_);
 }