class_docstr: Lineages of trials for workers in PBT
  
  This class regroup all lineages of trials generated by PBT for a given experiment.
  
  Each lineage is a path from a leaf trial (highest fidelity level) up to the root
  (lowest fidelity level). Multiple lineages can fork from the same root, forming a tree.
  A Lineages object may reference multiple trees of lineages. Iterating a Lineages object will
  iterate on the roots of these trees.
docstr: Fork a base trial to a new one.
  
  The base trial should already be registered in the Lineages
  
  Parameters
  ----------
  base_trial: ``orion.core.worker.trial.Trial``
      The base trial that will be the parent lineage node.
  new_trial: ``orion.core.worker.trial.Trial``
      The new trial that will be the child lineage node.
  
  Raises
  ------
  KeyError
      If the base trial is not already registered in the Lineages
docstr_tok: ["Fork","a","base","trial","to","a","new","one",".","The","base","trial","should","already","be","registered","in","the","Lineages","Parameters","--","--","--","--","--","base_trial",":","``","orion.core.worker.trial.Trial","``","The","base","trial","that","will","be","the","parent","lineage","node",".","new_trial",":","``","orion.core.worker.trial.Trial","``","The","new","trial","that","will","be","the","child","lineage","node",".","Raises","--","--","--","KeyError","If","the","base","trial","is","not","already","registered","in","the","Lineages"]
code: def fork(self, base_trial: Trial, new_trial: Trial) -> LineageNode:
      """Fork a base trial to a new one.
  
      The base trial should already be registered in the Lineages
  
      Parameters
      ----------
      base_trial: ``orion.core.worker.trial.Trial``
          The base trial that will be the parent lineage node.
      new_trial: ``orion.core.worker.trial.Trial``
          The new trial that will be the child lineage node.
  
      Raises
      ------
      KeyError
          If the base trial is not already registered in the Lineages
  
      """
  
      new_lineage = self._trial_to_lineages[base_trial.id].fork(
          new_trial
      )
      self._trial_to_lineages[new_trial.id] = new_lineage
      return new_lineage
  
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 5 for calling the Lineages obj's underlying member method code with example usage: obj.fork(base_trial, new_trial) and returns: new_lineage