docs: def _scan(self):
          """ For every utterance, calculate the size it will need in memory. """
          utt_sizes = {}
  
          for dset_name in self.utt_ids:
              per_container = []
  
              for cnt in self.containers:
                  dset = cnt._file[dset_name]
                  dtype_size = dset.dtype.itemsize
  
                  record_size = dtype_size * dset.size
                  per_container.append(record_size)
  
              utt_size = sum(per_container)
  
              if utt_size > self.partition_size:
                  raise ValueError('Records in "{0}" are larger than the partition size'.format(dset_name))
  
              utt_sizes[dset_name] = utt_size
  
          return utt_sizes