static void write(long timestamp, String value, byte[] endpointBytes, WriteBuffer buffer) {
      TIMESTAMP.write(buffer);
      ThriftCodec.writeLong(buffer, timestamp);

      VALUE.write(buffer);
      ThriftCodec.writeLengthPrefixed(buffer, value);

      if (endpointBytes != null) {
        ENDPOINT.write(buffer);
        buffer.write(endpointBytes);
      }
      buffer.writeByte(TYPE_STOP);
    }
This type isn't thread-safe: it re-uses state to avoid re-allocations in conversion loops.
zipkin/src/main/java/zipkin2/internal/V1ThriftSpanWriter.java