code: def __get_merged_api_info(self, services):
      
      merged_api_info = services[0].api_info
  
      # Verify that, if there are multiple classes here, they're allowed to
      # implement the same API.
      for service in services[1:]:
        if not merged_api_info.is_same_api(service.api_info):
          raise api_exceptions.ApiConfigurationError(
              _MULTICLASS_MISMATCH_ERROR_TEMPLATE % (service.api_info.name,
                                                     service.api_info.api_version))
  
      return merged_api_info
docs: Builds a description of an API.
  
      Args:
        services: List of protorpc.remote.Service instances implementing an
          api/version.
  
      Returns:
        The _ApiInfo object to use for the API that the given services implement.
  
      Raises:
        ApiConfigurationError: If there's something wrong with the API
          configuration, such as a multiclass API decorated with different API
          descriptors (see the docstring for api()).