code: def get_next_batch(self):
          
          number_of_items = self.read_option('number_of_items')
          for i in range(0, self.batch_size):
              to_read = self.last_read + 1
              if to_read >= number_of_items:
                  self.finished = True
                  break
              else:
                  item = BaseRecord()
                  self.last_read = to_read
                  item['key'] = self.last_read
                  item['country_code'] = random.choice(self.country_codes)
                  item['state'] = random.choice(self.states)
                  item['city'] = random.choice(self.cities)
                  item['value'] = random.randint(0, 10000)
                  self.increase_read()
                  self.last_position['last_read'] = self.last_read
                  yield item
          self.logger.debug('Done reading batch')
docs: This method is called from the manager. It must return a list or a generator
          of BaseRecord objects.
          When it has nothing else to read, it must set class variable "finished" to True.