Retrieve all the clients for the AbstractClientStatsCollectors.

def Run(self):
    """Retrieve all the clients for the AbstractClientStatsCollectors."""
    try:

      self.stats = {}

      self.BeginProcessing()

      processed_count = 0

      for client_info_batch in _IterateAllClients(
          recency_window=self.recency_window):
        for client_info in client_info_batch:
          self.ProcessClientFullInfo(client_info)
        processed_count += len(client_info_batch)
        self.Log("Processed %d clients.", processed_count)
        self.HeartBeat()

      self.FinishProcessing()
      for fd in itervalues(self.stats):
        fd.Close()

      logging.info("%s: processed %d clients.", self.__class__.__name__,
                   processed_count)
    except Exception as e:  # pylint: disable=broad-except
      logging.exception("Error while calculating stats: %s", e)
      raise