def __init__(self, original_benchmark: CLScenario, expert_models: List[Module]):
        """Init.

        :param original_benchmark: a reference to the original benchmark
            containing the stream of experiences used to train the experts.
        :param expert_models: pretrained models. The model in position i must
            be trained on the i-th experience of the train stream of
            `original_benchmark`.
        """
        expert_models_l: List[TExModelExperience] = []
        for i, (m, e) in enumerate(
            zip(expert_models, original_benchmark.train_stream)
        ):  # type: ignore
            cine = e.classes_in_this_experience
            expert_models_l.append(
                ExModelExperience(
                    expert_model=m,
                    current_experience=i,
                    origin_stream=None,  # type: ignore
                    classes_in_this_experience=cine,
                )
            )

        expert_stream: CLStream[TExModelExperience] = CLStream(
            name="expert_models", exps_iter=expert_models_l, benchmark=self
        )
        streams: List[CLStream[TExModelExperience]] = [expert_stream]

        self.original_benchmark = original_benchmark
        # for s in original_benchmark.streams.values():
        #     s = copy(s)
        #     s.name = 'original_' + s.name
        #     streams.append(s)
        super().__init__(streams)
Init.

        :param original_benchmark: a reference to the original benchmark
            containing the stream of experiences used to train the experts.
        :param expert_models: pretrained models. The model in position i must
            be trained on the i-th experience of the train stream of
            `original_benchmark`.
        
avalanche/benchmarks/scenarios/exmodel_scenario.py