code: def register(self, tileable: TileableType, session: SessionType):
      if tileable in self._tileable_to_sessions:
          self._tileable_to_sessions[tileable].append(
              _TileableSession(tileable, session)
          )
      else:
          self._tileable_to_sessions[tileable] = [
              _TileableSession(tileable, session)
          ]
  
imports: import asyncio
  import atexit
  import concurrent.futures
  import queue
  import threading
  from typing import List
  from weakref import WeakKeyDictionary, ref
  from ...lib.aio import get_isolation
  from ...typing import SessionType, TileableType
  from ..mode import enter_mode
label_desc: Use image node_id 2 for calling the _TileableDataCleaner obj's underlying member method code with example usage: obj.register(tileable, session) without return types