text: public void Upgrade(){if (!DirectoryReader.IndexExists(dir)){throw new IndexNotFoundException(dir.ToString());}if (!deletePriorCommits){ICollection<IndexCommit> commits = DirectoryReader.ListCommits(dir);if (commits.Count > 1){throw new System.ArgumentException("this tool was invoked to not delete prior commit points, but the following commits were found: " + commits);}}IndexWriterConfig c = (IndexWriterConfig)iwc.Clone();c.MergePolicy = new UpgradeIndexMergePolicy(c.MergePolicy);c.IndexDeletionPolicy = new KeepOnlyLastCommitDeletionPolicy();IndexWriter w = new IndexWriter(dir, c);try{InfoStream infoStream = c.InfoStream;if (infoStream.IsEnabled("IndexUpgrader")){infoStream.Message("IndexUpgrader", "Upgrading all pre-" + Constants.LUCENE_MAIN_VERSION + " segments of index directory '" + dir + "' to version " + Constants.LUCENE_MAIN_VERSION + "...");}w.ForceMerge(1);if (infoStream.IsEnabled("IndexUpgrader")){infoStream.Message("IndexUpgrader", "All segments upgraded to version " + Constants.LUCENE_MAIN_VERSION);}}finally{w.Dispose();}}