code: def _getdata(self, data_source, start=None, end=None):
          
          assert start is not None or end is not None, 'should at least specify start or end'
          start = start if start is not None else 0
          if end is None:
              end = data_source[0][1].shape[0] if data_source else 0
          s = slice(start, end)
          return [
              x[1][s]
              if isinstance(x[1], (np.ndarray, NDArray)) else
              # h5py (only supports indices in increasing order)
              array(x[1][sorted(self.idx[s])][[
                  list(self.idx[s]).index(i)
                  for i in sorted(self.idx[s])
              ]]) for x in data_source
          ]
docs: Load data from underlying arrays.