docs: def _matching_api_version(self, operation):
          """Find the latest version of the protocol operation supported by both
          this library and the broker.
  
          This resolves to the lesser of either the latest api version this
          library supports, or the max version supported by the broker.
  
          :param operation: A list of protocol operation versions from kafka.protocol.
          :return: The max matching version number between client and broker.
          """
          version = min(len(operation) - 1,
                        self._client.get_api_versions()[operation[0].API_KEY][1])
          if version < self._client.get_api_versions()[operation[0].API_KEY][0]:
              # max library version is less than min broker version. Currently,
              # no Kafka versions specify a min msg version. Maybe in the future?
              raise IncompatibleBrokerVersion(
                  "No version of the '{}' Kafka protocol is supported by both the client and broker."
                  .format(operation.__name__))
          return version