code: def _GenerateConvertedValues(self, converter, grr_messages):
      
      for batch in collection.Batch(grr_messages, self.BATCH_SIZE):
        metadata_items = self._GetMetadataForClients([gm.source for gm in batch])
        batch_with_metadata = zip(metadata_items, [gm.payload for gm in batch])
  
        for result in converter.BatchConvert(
            batch_with_metadata, token=self.token):
          yield result
docs: Generates converted values using given converter from given messages.
  
      Groups values in batches of BATCH_SIZE size and applies the converter
      to each batch.
  
      Args:
        converter: ExportConverter instance.
        grr_messages: An iterable (a generator is assumed) with GRRMessage values.
  
      Yields:
        Values generated by the converter.
  
      Raises:
        ValueError: if any of the GrrMessage objects doesn't have "source" set.