def METHOD_NAME(self) -> None:
    observer = ExtendedInotifyObserver()
    self._file_system_event_handler = _LoggingEventHandler()
    watch = None
    try:
        watch = observer.schedule(
            event_handler=self._file_system_event_handler,
            path=f"{self.path_to_observe.absolute()}",
            recursive=True,
        )
        observer.start()
        while self._stop_queue.qsize() == 0:
            # NOTE: watchdog handles events internally every 1 second.
            # While doing so it will block this thread briefly.
            # Health check delivery may be delayed.
            self.health_check_queue.put(_HEART_BEAT_MARK)
            blocking_sleep(self.heart_beat_interval_s)
    except Exception:  # pylint: disable=broad-except
        logger.exception("Unexpected error")
    finally:
        if watch:
            observer.remove_handler_for_watch(
                self._file_system_event_handler, watch
            )
        observer.stop()
        logger.warning("%s exited", _LoggingEventHandlerProcess.__name__)