def METHOD_NAME(rng, n_children=1):
    """**Create new independent children random number generators from parent generator/seed**
    Parameters
    ----------
    rng : None, int, numpy.random.RandomState or numpy.random.Generator
        Random number generator to be spawned (numpy.random.RandomState or numpy.random.Generator). If it is None
        or an int seed, then a parent random number generator is first created with ``misc.check_random_state``.
    n_children : int
        Number of children generators to be spawned.
    Returns
    -------
    children_generators : list of generators
        List of children random number generators.
    Examples
    ----------
    * **Example 1**: Simulate data for a cohort of participants
    .. ipython:: python
      import neurokit2 as nk
      master_seed = 42
      n_participants = 8
      participants_RNGs = nk.misc.spawn_random_state(master_seed, n_children=n_participants)
      PPGs = []
      for i in range(n_participants):
          PPGs.append(nk.ppg_simulate(random_state=participants_RNGs[i]))
    """
    rng = check_random_state(rng)
    try:
        # Try to spawn the rng by using the new API
        return rng.spawn(n_children)
    except AttributeError:
        # It looks like this version of numpy does not implement rng.spawn(), so we do its job
        # manually; see: https://github.com/numpy/numpy/pull/23195
        if rng._bit_generator._seed_seq is not None:
            rng_class = type(rng)
            bit_generator_class = type(rng._bit_generator)
            return [rng_class(bit_generator_class(seed=s)) for s in rng._bit_generator._seed_seq.spawn(n_children)]
    except TypeError:
        # The rng does not support spawning through SeedSequence, see below
        pass
    # Implement a rudimentary but reproducible substitute for spawning rng's that also works for
    # RandomState with the legacy MT19937 bit generator
    # NOTE: Spawning the same generator multiple times is not supported (may lead to mutually
    # dependent spawned generators). Spawning the children (in a tree structure) is allowed.
    # Start by creating an rng to sample integers (to be used as seeds for the children) without
    # advancing the original rng
    temp_rng = rng._bit_generator.jumped()
    # Generate and return children initialised with the seeds obtained from temp_rng
    return [np.random.RandomState(seed=s) for s in temp_rng.random_raw(n_children)]