'Turn Exported* protos with embedded metadata into a nested dict.'

def _GetNestedDict(self, value):

    row = {}
    for type_info in value.__class__.type_infos:
        if (type_info.__class__.__name__ == 'ProtoEmbedded'):
            row[type_info.name] = self._GetNestedDict(value.Get(type_info.name))
        else:
            row[type_info.name] = utils.SmartStr(value.Get(type_info.name))
    return row
