code: def __create_name_version_map(api_services):
      
      api_name_version_map = {}
      for service_factory in api_services:
        try:
          service_class = service_factory.service_class
        except AttributeError:
          service_class = service_factory
          service_factory = service_class.new_factory()
  
        key = service_class.api_info.name, service_class.api_info.api_version
        service_factories = api_name_version_map.setdefault(key, [])
        if service_factory in service_factories:
          raise api_config.ApiConfigurationError(
              'Can\'t add the same class to an API twice: %s' %
              service_factory.service_class.__name__)
  
        service_factories.append(service_factory)
      return api_name_version_map
docs: Create a map from API name/version to Service class/factory.
  
      This creates a map from an API name and version to a list of remote.Service
      factories that implement that API.
  
      Args:
        api_services: A list of remote.Service-derived classes or factories
          created with remote.Service.new_factory.
  
      Returns:
        A mapping from (api name, api version) to a list of service factories,
        for service classes that implement that API.
  
      Raises:
        ApiConfigurationError: If a Service class appears more than once
          in api_services.