code: def __resolve_param(self, gen_fx, default, name):
      # case when no action was requested
      if not self.enabled:
          return default
  
      # create the param when it's new
      # return the first value in this case
      if name not in self.seen_params:
          vals = gen_fx()
          param = {"vals": vals, "name": name}
          self.seen_params[name] = {"idx": len(self.params)}
          self.params.append(param)
          return vals[0]
  
      # not the first iteration so return the ith element
      # in the possible values
      iteration_params = self.trials[self.current_iteration]
      param_i = self.seen_params[name]["idx"]
      param = iteration_params[param_i]
      return param["val"]
  
file_path: test-tube/test_tube/hyperopt.py
imports: import itertools
  import json
  import random
label_desc: Use image node_id 6 for calling the HyperParamOptimizer obj's underlying member method code with example usage: obj.__resolve_param(gen_fx, default, name) and returns: param, default, vals