code: def join(self) -> None:
      self._join_event.set()
      self._thread.join()
  
imports: import logging
  import threading
  import uuid
  from abc import abstractmethod
  from typing import TYPE_CHECKING, Dict, Optional
  from ..lib import mailbox, tracelog
  from .message_future import MessageFuture
label_desc: Use image node_id 6 for calling the MessageRouter obj's underlying member method code with example usage: obj.join() without return types