def METHOD_NAME(self):
    if self.should_fetch_document():
        try:
            self.document = self.document_store.METHOD_NAME(self.id)
        except DocumentNotFoundError as e:
            self.document = None
            self._document_checked = True  # set this flag to avoid multiple redundant lookups
            self.error_raised = e
        except Exception as err:
            raise err.__class__(
                f'Unable to get document with ID {self.id!r} '
                f'from document store {self.document_store!r}'
            ) from err
    return self.document