code: def _request_one_trial_job(self):
          
          if not self.generated_hyper_configs:
              if self.curr_s < 0:
                  self.curr_s = self.s_max
              _logger.debug('create a new bracket, self.curr_s=%d', self.curr_s)
              self.brackets[self.curr_s] = Bracket(self.curr_s, self.s_max, self.eta, self.R, self.optimize_mode)
              next_n, next_r = self.brackets[self.curr_s].get_n_r()
              _logger.debug('new bracket, next_n=%d, next_r=%d', next_n, next_r)
              assert self.searchspace_json is not None and self.random_state is not None
              generated_hyper_configs = self.brackets[self.curr_s].get_hyperparameter_configurations(next_n, next_r,
                                                                                                     self.searchspace_json,
                                                                                                     self.random_state)
              self.generated_hyper_configs = generated_hyper_configs.copy()
              self.curr_s -= 1
  
          assert self.generated_hyper_configs
          params = self.generated_hyper_configs.pop()
          ret = {
              'parameter_id': params[0],
              'parameter_source': 'algorithm',
              'parameters': params[1]
          }
          send(CommandType.NewTrialJob, json_tricks.dumps(ret))
docs: get one trial job, i.e., one hyperparameter configuration.