ScanSource.acquire
ScanSource acquire() @safeAcquires the source for one collection: the first acquisition may return this live source, later ones return fresh iterators (rewindable sources) or throw DataFrameException (a non-rewindable source like a pipe is single-collection).