async def METHOD_NAME(self, provision: bool = False) -> "AskarOpenStore":
    """Open a store, removing and/or creating it if so configured.
    Raises:
        ProfileNotFoundError: If the store is not found
        ProfileError: If there is another aries_askar error
    """
    try:
        if provision or self.in_memory:
            store = await Store.provision(
                self.get_uri(create=True),
                self.key_derivation_method,
                self.key,
                recreate=self.auto_recreate,
            )
        else:
            store = await Store.open(
                self.get_uri(),
                self.key_derivation_method,
                self.key,
            )
    except AskarError as err:
        if err.code == AskarErrorCode.DUPLICATE:
            raise ProfileDuplicateError(
                f"Duplicate store '{self.name}'",
            )
        if err.code == AskarErrorCode.NOT_FOUND:
            raise ProfileNotFoundError(
                f"Store '{self.name}' not found",
            )
        raise ProfileError("Error opening store") from err
    return AskarOpenStore(self, provision, store)