code: def test_pipeline_builder_with_parallel_structure():
      primary_a = PipelineNode("operation_d")
      secondary_f = PipelineNode("operation_f", nodes_from=[primary_a])
      primary_b = PipelineNode("operation_b")
      secondary_h = PipelineNode("operation_h", nodes_from=[primary_b])
  
      # build two parallel sequences
      assert graphs_same(
          Pipeline([primary_a, primary_b]),
          PipelineBuilder()
          .add_branch("operation_d", "operation_b")
          .build(),
      )
      assert graphs_same(
          Pipeline([primary_a, primary_b]),
          PipelineBuilder()
          .grow_branches("operation_d", "operation_b")
          .build(),
      )
      assert graphs_same(
          Pipeline([primary_a, primary_b]),
          PipelineBuilder()
          .add_node("operation_d")
          .add_node("operation_b", branch_idx=1)
          .build(),
      )
      assert graphs_same(
          Pipeline([secondary_f, secondary_h]),
          PipelineBuilder()
          .add_branch("operation_d", "operation_b")
          .grow_branches("operation_f", "operation_h")
          .build(),
      )
  
imports: from copy import copy
  from fedot.core.pipelines.pipeline_builder import PipelineBuilder, merge_pipeline_builders
  from fedot.core.pipelines.node import PipelineNode
  from fedot.core.pipelines.pipeline import Pipeline
  from test.unit.dag.test_graph_utils import graphs_same
label_desc: Use image node_id 5 for calling a global function with example usage: test_pipeline_builder_with_parallel_structure() without return types