A {@link Revision} of a single index files which comprises the list of filesthat are part of the current {@link IndexCommit}. To ensure the files are not deleted by {@link IndexWriter} for as long as this revision stays alive (i.e.until {@link #release()}), the current commit point is snapshotted, using {@link SnapshotDeletionPolicy} (this means that the given writer's{@link IndexWriterConfig#getIndexDeletionPolicy() config} should return{@link SnapshotDeletionPolicy}).
When this revision is {@link #release() released}, it releases the obtained snapshot as well as calls {@link IndexWriter#deleteUnusedFiles()} so that thesnapshotted files are deleted (if they are no longer needed).
@lucene.experimental