Description
Around line 550, the writeEscapedString() method, used to serialize a byte array, will alter the underlying ByteBuffer's pointer. Meaning subsequent uses of a toString()'d avro object will yield different results.
Need to not use a generic decode on a ByteBuffer; either clone the element (expensive), or iterate over the elements with an external index.