'Format a message in a human readable way.'

def Format(self):

    (yield ('message    %s    {' % self.__class__.__name__))
    for (k, (python_format, wire_format, type_descriptor)) in sorted(self.GetRawData().items()):
        if (python_format is None):
            python_format = type_descriptor.ConvertFromWireFormat(wire_format, container=self)
        if isinstance(k, basestring):
            prefix = (utils.SmartStr(k) + '    :')
            for line in type_descriptor.Format(python_format):
                (yield ('    %s    %s' % (prefix, line)))
                prefix = ''
    (yield '}')
