def METHOD_NAME(self, data: Mapping[K, T], force: bool = False) -> None:
    # Populate the cache with the specified values
    if self.cache:
        for key, value in data.items():
            if not self.cache_map.get(key) or force:
                future: Future = Future(loop=self.loop)
                future.set_result(value)
                self.cache_map.set(key, future)
    # For keys that are pending on the current batch, but the
    # batch hasn't started fetching yet: Remove it from the
    # batch and set to the specified value
    if self.batch is not None and not self.batch.dispatched:
        batch_updated = False
        for task in self.batch.tasks:
            if task.key in data:
                batch_updated = True
                task.future.set_result(data[task.key])
        if batch_updated:
            self.batch.tasks = [
                task for task in self.batch.tasks if not task.future.done()
            ]