code: def update_scope_of_processing(self, process_name, uow, start_timeperiod, end_timeperiod):
          
          source_collection_name = uow.source
          last_object_id = self.ds.lowest_primary_key(source_collection_name, start_timeperiod, end_timeperiod)
          uow.end_id = str(last_object_id)
          self.uow_dao.update(uow)
  
          msg = 'Updated processing range for {0}@{1} for collection {2}: [{3} : {4}]' \
                .format(process_name, start_timeperiod, source_collection_name, uow.start_id, uow.end_id)
          self._log_message(INFO, process_name, start_timeperiod, msg)
docs: method reads collection and refine slice upper bound for processing