Yields client_files for the specified file store hash.

    Args:
      hash_obj: RDFURN that we want to get hits for.
      token: Security token.
      age: AFF4 age specification. Only get hits corresponding to the given age
        spec. Should be aff4.NEWEST_TIME or a time range given as a tuple
        (start, end) in microseconds since Jan 1st, 1970. If just a microseconds
        value is given it's treated as the higher end of the range, i.e. (0,
        age). See aff4.FACTORY.ParseAgeSpecification for details.

    Yields:
      RDFURNs corresponding to a client file that has the hash.

    Raises:
      ValueError: if age was set to aff4.ALL_TIMES.

def GetClientsForHash(cls, hash_obj, token=None, age=aff4.NEWEST_TIME):
    """Yields client_files for the specified file store hash.

    Args:
      hash_obj: RDFURN that we want to get hits for.
      token: Security token.
      age: AFF4 age specification. Only get hits corresponding to the given age
        spec. Should be aff4.NEWEST_TIME or a time range given as a tuple
        (start, end) in microseconds since Jan 1st, 1970. If just a microseconds
        value is given it's treated as the higher end of the range, i.e. (0,
        age). See aff4.FACTORY.ParseAgeSpecification for details.

    Yields:
      RDFURNs corresponding to a client file that has the hash.

    Raises:
      ValueError: if age was set to aff4.ALL_TIMES.
    """

    if age == aff4.ALL_TIMES:
      raise ValueError("age==aff4.ALL_TIMES is not supported.")

    results = cls.GetClientsForHashes([hash_obj], token=token, age=age)
    for _, client_files in results:
      for client_file in client_files:
        yield client_file