stop using ByteBuffer.mark()