def _make_slice(
        self: TSequenceCLStream, experience_slice: Optional[Iterable[int]]
    ) -> TSequenceCLStream:
        """
        Obtain a sub-stream given a list of indices of the experiences to
        include.

        Experience ids are the ones of the originating stream
        (that is, the non-sliced stream).
        """
        stream_copy = copy(self)
        stream_copy.slice_ids = (
            list(experience_slice) if experience_slice is not None else None
        )
        return stream_copy

        Obtain a sub-stream given a list of indices of the experiences to
        include.

        Experience ids are the ones of the originating stream
        (that is, the non-sliced stream).
        
avalanche/benchmarks/scenarios/generic_scenario.py