code: def _create_full_params(self, node: PipelineNode) -> dict:
      wrapped_operations = ["base_estimator", "estimator"]
  
      params = {}
      if _is_node_fitted(node):
          params = extract_operation_params(node)
  
          # Check if it is needed to process "model in model" cases
          # such strategy is needed for RANSAC or RFE algorithms
          for wrapped_operation in wrapped_operations:
              if params is not None and wrapped_operation in params:
                  del params[wrapped_operation]
  
          if isinstance(self.custom_params, dict):
              for key, value in self.custom_params.items():
                  params[key] = value
  
      return params
  
imports: import os
  from abc import ABC, abstractmethod
  from io import BytesIO
  from typing import Any, Optional, Union
  import joblib
  import numpy
  from golem.core.log import default_log
  from fedot.core.pipelines.node import PipelineNode
label_desc: Use image node_id 3 for calling the OperationTemplate obj's underlying member method code with example usage: obj._create_full_params(node) and returns: params