code: def init(self, single=None, swallow_exceptions=True):
          
          for d in self.disks:
              for v in d.init(single, swallow_exceptions=swallow_exceptions):
                  yield v
docs: Handles all important disk-mounting tasks, i.e. calls the :func:`Disk.init` function on all underlying
          disks. It yields every volume that is encountered, including volumes that have not been mounted.
  
          :param single: indicates whether the :class:`Disk` should be mounted as a single disk, not as a single disk or
              whether it should try both (defaults to :const:`None`)
          :type single: bool|None
          :param swallow_exceptions: specify whether you want the init calls to swallow exceptions
          :rtype: generator