<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def delete(self):
 """Get rid of this, starting now. Apart from deleting the node, this also informs all its users that it doesn't exist and therefore can't be their avatar anymore. """

        if self.name in self.character.portal:
            del self.character.portal[self.name]
        if self.name in self.character.preportal:
            del self.character.preportal[self.name]
        for contained in list(self.contents()):
            contained.delete()
        for user in list(self.users.values()):
            user.del_avatar(self.character.name, self.name)
        branch, turn, tick = self.engine._nbtt()
        self.engine._nodes_cache.store(
            self.character.name, self.name,
            branch, turn, tick, False
        )
        self.engine.query.exist_node(
            self.character.name, self.name,
            branch, turn, tick, False
        )
        self.character.node.send(self.character.node, key=self.name, val=None)