def METHOD_NAME(src: str, dst: str, task: str) -> None:
    if not Path(src).is_dir():
        raise ValueError(f"source path {src} must be a directory.")
    labels = [str(f) for f in Path(src).glob("*/segmentation.nii.gz")]
    assert len(labels) > 0
    images = [f.replace("segmentation.nii", "imaging.nii") for f in labels]
    Path(dst).mkdir(parents=True, exist_ok=True)
    for src_img, src_seg in tzip(images, labels):
        case_id = Path(src_img).parent.name.replace("case_00", "")
        # Generate new file name and copy image to dst
        dst_img = str(Path(dst) / f"IM_KITS_{case_id}.nii.gz")
        shutil.copy(src_img, dst_img)
        # Generate label file name
        dst_seg = str(Path(dst) / f"LB_KITS_{case_id}.nii.gz")
        # Remap labels
        seg = nib.load(src_seg)
        seg_data = np.asanyarray(seg.dataobj)
        seg_data = map_values(seg_data, task=task)
        seg = nib.Nifti1Image(seg_data, seg.affine)
        # Save new label
        nib.save(seg, dst_seg)
    # Copy datalist.json to dst if necessary
    dst_list_path = str(Path(dst) / "datalist.json")
    try:
        shutil.copy(DEFAULT_DATA_LIST[task], dst_list_path)
    except shutil.SameFileError:
        pass