code: def list_all_files(self):
          
          def list_files_recursively(directory):
              f_gen = itertools.chain(
                  directory.files,
                  *tuple(list_files_recursively(d)
                         for d in directory.directories))
              for f in f_gen:
                  yield f
          return list_files_recursively(self.filesystem)
docs: Utility method that yields all files on the device's file
              systems.