docs: def create_iteration(self, num_suggestions=0):
          """Create an iteration for the experiment group."""
          from db.models.experiment_groups import ExperimentGroupIteration
  
          search_manager = self.experiment_group.search_manager
          iteration_config = self.experiment_group.iteration_config
  
          if iteration_config is None:
              iteration = 0
              bracket_iteration = 0
          else:
              should_reschedule = search_manager.should_reschedule(
                  iteration=iteration_config.iteration,
                  bracket_iteration=iteration_config.bracket_iteration)
              should_reduce_configs = search_manager.should_reduce_configs(
                  iteration=iteration_config.iteration,
                  bracket_iteration=iteration_config.bracket_iteration)
              if should_reschedule:
                  iteration = iteration_config.iteration + 1
                  bracket_iteration = 0
              elif should_reduce_configs:
                  iteration = iteration_config.iteration
                  bracket_iteration = iteration_config.bracket_iteration + 1
              else:
                  raise ValueError(
                      'Hyperband create iteration failed for `{}`, '
                      'could not reschedule ot reduce configs'.format(self.experiment_group.id))
  
          # Create a new iteration config
          iteration_config = HyperbandIterationConfig(
              iteration=iteration,
              num_suggestions=num_suggestions,
              bracket_iteration=bracket_iteration)
          iteration_config.experiment_ids = []
          return ExperimentGroupIteration.objects.create(
              experiment_group=self.experiment_group,
              data=iteration_config.to_dict())