code: def parent_run(self):
      if len(self.runs) < 2:
          return None
      # Get the setup with the same USI as the current run.
      current_USI = mlflow.get_run(self.runs[-1].info.run_id).data.tags[
          "USI"
      ]
      for run in reversed(self.runs[:-1]):
          tags = mlflow.get_run(run.info.run_id).data.tags
          if tags["Source"] == "setup" and tags["USI"] == current_USI:
              return run
      return None
  
imports: import secrets
  from contextlib import contextmanager
  from pycaret.loggers.base_logger import BaseLogger
  from pycaret.utils.generic import mlflow_remove_bad_chars
label_desc: Use image node_id 4 for calling the MlflowLogger obj's underlying member method code with example usage: obj.parent_run() and returns: None, None, run