code: def run(self):
      sig = " ".join(self.arguments)
  
      m = py_sig_re.match(sig)
      if m is None:
          raise SphinxError(
              f"Unable to parse signature for bokeh-options: {sig!r}"
          )
      name_prefix, options_name, arglist, retann = m.groups()
  
      module_name = self.options["module"]
  
      try:
          module = importlib.import_module(module_name)
      except ImportError:
          raise SphinxError(
              f"Unable to generate options reference docs for {options_name}, couldn't import module {module_name}"
          )
  
      options = getattr(module, options_name, None)
      if options is None:
          raise SphinxError(
              f"Unable to generate options reference docs: no options {options_name} in module {module_name}"
          )
  
      if not issubclass(options, Options):
          raise SphinxError(
              f"Unable to generate options reference docs: {options_name} is not a subclass of Options"
          )
  
      options_obj = options({})
  
      opts = []
      for prop_name in sorted(options_obj.properties()):
          descriptor = options_obj.lookup(prop_name)
          opts.append(
              dict(
                  name=prop_name,
                  type=type_link(descriptor.property),
                  default=repr(
                      descriptor.instance_default(options_obj)
                  ),
                  doc=""
                  if descriptor.__doc__ is None
                  else textwrap.dedent(descriptor.__doc__.rstrip()),
              ),
          )
  
      rst_text = OPTIONS_DETAIL.render(opts=opts)
  
      return self.parse(rst_text, "<bokeh-options>")
  
file_path: bokeh/src/bokeh/sphinxext/bokeh_options.py
imports: from __future__ import annotations
  import logging
  import importlib
  import textwrap
  from docutils.parsers.rst.directives import unchanged
  from sphinx.errors import SphinxError
  from bokeh.core.property._sphinx import type_link
  from bokeh.util.options import Options
  from .None import PARALLEL_SAFE
  from .bokeh_directive import BokehDirective, py_sig_re
  from .templates import OPTIONS_DETAIL
label_desc: Use image node_id 1 for calling the BokehOptionsDirective obj's underlying member method code with example usage: obj.run() and returns: self