Resolves multiple attributes at once for one subject.

def ResolveMulti(self, subject, attributes, timestamp=None, limit=None):
    """Resolves multiple attributes at once for one subject."""
    for attribute in attributes:
      query, args = self._BuildQuery(subject, attribute, timestamp, limit)
      result, _ = self.ExecuteQuery(query, args)

      for row in result:
        value = self._Decode(attribute, row["value"])

        yield (attribute, value, row["timestamp"])

      if limit:
        limit -= len(result)

      if limit is not None and limit <= 0:
        break