def __init__(self, classes=None, streams=None):
        """
        Creates an instance of a MultiStream AMCA.

        :param classes: The list of classes to track. This has the same semantic
            of the `classes` parameter of class
            :class:`AverageMeanClassAccuracy`.
        :param streams: The list of streams to track. Defaults to None, which
            means that all stream will be tracked. This is not recommended, as
            you usually will want to track the "test" stream only.
        """

        self._limit_streams = streams
        if self._limit_streams is not None:
            self._limit_streams = set(self._limit_streams)

        self._limit_classes = classes
        self._amcas: Dict[str, AverageMeanClassAccuracy] = dict()

        self._current_stream: Optional[str] = None
        self._streams_in_this_phase: Set[str] = set()

        Creates an instance of a MultiStream AMCA.

        :param classes: The list of classes to track. This has the same semantic
            of the `classes` parameter of class
            :class:`AverageMeanClassAccuracy`.
        :param streams: The list of streams to track. Defaults to None, which
            means that all stream will be tracked. This is not recommended, as
            you usually will want to track the "test" stream only.
        
avalanche/evaluation/metrics/amca.py