@property<EOL><INDENT>def combined_message_class(self):<DEDENT>
if self.__combined_message_class is not None:<EOL><INDENT>return self.__combined_message_class<EOL><DEDENT>fields = {}<EOL>field_number = <NUM_LIT:1><EOL>for field in self.body_message_class.all_fields():<EOL><INDENT>fields[field.name] = _CopyField(field, number=field_number)<EOL>field_number += <NUM_LIT:1><EOL><DEDENT>for field in self.parameters_message_class.all_fields():<EOL><INDENT>if field.name in fields:<EOL><INDENT>if not _CompareFields(field, fields[field.name]):<EOL><INDENT>raise TypeError('<STR_LIT>'<EOL>'<STR_LIT>' % (field.name,))<EOL><DEDENT>else:<EOL><INDENT>continue<EOL><DEDENT><DEDENT>fields[field.name] = _CopyField(field, number=field_number)<EOL>field_number += <NUM_LIT:1><EOL><DEDENT>self.__combined_message_class = type('<STR_LIT>',<EOL>(messages.Message,), fields)<EOL>return self.__combined_message_class<EOL>
A ProtoRPC message class with both request and parameters fields.

        Caches the result in a local private variable. Uses _CopyField to create
        copies of the fields from the existing request and parameters classes since
        those fields are "owned" by the message classes.

        Raises:
          TypeError: If a field name is used in both the request message and the
            parameters but the two fields do not represent the same type.

        Returns:
          Value of combined message class for this property.