public static Serializable decode(final ByteBuf byteBuf) {
        int valueType = byteBuf.readUnsignedByte() & 0xff;
        StringBuilder result = new StringBuilder();
        decodeValue(valueType, 1, byteBuf, result);
        return result.toString();
    }
@Test
    void assertDecodeLargeJsonObjectWithUInt16() {
        List<JsonEntry> jsonEntries = new LinkedList<>();
        jsonEntries.add(new JsonEntry(JsonValueTypes.UINT16, "key1", 0x00007fff));
        jsonEntries.add(new JsonEntry(JsonValueTypes.UINT16, "key2", 0x00008000));
        ByteBuf payload = mockJsonObjectByteBuf(jsonEntries, false);
        String actual = (String) MySQLJsonValueDecoder.decode(payload);
        assertThat(actual, is("{\"key1\":32767,\"key2\":32768}"));
    }