docs: def download(self, force=False):
          """
          Download file containing this package.
          :param force: Force download even if it seems file already exists
          :return: Full path with filename of downloaded package file.
          """
          exists, dest_path = self._downloader.cache.exists_packed(package=self, pkg_path=self.packed_path,
                                                                   check_stat=not self._in_cache)
          unp_exists, unp_path = self._downloader.cache.exists_unpacked(package=self, pkg_path=self.unpacked_path)
  
          # Если архива нет, то и кешу доверять не стоит
          if not exists:
              unp_exists = False
  
          if exists and not self.packed_path:
              self.packed_path = dest_path
  
          if force or not exists:
              # _packed_path = self._packed_path
              dest_path_tmp = dest_path + ".tmp"
              if os.path.exists(dest_path_tmp):
                  os.remove(dest_path_tmp)
              self._adapter.download_package(self._pkg, dest_path_tmp)
              os.rename(dest_path_tmp, dest_path)
              self.packed_path = dest_path
              # if not _packed_path:
              self._not_cached = True
          else:
              if unp_exists and not self.unpacked_path:
                  self.unpacked_path = unp_path
                  self._not_cached = False
  
          if self._not_cached and unp_exists:
              shutil.rmtree(unp_path, ignore_errors=True)
  
          return self.packed_path