code: def do_inspect(self, code, cursor_pos, detail_level=0):
      name = token_at_cursor(code, cursor_pos)
      info = self.shell.object_inspect(name)
  
      reply_content = {"status": "ok"}
      reply_content["data"] = data = {}
      reply_content["metadata"] = {}
      reply_content["found"] = info["found"]
      if info["found"]:
          info_text = self.shell.object_inspect_text(
              name,
              detail_level=detail_level,
          )
          data["text/plain"] = info_text
  
      return reply_content
  
imports: import getpass
  import sys
  from IPython.core import release
  from ipython_genutils.py3compat import builtin_mod, PY3, unicode_type, safe_unicode
  from IPython.utils.tokenutil import token_at_cursor, line_at_cursor
  from traitlets import Instance, Type, Any, List, Bool
  from .comm import CommManager
  from .kernelbase import Kernel
  from .zmqshell import ZMQInteractiveShell
label_desc: Use image node_id 16 for calling the IPythonKernel obj's underlying member method code with example usage: obj.do_inspect(code, cursor_pos, detail_level) and returns: reply_content