@Test void traceRoundTrip_PROTO3_directBuffer() {
    byte[] message = SpanBytesEncoder.PROTO3.encodeList(TRACE);
    ByteBuffer buf = ByteBuffer.allocateDirect(message.length);
    buf.put(message);
    buf.flip();

    assertThat(SpanBytesDecoder.PROTO3.decodeList(buf)).isEqualTo(TRACE);
  }
Particular, thrift can mistake malformed content as a huge list. Let's not blow up.
zipkin/src/test/java/zipkin2/codec/SpanBytesDecoderTest.java