code: def __check_decomposer_has_two_parents(nodes_to_check: list):
      """Function check if there are two parent nodes for decompose operation
  
      :param nodes_to_check: list with decompose nodes in the pipeline
      """
  
      for decompose_node in nodes_to_check:
          parents = decompose_node.nodes_from
  
          if parents is None:
              raise ValueError("Decompose operation has no parents")
          elif len(parents) != 2:
              raise ValueError(
                  f"{ERROR_PREFIX} Two parents for decompose node were"
                  f" expected, but {len(parents)} were given"
              )
  
imports: from typing import Optional
  from fedot.core.operations.atomized_model import AtomizedModel
  from fedot.core.operations.model import Model
  from fedot.core.pipelines.node import PipelineNode
  from fedot.core.pipelines.pipeline import Pipeline
  from fedot.core.repository.dataset_types import DataTypesEnum
  from fedot.core.repository.operation_types_repository import OperationTypesRepository, get_operations_for_task, atomized_model_type
  from fedot.core.repository.tasks import Task, TaskTypesEnum
label_desc: Use image node_id 17 for calling a global function with example usage: __check_decomposer_has_two_parents(nodes_to_check) without return types