def METHOD_NAME(self, log_level=logging.DEBUG):
    """
    Run the builder serially
    This is only intended for diagnostic purposes
    """
    # Set up logging
    root = logging.getLogger()
    root.setLevel(log_level)
    ch = TqdmLoggingHandler()
    formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
    ch.setFormatter(formatter)
    root.addHandler(ch)
    self.connect()
    cursor = self.get_items()
    for chunk in grouper(tqdm(cursor), self.chunk_size):
        self.logger.info(f"Processing batch of {self.chunk_size} items")
        processed_chunk = [self.process_item(item) for item in chunk]
        processed_items = [item for item in processed_chunk if item is not None]
        self.update_targets(processed_items)
    self.finalize()