def METHOD_NAME(self, unzipped_directory: str, json_filename: str) -> Tuple[str, str]:
    """Checks JSON to move the various files to."""
    raw_json = extract_json_data(unzipped_directory, json_filename)
    json_dst_flds = raw_json.get("path_to_extract", {})
    target_file = raw_json.get("target_file", "")
    # Enforce the requirement of having a specified file. No guessing.
    target_file = target_file or self.options.get("file")
    if not target_file:
        raise CuckooPackageError("File must be specified in the JSON or the web submission UI!")
    elif not self.is_valid_extension(target_file):
        raise CuckooPackageError("Invalid, unsupported or no extension recognised by zip_compound package")
    # In case the "file" submittion option is relative, we split here
    target_srcdir, target_name = os.path.split(target_file)
    # Note for 32bit samples: Even if JSON configutation specifies "System32",
    # wow64 redirection will still happen
    # Commented out since redirection-related issues should be uncommon.
    # if is_os_64bit():
    #     wow64 = c_ulong(0)
    #     KERNEL32.Wow64DisableWow64FsRedirection(byref(wow64))
    fin_target_path = os.path.join(unzipped_directory, target_file)
    # Move files that are specified in JSON file
    if json_dst_flds:
        for f, dst_fld in json_dst_flds.items():
            oldpath = os.path.join(unzipped_directory, f)
            dst_fld = os.path.expandvars(dst_fld)
            create_custom_folders(dst_fld)
            # If a relative path is provided, take only the basename
            fname = os.path.split(f)[1]
            newpath = os.path.join(dst_fld, fname)
            # We cannot just shutil.move src dirs if src name == dst name.
            if os.path.isdir(oldpath):
                log.debug("Resolved Dir: %s for folder '%s'", dst_fld, fname)
                shutil.copytree(oldpath, newpath, dirs_exist_ok=True)
                shutil.rmtree(oldpath)
            else:
                log.debug("Resolved Dir: %s for file '%s'", dst_fld, fname)
                shutil.move(oldpath, newpath)
            if target_file.lower() == f.lower():
                fin_target_path = newpath
                self.options["curdir"] = dst_fld
                log.debug("New curdir value: %s", self.options["curdir"])
    # Only runs if a relative path is given for target file
    # Errors out if the file's containing folder is shifted
    # before shifting the target file first.
    if target_srcdir and not os.path.exists(fin_target_path):
        raise CuckooPackageError(
            "Error getting the correct path for the target file! \
            Target file should be moved before moving its containing\
            source folder"
        )
    log.debug("Final target name: %s", target_name)
    log.info("Final target path: %s", fin_target_path)
    return target_name, fin_target_path