docs: def GetAttributes(self, urns, age=NEWEST_TIME):
      """Retrieves all the attributes for all the urns."""
      urns = set([utils.SmartUnicode(u) for u in urns])
      to_read = {urn: self._MakeCacheInvariant(urn, age) for urn in urns}
  
      # Urns not present in the cache we need to get from the database.
      if to_read:
        for subject, values in data_store.DB.MultiResolvePrefix(
            to_read,
            AFF4_PREFIXES,
            timestamp=self.ParseAgeSpecification(age),
            limit=None):
  
          # Ensure the values are sorted.
          values.sort(key=lambda x: x[-1], reverse=True)
  
          yield utils.SmartUnicode(subject), values