def __get_merged_api_info(self, services):
merged_api_info = services[<NUM_LIT:0>].api_info<EOL>for service in services[<NUM_LIT:1>:]:<EOL><INDENT>if not merged_api_info.is_same_api(service.api_info):<EOL><INDENT>raise api_exceptions.ApiConfigurationError(<EOL>_MULTICLASS_MISMATCH_ERROR_TEMPLATE % (service.api_info.name,<EOL>service.api_info.api_version))<EOL><DEDENT><DEDENT>return merged_api_info<EOL>
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()).