code: def check_structure(
      sample_path,
      current_path,
      root_sample_path=None,
      root_current_path=None,
  ):
      if root_sample_path is None:
          root_sample_path = sample_path
  
      if root_current_path is None:
          root_current_path = current_path
  
      if (
          Path(sample_path).is_file() != Path(current_path).is_file()
      ) or (Path(sample_path).is_dir() != Path(current_path).is_dir()):
          FolderStructure.show_folder_structure_incorrect(
              sample_path,
              current_path,
              root_sample_path,
              root_current_path,
          )
  
      if Path(sample_path).is_dir():
          for sub_sample_path in listdir(Path(sample_path)):
              FolderStructure.check_structure(
                  join(sample_path, sub_sample_path),
                  join(current_path, sub_sample_path),
                  root_sample_path=root_sample_path,
                  root_current_path=root_current_path,
              )
  
file_path: underthesea/underthesea/corpus/util.py
imports: from os import listdir
  from os.path import join
  from pathlib import Path
label_desc: Use image node_id 2 for calling the FolderStructure obj's underlying member method code with example usage: obj.check_structure(sample_path, current_path, root_sample_path, root_current_path) without return types