code: def _decompose_depend_list_para(self, config):
      self._depend_map = {}
  
      def get_depended_para(name):
          for p in config:
              if p["parameterName"] == name:
                  return
          raise WrongDependedParameterError(
              "The depended parameter does not exist."
          )
  
      for para in config:
          if para["type"] in (
              "NUMERICAL_LIST",
              "CATEGORICAL_LIST",
          ) and para.get("cutPara", None):
              self._depend_map[para["parameterName"]] = para
              if type(para["cutPara"]) == str:
                  get_depended_para(para["cutPara"])
              else:
                  for dpara in para["cutPara"]:
                      get_depended_para(dpara)
  
      return config
  
imports: from ...utils import get_logger
  import hyperopt
  import time
  import math
  import dill
  import multiprocessing
  import copy
  import random
label_desc: Use image node_id 4 for calling the BaseHPOptimizer obj's underlying member method code with example usage: obj._decompose_depend_list_para(config) and returns: config