code: def delete_tree(self, key):
          
          self.log.debug("Deleting tree: %r", key)
          names = [item["name"] for item in self.list_path(key, with_metadata=False, deep=True)]
          for name in names:
              self.delete_key(name)
docs: Delete all keys under given root key. Basic implementation works by just listing all available
          keys and deleting them individually but storage providers can implement more efficient logic.