class_docstr: A private class used the `Stream` class for creating data sources.
  
  Parameters
  ----------
  source : `Iterable[T]`
      The iterable to be used for providing the data.
  dtype : str, optional
      The data type of the source.
class_docstr_tok: ["A","private","class","used","the","`","Stream","`","class","for","creating","data","sources",".","Parameters","--","--","--","--","--","source",":","`","Iterable","[","T","]","`","The","iterable","to","be","used","for","providing","the","data",".","dtype",":","str",",","optional","The","data","type","of","the","source","."]
code: def reset(self, random_start=0):
      if random_start != 0:
          self._random_start = random_start
  
      if self.is_gen:
          self.generator = self.gen_fn()
      else:
          self.generator = iter(self.iterable[self._random_start :])
      self.stop = False
  
      try:
          self.current = next(self.generator)
      except StopIteration:
          self.stop = True
      super().reset()
  
imports: import inspect
  from abc import abstractmethod
  from typing import Generic, Iterable, TypeVar, Dict, Any, Callable, List, Tuple
  from tensortrade.core import Observable
  from tensortrade.feed.core.accessors import CachedAccessor
  from tensortrade.feed.core.mixins import DataTypeMixin
label_desc: Use image node_id 4 for calling the IterableStream obj's underlying member method code with example usage: obj.reset(random_start) without return types