code: def results(self) -> List[R]:
      self._check_not_cancelled()
      if self._submission.done():
          return [self._submission._result]
  
      environ_backup = dict(os.environ)
      # Restore os.environ from job creation time.
      os.environ.clear()
      os.environ.update(self.environ)
  
      root_logger = logging.getLogger("")
      self.paths.stdout.parent.mkdir(exist_ok=True, parents=True)
      stdout_handler = logging.FileHandler(self.paths.stdout)
      stdout_handler.setLevel(logging.DEBUG)
      stderr_handler = logging.FileHandler(self.paths.stderr)
      stderr_handler.setLevel(logging.WARNING)
      root_logger.addHandler(stdout_handler)
      root_logger.addHandler(stderr_handler)
      root_logger.warning(
          f"Logging is written both to stderr/stdout and to {self.paths.stdout}/err. "
          "But call to print will only appear in the console."
      )
      try:
          return [self._submission.result()]
      except Exception as e:
          print(e)
          # Try to mimic `breakpoint()` behavior
          # pylint: disable=import-outside-toplevel
          if os.environ.get("PYTHONBREAKPOINT", "").startswith("ipdb"):
              import ipdb  # pylint: disable=import-error
  
              ipdb.post_mortem()
          else:
              import pdb
  
              pdb.post_mortem()
          raise
      finally:
          os.environ.clear()
          os.environ.update(environ_backup)
          root_logger.removeHandler(stdout_handler)
          root_logger.removeHandler(stderr_handler)
  
imports: import logging
  import os
  import typing
  from pathlib import Path
  from typing import Dict, List, Optional, Union
  from ..core.core import Executor, InfoWatcher, Job, R
  from ..core.job_environment import JobEnvironment
  from ..core.utils import DelayedSubmission, UncompletedJobError
label_desc: Use image node_id 6 for calling the DebugJob obj's underlying member method code with example usage: obj.results() and returns: list, list