Snapshot
Pins a consistent, read-only view of snapshot-managed state until it is disposed.
enter installs this snapshot in a thread-local context, so all state reads in the block observe the version captured when the snapshot was taken. Nested entries restore the previous context. The snapshot retains historical state records needed by its version; callers MUST invoke close or dispose, preferably with use, when reads are complete.
A snapshot does not make arbitrary work thread-safe. Do not dispose an instance while an enter block is active, and serialize concurrent use of the same instance.