code: def _register_offline_container(
      self, project: Project, container_type: ContainerType
  ) -> Optional[ApiExperiment]:
      try:
          if container_type == ContainerType.RUN:
              return self._backend.create_run(project.id)
          else:
              raise ValueError(
                  "Only runs are supported in offline mode"
              )
      except Exception as e:
          logger.warning(
              "Exception occurred while trying to create a run"
              " on the Neptune server. Please try again later",
          )
          logging.exception(e)
          return None
  
imports: import logging
  import os
  import threading
  import time
  from pathlib import Path
  from typing import Any, Callable, Dict, Iterable, List, Optional, Sequence
  from neptune.cli.abstract_backend_runner import AbstractBackendRunner
  from neptune.cli.utils import get_metadata_container, get_offline_dirs, get_project, get_qualified_name, is_container_synced_and_remove_junk, iterate_containers, split_dir_name
  from neptune.common.exceptions import NeptuneConnectionLostException
  from neptune.constants import ASYNC_DIRECTORY, OFFLINE_DIRECTORY, OFFLINE_NAME_PREFIX
  from neptune.envs import NEPTUNE_SYNC_BATCH_TIMEOUT_ENV
  from neptune.exceptions import CannotSynchronizeOfflineRunsWithoutProject
  from neptune.internal.backends.api_model import ApiExperiment, Project
  from neptune.internal.container_type import ContainerType
  from neptune.internal.disk_queue import DiskQueue
  from neptune.internal.id_formats import QualifiedName, UniqueId
  from neptune.internal.operation import Operation
  from neptune.internal.operation_processors.operation_storage import OperationStorage
  from neptune.internal.utils.logger import logger
label_desc: Use image node_id 6 for calling the SyncRunner obj's underlying member method code with example usage: obj._register_offline_container(project, container_type) and returns: self, None