docs: def metaclass(*metaclasses):
      # type: (*type) -> Callable[[type], type]
      """Create the class using all metaclasses.
  
      Args:
          metaclasses: A tuple of metaclasses that will be used to generate and
              replace a specified class.
  
      Returns:
          A decorator that will recreate the class using the specified
          metaclasses.
      """
  
      def _inner(cls):
          # pragma pylint: disable=unused-variable
          metabases = tuple(
              collections.OrderedDict(  # noqa: F841
                  (c, None) for c in (metaclasses + (type(cls),))
              ).keys()
          )
          # pragma pylint: enable=unused-variable
          _Meta = metabases[0]
          for base in metabases[1:]:
  
              class _Meta(base, _Meta):  # pylint: disable=function-redefined
                  pass
  
          return six.add_metaclass(_Meta)(cls)
  
      return _inner