code: def combined_message_class(self):
      if self.__combined_message_class is not None:
        return self.__combined_message_class
      fields = {}
      field_number = 1
      for field in self.body_message_class.all_fields():
        fields[field.name] = _CopyField(field, number=field_number)
        field_number += 1
      for field in self.parameters_message_class.all_fields():
        if field.name in fields:
          if not _CompareFields(field, fields[field.name]):
            raise TypeError('Field %r contained in both parameters and request '
                            'body, but the fields differ.' % (field.name,))
          else:
            continue
        fields[field.name] = _CopyField(field, number=field_number)
        field_number += 1
      self.__combined_message_class = type('CombinedContainer',
                                           (messages.Message,), fields)
      return self.__combined_message_class