code: def _GetNestedDict(self, value):
      
      row = {}
      for type_info in value.__class__.type_infos:
        # We only expect the metadata proto to be included as ProtoEmbedded.
        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
docs: Turn Exported* protos with embedded metadata into a nested dict.