docs: def process(self, blob=None):
          """Pump the next blob to the modules"""
          try:
              blob = self.get_blob(self.index)
  
          except IndexError:
              self.log.info("Got an IndexError, trying the next file")
              if (self.basename
                      or self.filenames) and self.file_index < self.index_stop:
                  self.file_index += 1
                  self.log.info("Now at file_index={}".format(self.file_index))
                  self._reset()
                  self.blob_file.close()
                  self.log.info("Resetting blob index to 0")
                  self.index = 0
                  file_index = self._get_file_index_str()
                  if self.filenames:
                      self.filename = self.filenames[self.file_index - 1]
                  elif self.basename:
                      self.filename = "{}{}{}.evt"  \
                                      .format(self.basename, file_index, self.suffix)
                  self.log.info("Next filename: {}".format(self.filename))
                  self.print("Opening {0}".format(self.filename))
                  self.open_file(self.filename)
                  self.prepare_blobs()
                  try:
                      blob = self.get_blob(self.index)
                  except IndexError:
                      self.log.warning(
                          "No blob found in file {}".format(self.filename)
                      )
                  else:
                      return blob
              self.log.info("No files left, terminating the pipeline")
              raise StopIteration
  
          self.index += 1
          return blob