class_docstr: A class that stores variables for internal purposes in core during fit
  and predict. For instance, to manage dataflow properties.
docstr: Define which parent should be "Data parent" and "Model parent"
  for decompose operation
  
  :param unique_features_masks: unique values for mask
  :param task: task to solve
code: def define_parents(
      self, unique_features_masks: np.array, task: TaskTypesEnum
  ):
      """Define which parent should be "Data parent" and "Model parent"
      for decompose operation
  
      :param unique_features_masks: unique values for mask
      :param task: task to solve
      """
      if (
          not isinstance(self.previous_operations, list)
          or len(self.previous_operations) == 1
      ):
          raise ValueError(
              "Data was received from one node but at least two nodes are required"
          )
  
      data_operations = OperationTypesRepository(
          "data_operation"
      ).suitable_operation(task_type=task)
  
      # Which data operations was in pipeline before decompose operation
      previous_data_operation = None
      for prev_operation in self.previous_operations:
          if prev_operation in data_operations:
              previous_data_operation = prev_operation
              # Take first data operation as "Data parent"
              break
  
      if previous_data_operation is not None:
          # Lagged operation by default is "Data parent"
          data_ids = np.ravel(
              np.argwhere(
                  np.array(self.previous_operations)
                  == previous_data_operation
              )
          )
          data_parent_id = data_ids[0]
          model_ids = np.ravel(
              np.argwhere(
                  np.array(self.previous_operations)
                  != previous_data_operation
              )
          )
          model_parent_id = model_ids[0]
      else:
          model_parent_id = 0
          data_parent_id = 1
  
      data_parent = unique_features_masks[data_parent_id]
      model_parent = unique_features_masks[model_parent_id]
  
      return model_parent, data_parent
  
file_path: FEDOT/fedot/core/data/supplementary_data.py
imports: from dataclasses import dataclass
  from typing import Dict, Optional
  import numpy
  from fedot.core.repository.operation_types_repository import OperationTypesRepository
  from fedot.core.repository.tasks import TaskTypesEnum
label_desc: Use image node_id 3 for calling the SupplementaryData obj's underlying member method code with example usage: obj.define_parents(unique_features_masks, task) and returns: model_parent,  data_parent