<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def add_message(self, message_type):
 """Add a new message. Args: message_type: protorpc.message.Message class to be parsed. Returns: string, The JSON Schema id. Raises: KeyError if the Schema id for this message_type would collide with the Schema id of a different message_type that was already added. """

    name = self.__normalized_name(message_type)
    if name not in self.__schemas:
      # Set a placeholder to prevent infinite recursion.
      self.__schemas[name] = None
      schema = self.__message_to_schema(message_type)
      self.__schemas[name] = schema
    return name