code: def partition_containers_and_clean_junk(
      self,
      base_path: Path,
  ) -> Tuple[List["ApiExperiment"], List["ApiExperiment"], List[Path]]:
      synced_containers = []
      unsynced_containers = []
      not_found = []
      async_path = base_path / ASYNC_DIRECTORY
      for container_type, container_id, path in iterate_containers(
          async_path
      ):
          metadata_container = get_metadata_container(
              backend=self._backend,
              container_id=container_id,
              container_type=container_type,
          )
          if metadata_container:
              if is_container_synced_and_remove_junk(path):
                  synced_containers.append(metadata_container)
              else:
                  unsynced_containers.append(metadata_container)
          else:
              not_found.append(path)
  
      synced_containers = [obj for obj in synced_containers if obj]
      unsynced_containers = [obj for obj in unsynced_containers if obj]
  
      return synced_containers, unsynced_containers, not_found
  
file_path: neptune-client/src/neptune/cli/container_manager.py
imports: import abc
  from pathlib import Path
  from typing import TYPE_CHECKING, List, Tuple
  from neptune.cli.utils import get_metadata_container, is_container_synced_and_remove_junk, iterate_containers
  from neptune.constants import ASYNC_DIRECTORY, OFFLINE_DIRECTORY
label_desc: Use image node_id 2 for calling the ContainersManager obj's underlying member method code with example usage: obj.partition_containers_and_clean_junk(base_path) and returns: synced_containers,  unsynced_containers,  not_found