@Override
    public Serializable read(final MySQLBinlogColumnDef columnDef, final MySQLPacketPayload payload) {
        ByteBuf newlyByteBuf = payload.getByteBuf().readBytes(readLengthFromMeta(columnDef.getColumnMeta(), payload));
        try {
            return MySQLJsonValueDecoder.decode(newlyByteBuf);
        } finally {
            newlyByteBuf.release();
        }
    }
@Test
    void assertReadJsonValueWithMeta4() {
        columnDef.setColumnMeta(4);
        when(payload.readInt4()).thenReturn(4);
        when(byteBuf.readBytes(4)).thenReturn(jsonValueByteBuf);
        assertThat(new MySQLJsonBinlogProtocolValue().read(columnDef, payload), is(EXPECTED_JSON));
    }