code: def capture_snapshots(self, path_globs_and_roots):
      
      result = self._native.lib.capture_snapshots(
        self._scheduler,
        self._to_value(_PathGlobsAndRootCollection(path_globs_and_roots)),
      )
      return self._raise_or_return(result)
docs: Synchronously captures Snapshots for each matching PathGlobs rooted at a its root directory.
  
      This is a blocking operation, and should be avoided where possible.
  
      :param path_globs_and_roots tuple<PathGlobsAndRoot>: The PathGlobs to capture, and the root
             directory relative to which each should be captured.
      :returns: A tuple of Snapshots.