code: def _set_handle(
      self,
      handle_class: type[RunnerHandle],
      *args: t.Any,
      **kwargs: t.Any,
  ) -> None:
      if not isinstance(self._runner_handle, DummyRunnerHandle):
          raise StateException("Runner already initialized")
  
      runner_handle = handle_class(self, *args, **kwargs)
      object_setattr(self, "_runner_handle", runner_handle)
  
imports: from __future__ import annotations
  import logging
  import typing
  from abc import ABC
  from abc import abstractmethod
  import attr
  from simple_di import Provide
  from simple_di import inject
  from ...exceptions import StateException
  from ..configuration.containers import BentoMLContainer
  from ..models.model import Model
  from ..tag import validate_tag_str
  from ..utils import first_not_none
  from .runnable import Runnable
  from .runner_handle import DummyRunnerHandle
  from .runner_handle import RunnerHandle
  from .strategy import DefaultStrategy
  from .strategy import Strategy
label_desc: Use image node_id 1 for calling the Runner obj's underlying member method code with example usage: obj._set_handle(handle_class) without return types