code: def _process_thread(self, client):
      
      file_list = self.files
      if not file_list:
        return
      print('Filefinder to collect {0:d} items'.format(len(file_list)))
  
      flow_action = flows_pb2.FileFinderAction(
          action_type=flows_pb2.FileFinderAction.DOWNLOAD)
      flow_args = flows_pb2.FileFinderArgs(
          paths=file_list,
          action=flow_action,)
      flow_id = self._launch_flow(client, 'FileFinder', flow_args)
      self._await_flow(client, flow_id)
      collected_flow_data = self._download_files(client, flow_id)
      if collected_flow_data:
        print('{0!s}: Downloaded: {1:s}'.format(flow_id, collected_flow_data))
        fqdn = client.data.os_info.fqdn.lower()
        self.state.output.append((fqdn, collected_flow_data))
docs: Process a single client.
  
      Args:
        client: GRR client object to act on.