def METHOD_NAME(self, path: PathLike, key: t.Optional[str] = None) -> BlakeFile:
    file = BlakeFile(path, key)
    dst = Path(self.root) / file.hash[:2] / file.hash
    if not dst.exists():
        dst.parent.mkdir(parents=True, exist_ok=True)
        shutil.copyfile(path, str(dst))
    return BlakeFile(dst, file.hash)