code: def test_changes_to_transformed_dont_affect_origin(pipeline):
      adapter = PipelineAdapter()
  
      original_pipeline = deepcopy(pipeline)
      opt_graph = adapter.adapt(pipeline)
  
      # before change they're equal
      assert pipeline.descriptive_id == opt_graph.descriptive_id
  
      changed_node = choice(opt_graph.nodes)
      changed_node.content["name"] = "another_operation"
      changed_node.content["params"].update({"new_hyperparam": 39})
  
      # assert that changes to the adapted pipeline don't affect original graph
      assert pipeline.descriptive_id != opt_graph.descriptive_id
      assert pipeline.descriptive_id == original_pipeline.descriptive_id
  
      original_opt_graph = deepcopy(opt_graph)
      restored_pipeline = adapter.restore(opt_graph)
  
      # before change they're equal
      assert (
          opt_graph.descriptive_id == restored_pipeline.descriptive_id
      )
  
      changed_node = choice(restored_pipeline.nodes)
      changed_node.content["name"] = Operation("yet_another_operation")
      changed_node.content["params"].update({"new_hyperparam": 4242})
  
      # assert that changes to the restored graph don't affect original graph
      assert (
          opt_graph.descriptive_id != restored_pipeline.descriptive_id
      )
      assert (
          opt_graph.descriptive_id == original_opt_graph.descriptive_id
      )
  
imports: from copy import deepcopy
  from random import choice
  import numpy
  import pytest
  from golem.core.dag.graph_node import GraphNode
  from golem.core.dag.graph_verifier import GraphVerifier
  from golem.core.dag.verification_rules import DEFAULT_DAG_RULES
  from golem.core.optimisers.graph import OptNode
  from fedot.core.operations.operation import Operation
  from fedot.core.pipelines.adapters import PipelineAdapter
  from fedot.core.pipelines.node import PipelineNode
  from fedot.core.pipelines.pipeline import Pipeline
  from fedot.core.pipelines.pipeline_builder import PipelineBuilder
  from test.unit.dag.test_graph_utils import find_first
  from test.unit.tasks.test_regression import get_synthetic_regression_data
label_desc: Use image node_id 10 for calling a global function with example usage: test_changes_to_transformed_dont_affect_origin(pipeline) without return types