def METHOD_NAME(self, key):
    if self.bsc:
        with self.bsc.get_blob_client(
            container=self.endpoint, blob=key[1:]
        ) as blob_client:
            props = blob_client.get_blob_properties()
        size = props.size
        modified = props.last_modified
    else:
        remote_path = self._convert_key_to_remote_path(key)
        files = self._filesystem.ls(remote_path, detail=True)
        if len(files) == 1 and files[0]["type"] == "file":
            size = files[0]["size"]
            modified = files[0]["last_modified"]
        elif len(files) == 1 and files[0]["type"] == "directory":
            raise FileNotFoundError("Operation expects a file not a directory!")
        else:
            raise ValueError("Operation expects to receive a single file!")
    return FileStats(size, time.mktime(modified.timetuple()))