class_docstr: Base Experience.
  
  Experiences have an index which track the experience's position
  inside the stream for evaluation purposes.
class_docstr_tok: ["Base","Experience",".","Experiences","have","an","index","which","track","the","experience","'s","position","inside","the","stream","for","evaluation","purposes","."]
code: def __init__(
      self: TCLExperience,
      current_experience: int,
      origin_stream: "Optional[CLStream[TCLExperience]]",
  ):
      super().__init__()
      self._current_experience: int = current_experience
      """Experience identifier (the position in the origin_stream)."""
  
      self._origin_stream: "Optional[CLStream[TCLExperience]]" = (
          origin_stream
      )
      """Stream containing the experience."""
  
      self._exp_mode: ExperienceMode = ExperienceMode.LOGGING
      # used to block access to private info (e.g. task labels,
      # past experiences).
  
      self._unmask_context_depth = 0
  
      self._as_attributes("_current_experience")
  
imports: from abc import abstractmethod, ABC
  from contextlib import contextmanager
  from copy import copy
  from enum import Enum
  from types import GeneratorType
  from typing import Any, Dict, Generator, Iterator, List, Iterable, Optional, Sequence, Tuple, TypeVar, Union, Generic, overload
  from typing_extensions import final
  import numpy
  from avalanche.benchmarks.utils.dataset_utils import slice_alike_object_to_indices
label_desc: Use image node_id 1 to create a new CLExperience object  with example: obj = CLExperience(current_experience, origin_stream)