text: public IndexAndTaxonomyRevision(IndexWriter indexWriter, SnapshotDirectoryTaxonomyWriter taxoWriter)throws IOException {IndexDeletionPolicy delPolicy = indexWriter.getConfig().getIndexDeletionPolicy();if (!(delPolicy instanceof SnapshotDeletionPolicy)) {throw new IllegalArgumentException("IndexWriter must be created with SnapshotDeletionPolicy");}this.indexWriter = indexWriter;this.taxoWriter = taxoWriter;this.indexSDP = (SnapshotDeletionPolicy) delPolicy;this.taxoSDP = taxoWriter.getDeletionPolicy();this.indexCommit = indexSDP.snapshot();this.taxoCommit = taxoSDP.snapshot();this.version = revisionVersion(indexCommit, taxoCommit);this.sourceFiles = revisionFiles(indexCommit, taxoCommit);}