def METHOD_NAME(self, dataset):
    dataset_repo = git.Repo(dataset)
    super_dataset_repo = git.Repo(os.getcwd())
    for input_submodule in dataset_repo.submodules:
        input_submodule_repo = input_submodule.module()
        input_submodule_commit = input_submodule_repo.commit()
        input_submodule_url = input_submodule.url
        matching_list = list(
            filter(
                lambda x: x if x.url == input_submodule_url else None,
                super_dataset_repo.submodules,
            )
        )
        if not len(matching_list) == 1:
            break
        matching_conp_dataset = matching_list[0]
        with lock:
            if len(os.listdir(matching_conp_dataset.abspath)) == 0:
                api.install(path=matching_conp_dataset.abspath, recursive=False)
        source_dataset_repo = git.Repo(matching_conp_dataset.abspath)
        source_dataset_latest_commit = source_dataset_repo.commit()
        if source_dataset_latest_commit != input_submodule_commit:
            summary_error_message = (
                f"Submodule {input_submodule.path} of dataset {dataset} needs"
                f" to be updated. Commit of original dataset is"
                f" {source_dataset_latest_commit} while commit of the"
                f" submodule {input_submodule} is {input_submodule_commit}"
            )
            pytest.fail(summary_error_message, pytrace=False)