def ResolvePrefix(self, subject, attribute_prefix, timestamp=None,
                    limit=None):
    """Retrieve a set of value matching for this subject's attribute.

    Args:
      subject: The subject that we will search.
      attribute_prefix: The attribute prefix.
      timestamp: A range of times for consideration (In microseconds). Can be a
        constant such as ALL_TIMESTAMPS or NEWEST_TIMESTAMP or a tuple of ints
        (start, end).
      limit: The number of results to fetch.

    Returns:
       A list of (attribute, value string, timestamp).

       Values with the same attribute (happens when timestamp is not
       NEWEST_TIMESTAMP, but ALL_TIMESTAMPS or time range) are guaranteed
       to be ordered in the decreasing timestamp order.

    Raises:
      AccessError: if anything goes wrong.
    """
    for _, values in self.MultiResolvePrefix([subject],
                                             attribute_prefix,
                                             timestamp=timestamp,
                                             limit=limit):
      values.sort(key=lambda a: a[0])
      return values

    return []
Retrieve a set of value matching for this subject's attribute.

    Args:
      subject: The subject that we will search.
      attribute_prefix: The attribute prefix.
      timestamp: A range of times for consideration (In microseconds). Can be a
        constant such as ALL_TIMESTAMPS or NEWEST_TIMESTAMP or a tuple of ints
        (start, end).
      limit: The number of results to fetch.

    Returns:
       A list of (attribute, value string, timestamp).

       Values with the same attribute (happens when timestamp is not
       NEWEST_TIMESTAMP, but ALL_TIMESTAMPS or time range) are guaranteed
       to be ordered in the decreasing timestamp order.

    Raises:
      AccessError: if anything goes wrong.