def delete_direct(self, addresses):
        """Called in the context manager's delete method to either
        mark an entry for deletion , or create a new future and immediately
        set it for deletion in the future.

        Args:
            address_list (list of str): The unique full addresses.

        Raises:
            AuthorizationException
        """

        with self._lock:
            for address in addresses:
                self._validate_write(address)
                if address in self._state:
                    self._state[address].set_deleted()
                else:
                    fut = _ContextFuture(address=address)
                    self._state[address] = fut
                    fut.set_deleted()