class_docstr: Lineage node
  
  The lineage node is based on :py:class:`orion.core.utils.tree.TreeNode`. It provides
  additional methods to help represent lineages for PBT, in particular, ``fork``,
  ``set_jump``, ``get_true_ancestor`` and ``get_best_trial``.
  
  A lineage node can be connected to a parent and children, like a typical TreeNode, but
  also to ``jumps`` and a ``base``. The jumps and base represent the connection between nodes
  when PBT drops a trial and rather fork another one. In such case, the dropped trial
  will refer to the new trial (the forked one) with ``jumps`` (it can refer to many if
  the new trials crashed and required rollback) and the forked trial will refer to the
  dropped one with ``base`` (it can only refer one).
  
  Parameters
  ----------
  trial: ``orion.core.worker.trial.Trial``
      The trial to represent with the lineage node.
  parent: LineageNode, optional
      The parent node for this lineage node. Default: None, that is, no parent.
docstr: Set the jump to given node
  
  This will also have the effect of setting ``node.base = self``.
  
  Parameters
  ----------
  node: LineageNode
      Node to refer to as the jump targen for the current node.
  
  Raises
  ------
  RuntimeError
      If the given node already has a base.
docstr_tok: ["Set","the","jump","to","given","node","This","will","also","have","the","effect","of","setting","``","node.base","=","self","``",".","Parameters","--","--","--","--","--","node",":","LineageNode","Node","to","refer","to","as","the","jump","targen","for","the","current","node",".","Raises","--","--","--","RuntimeError","If","the","given","node","already","has","a","base","."]
code: def set_jump(self, node: LineageNode) -> None:
      """Set the jump to given node
  
      This will also have the effect of setting ``node.base = self``.
  
      Parameters
      ----------
      node: LineageNode
          Node to refer to as the jump targen for the current node.
  
      Raises
      ------
      RuntimeError
          If the given node already has a base.
  
      """
      if node._jump.parent is not None:
          raise RuntimeError(
              "Trying to jump to an existing node. Jumps to another lineage should only "
              "occur on new nodes."
          )
  
      node._jump.set_parent(self._jump)
  
imports: from __future__ import annotations
  import copy
  import logging
  import time
  from typing import Any, ClassVar, Iterable, Sequence
  import numpy
  from orion.algo.base import BaseAlgorithm
  from orion.algo.pbt.exploit import exploit_factory
  from orion.algo.pbt.explore import explore_factory
  from orion.algo.random import Random
  from orion.algo.space import Fidelity, Space
  from orion.core.utils.flatten import flatten
  from orion.core.utils.tree import TreeNode
  from orion.core.worker.transformer import TransformedDimension
  from orion.core.worker.trial import Trial
label_desc: Use image node_id 7 for calling the LineageNode obj's underlying member method code with example usage: obj.set_jump(node) without return types