code: def build_population(objectives):
      depth = len(objectives)
      size = len(objectives[0])
      lineages = Lineages()
  
      for lineage_index in range(size):
          lineages.add(
              TrialStub(
                  id=f"lineage-{lineage_index}-0",
                  objective=objectives[0][lineage_index],
              )
          )
  
      for generation in range(1, depth):
          for lineage_index in range(size):
              new_trial = TrialStub(
                  id=f"lineage-{lineage_index}-{generation}",
                  objective=objectives[generation][lineage_index],
              )
              parent_trial = TrialStub(
                  id=f"lineage-{lineage_index}-{generation-1}"
              )
              if lineage_index == ((generation - 1) % size):
                  next_index = (lineage_index + 1) % len(lineages)
                  base_trial = parent_trial
                  parent_trial = TrialStub(
                      id=f"lineage-{next_index}-{generation-1}"
                  )
                  lineages.fork(parent_trial, new_trial)
                  lineages.set_jump(base_trial, new_trial)
              else:
                  lineages.fork(parent_trial, new_trial)
  
      return lineages
  
imports: from orion.algo.pbt.exploit import BaseExploit
  from orion.algo.pbt.explore import BaseExplore
  from orion.algo.pbt.pbt import LineageNode, Lineages
  from orion.core.utils.pptree import print_tree
  from orion.core.worker.trial import Trial
label_desc: Use image node_id 2 for calling a global function with example usage: build_population(objectives) and returns: lineages