code: def preview_unmount(self):
          
  
          commands = []
          for mountpoint in self.find_bindmounts():
              commands.append('umount {0}'.format(mountpoint))
          for mountpoint in self.find_mounts():
              commands.append('umount {0}'.format(mountpoint))
              commands.append('rm -Rf {0}'.format(mountpoint))
          for vgname, pvname in self.find_volume_groups():
              commands.append('lvchange -a n {0}'.format(vgname))
              commands.append('losetup -d {0}'.format(pvname))
          for device in self.find_loopbacks():
              commands.append('losetup -d {0}'.format(device))
          for mountpoint in self.find_base_images():
              commands.append('fusermount -u {0}'.format(mountpoint))
              commands.append('rm -Rf {0}'.format(mountpoint))
          for folder in self.find_clean_dirs():
              cmd = 'rm -Rf {0}'.format(folder)
              if cmd not in commands:
                  commands.append(cmd)
          return commands
docs: Returns a list of all commands that would be executed if the :func:`unmount` method would be called.
  
          Note: any system changes between calling this method and calling :func:`unmount` aren't listed by this command.