public static Subscription deserializeSubscription(final ByteBuffer buffer) {
        return deserializeSubscription(buffer, deserializeVersion(buffer));
    }
ConsumerProtocol contains the schemas for consumer subscriptions and assignments for use with
Kafka's generalized group management protocol.

The current implementation assumes that future versions will not break compatibility. When
it encounters a newer version, it parses it using the current format. This basically means
that new versions cannot remove or reorder any of the existing fields.
clients/src/main/java/org/apache/kafka/clients/consumer/internals/ConsumerProtocol.java