def __normalized_name(self, message_type):
<EOL>name = message_type.definition_name()<EOL>split_name = re.split(r'<STR_LIT>', name)<EOL>normalized = '<STR_LIT>'.join(<EOL>part[<NUM_LIT:0>].upper() + part[<NUM_LIT:1>:] for part in split_name if part)<EOL>previous = self.__normalized_names.get(normalized)<EOL>if previous:<EOL><INDENT>if previous != name:<EOL><INDENT>raise KeyError('<STR_LIT>' %<EOL>(name, previous, normalized))<EOL><DEDENT><DEDENT>else:<EOL><INDENT>self.__normalized_names[normalized] = name<EOL><DEDENT>return normalized<EOL>
Normalized schema name.

        Generate a normalized schema name, taking the class name and stripping out
        everything but alphanumerics, and camel casing the remaining words.
        A normalized schema name is a name that matches [a-zA-Z][a-zA-Z0-9]*

        Args:
          message_type: protorpc.message.Message class being parsed.

        Returns:
          A string, the normalized schema name.

        Raises:
          KeyError: A collision was found between normalized names.