class_docstr: ConcatDataSource
  
  Wrapper DataSource for Multiple DataSources.
code: def reset(self):
      # reset method initialize self._indexes
      if self._shuffle:
          self._indexes = self._rng.permutation(self._size)
      else:
          self._indexes = numpy.arange(self._size)
      super(ConcatDataSource, self).reset()
  
imports: import atexit
  import csv
  import os
  import threading
  from collections import OrderedDict, deque
  from time import sleep
  import numpy
  from nnabla.config import nnabla_config
  from nnabla.logger import logger
  from nnabla.utils.communicator_util import current_communicator
  from six.moves import queue
  from .data_source import DataSource
  from .data_source_loader import FileReader, load
label_desc: Use image node_id 3 for calling the ConcatDataSource obj's underlying member method code with example usage: obj.reset() without return types