public ApiMessageAndVersion deserialize(byte[] data) {
        Readable readable = new ByteBufferAccessor(ByteBuffer.wrap(data));

        return apiMessageSerde.read(readable, data.length);
    }
This class provides conversion of {@code ApiMessageAndVersion} to bytes and vice versa. This can be used as serialization protocol for any
metadata records derived of {@code ApiMessage}s. It internally uses {@link AbstractApiMessageSerde} for serialization/deserialization
mechanism.
<br><br>
Implementors need to extend this class and implement {@link #apiMessageFor(short)} method to return a respective
{@code ApiMessage} for the given {@code apiKey}. This is required to deserialize the bytes to build the respective
{@code ApiMessage} instance.
server-common/src/main/java/org/apache/kafka/server/common/serialization/BytesApiMessageSerde.java