code: def save(self, target, storage=None, **options):
          
  
          # Save (tabulator)
          if storage is None:
              with Stream(self.iter, headers=self.__schema.headers) as stream:
                  stream.save(target, **options)
              return True
  
          # Save (storage)
          else:
              if not isinstance(storage, Storage):
                  storage = Storage.connect(storage, **options)
              storage.create(target, self.__schema.descriptor, force=True)
              storage.write(target, self.iter(cast=False))
              return storage
docs: https://github.com/frictionlessdata/tableschema-py#schema