class_docstr: Helper class to interleave random configurations in a list of challengers.
  
  Provides an iterator which returns a random configuration in each second
  iteration. Reduces time necessary to generate a list of new challengers
  as one does not need to sample several hundreds of random configurations
  in each iteration which are never looked at.
  
  Parameters
  ----------
  configspace : ConfigurationSpace
  challenger_callback : Callable
      Callback function which returns a list of challengers (without interleaved random configurations, must a be a
      python closure.
  random_design : AbstractRandomDesign | None, defaults to ModulusRandomDesign(modulus=2.0)
      Which random design should be used.
code: def __init__(
      self,
      configspace: ConfigurationSpace,
      challenger_callback: Callable,
      random_design: AbstractRandomDesign
      | None = ModulusRandomDesign(modulus=2.0),
  ):
      self._challengers_callback = challenger_callback
      self._challengers: list[Configuration] | None = None
      self._configspace = configspace
      self._index = 0
      self._iteration = 1  # 1-based to prevent from starting with a random configuration
      self._random_design = random_design
  
file_path: SMAC3/smac/acquisition/maximizer/helpers.py
imports: from __future__ import annotations
  from typing import Callable, Iterator
  from ConfigSpace import Configuration, ConfigurationSpace
  from smac.random_design.abstract_random_design import AbstractRandomDesign
  from smac.random_design.modulus_design import ModulusRandomDesign
label_desc: Use image node_id 1 to create a new ChallengerList object from inherited base classes: Iterator with example: obj = ChallengerList(configspace, challenger_callback, random_design)