code: def _prepare_kernel(self, km, startup_timeout=TIMEOUT, **kwargs):
      km.start_kernel(**kwargs)
      kc = km.client()
      kc.start_channels()
      try:
          kc.wait_for_ready(timeout=startup_timeout)
      except RuntimeError:
          kc.stop_channels()
          km.shutdown_kernel()
          raise
  
      return kc
  
imports: import asyncio
  import concurrent.futures
  import json
  import os
  import signal
  import sys
  import time
  from subprocess import PIPE
  import pytest
  from jupyter_core import paths
  from traitlets.config.loader import Config
  from jupyter_client import AsyncKernelManager, KernelManager
  from jupyter_client.manager import _ShutdownStatus, start_new_async_kernel, start_new_kernel
  from .utils import AsyncKMSubclass, SyncKMSubclass
label_desc: Use image node_id 5 for calling the TestParallel obj's underlying member method code with example usage: obj._prepare_kernel(km, startup_timeout) and returns: kc