SWEEP: Remove calls to obsolete GetIterator() method and call GetEnumerator() instead (see #279, #212)
diff --git a/src/Lucene.Net.Codecs/Bloom/BloomFilteringPostingsFormat.cs b/src/Lucene.Net.Codecs/Bloom/BloomFilteringPostingsFormat.cs
index ad236a5..bebdb63 100644
--- a/src/Lucene.Net.Codecs/Bloom/BloomFilteringPostingsFormat.cs
+++ b/src/Lucene.Net.Codecs/Bloom/BloomFilteringPostingsFormat.cs
@@ -299,7 +299,7 @@
                     // this can be a relativly heavy operation depending on the 
                     // delegate postings format and they underlying directory
                     // (clone IndexInput)
-                    delegateTermsEnum ?? (delegateTermsEnum = _delegateTerms.GetIterator(_reuseDelegate));
+                    delegateTermsEnum ?? (delegateTermsEnum = _delegateTerms.GetEnumerator(_reuseDelegate));
 
                 public override bool MoveNext()
                 {
diff --git a/src/Lucene.Net.Codecs/Memory/DirectPostingsFormat.cs b/src/Lucene.Net.Codecs/Memory/DirectPostingsFormat.cs
index a0f73f2..95b5b91 100644
--- a/src/Lucene.Net.Codecs/Memory/DirectPostingsFormat.cs
+++ b/src/Lucene.Net.Codecs/Memory/DirectPostingsFormat.cs
@@ -396,7 +396,7 @@
                 BytesRef term;
                 DocsEnum docsEnum = null;
                 DocsAndPositionsEnum docsAndPositionsEnum = null;
-                TermsEnum termsEnum = termsIn.GetIterator(null);
+                TermsEnum termsEnum = termsIn.GetEnumerator();
                 int termOffset = 0;
 
                 Int32ArrayWriter scratch = new Int32ArrayWriter();
diff --git a/src/Lucene.Net.Facet/Taxonomy/Directory/DirectoryTaxonomyWriter.cs b/src/Lucene.Net.Facet/Taxonomy/Directory/DirectoryTaxonomyWriter.cs
index 97203d4..5c5b8a8 100644
--- a/src/Lucene.Net.Facet/Taxonomy/Directory/DirectoryTaxonomyWriter.cs
+++ b/src/Lucene.Net.Facet/Taxonomy/Directory/DirectoryTaxonomyWriter.cs
@@ -458,7 +458,7 @@
                         Terms terms = ctx.AtomicReader.GetTerms(Consts.FULL);
                         if (terms != null)
                         {
-                            termsEnum = terms.GetIterator(termsEnum);
+                            termsEnum = terms.GetEnumerator(termsEnum);
                             if (termsEnum.SeekExact(catTerm))
                             {
                                 // liveDocs=null because the taxonomy has no deletes
diff --git a/src/Lucene.Net.Highlighter/PostingsHighlight/PostingsHighlighter.cs b/src/Lucene.Net.Highlighter/PostingsHighlight/PostingsHighlighter.cs
index 09786eb..ca21146 100644
--- a/src/Lucene.Net.Highlighter/PostingsHighlight/PostingsHighlighter.cs
+++ b/src/Lucene.Net.Highlighter/PostingsHighlight/PostingsHighlighter.cs
@@ -550,7 +550,7 @@
                     Terms t = r.GetTerms(field);
                     if (t != null)
                     {
-                        termsEnum = t.GetIterator(null);
+                        termsEnum = t.GetEnumerator();
                         postings = new DocsAndPositionsEnum[terms.Length];
                     }
                 }
diff --git a/src/Lucene.Net.Join/TermsIncludingScoreQuery.cs b/src/Lucene.Net.Join/TermsIncludingScoreQuery.cs
index acebc27..8bca375bc 100644
--- a/src/Lucene.Net.Join/TermsIncludingScoreQuery.cs
+++ b/src/Lucene.Net.Join/TermsIncludingScoreQuery.cs
@@ -172,7 +172,7 @@
                 // what is the runtime...seems ok?
                 long cost = context.AtomicReader.MaxDoc * terms.Count;
 
-                segmentTermsEnum = terms.GetIterator(segmentTermsEnum);
+                segmentTermsEnum = terms.GetEnumerator(segmentTermsEnum);
                 if (outerInstance._multipleValuesPerDocument)
                 {
                     return new MVInOrderScorer(outerInstance, this, acceptDocs, segmentTermsEnum, context.AtomicReader.MaxDoc, cost);
@@ -196,7 +196,7 @@
                 // what is the runtime...seems ok?
                 long cost = context.AtomicReader.MaxDoc * terms.Count;
 
-                segmentTermsEnum = terms.GetIterator(segmentTermsEnum);
+                segmentTermsEnum = terms.GetEnumerator(segmentTermsEnum);
                 // Optimized impls that take advantage of docs
                 // being allowed to be out of order:
                 if (outerInstance._multipleValuesPerDocument)
diff --git a/src/Lucene.Net.Join/TermsQuery.cs b/src/Lucene.Net.Join/TermsQuery.cs
index ce85a01..3d4f770 100644
--- a/src/Lucene.Net.Join/TermsQuery.cs
+++ b/src/Lucene.Net.Join/TermsQuery.cs
@@ -55,7 +55,7 @@
                 return TermsEnum.EMPTY;
             }
 
-            return new SeekingTermSetTermsEnum(terms.GetIterator(null), _terms, _ords);
+            return new SeekingTermSetTermsEnum(terms.GetEnumerator(), _terms, _ords);
 
         }
 
diff --git a/src/Lucene.Net.Misc/Misc/HighFreqTerms.cs b/src/Lucene.Net.Misc/Misc/HighFreqTerms.cs
index 74b1724..1987628 100644
--- a/src/Lucene.Net.Misc/Misc/HighFreqTerms.cs
+++ b/src/Lucene.Net.Misc/Misc/HighFreqTerms.cs
@@ -107,7 +107,7 @@
                 Terms terms = fields.GetTerms(field);
                 if (terms != null)
                 {
-                    TermsEnum termsEnum = terms.GetIterator(null);
+                    TermsEnum termsEnum = terms.GetEnumerator();
                     tiq = new TermStatsQueue(numTerms, comparer);
                     tiq.Fill(field, termsEnum);
                 }
@@ -125,7 +125,7 @@
                     Terms terms = fields.GetTerms(fieldName);
                     if (terms != null)
                     {
-                        tiq.Fill(fieldName, terms.GetIterator(null));
+                        tiq.Fill(fieldName, terms.GetEnumerator());
                     }
                 }
             }
diff --git a/src/Lucene.Net.Queries/CommonTermsQuery.cs b/src/Lucene.Net.Queries/CommonTermsQuery.cs
index 053ff1e..69ed7e0 100644
--- a/src/Lucene.Net.Queries/CommonTermsQuery.cs
+++ b/src/Lucene.Net.Queries/CommonTermsQuery.cs
@@ -278,7 +278,7 @@
                         // field does not exist
                         continue;
                     }
-                    termsEnum = terms.GetIterator(termsEnum);
+                    termsEnum = terms.GetEnumerator(termsEnum);
                     if (Debugging.AssertsEnabled) Debugging.Assert(termsEnum != null);
 
                     if (termsEnum == TermsEnum.EMPTY)
diff --git a/src/Lucene.Net.Queries/Function/ValueSources/JoinDocFreqValueSource.cs b/src/Lucene.Net.Queries/Function/ValueSources/JoinDocFreqValueSource.cs
index 6b72d97..cc6288d 100644
--- a/src/Lucene.Net.Queries/Function/ValueSources/JoinDocFreqValueSource.cs
+++ b/src/Lucene.Net.Queries/Function/ValueSources/JoinDocFreqValueSource.cs
@@ -52,7 +52,7 @@
             BinaryDocValues terms = m_cache.GetTerms(readerContext.AtomicReader, m_field, false, PackedInt32s.FAST);
             IndexReader top = ReaderUtil.GetTopLevelContext(readerContext).Reader;
             Terms t = MultiFields.GetTerms(top, m_qfield);
-            TermsEnum termsEnum = t == null ? TermsEnum.EMPTY : t.GetIterator(null);
+            TermsEnum termsEnum = t == null ? TermsEnum.EMPTY : t.GetEnumerator();
 
             return new Int32DocValuesAnonymousInnerClassHelper(this, this, terms, termsEnum);
         }
diff --git a/src/Lucene.Net.Queries/Function/ValueSources/TFValueSource.cs b/src/Lucene.Net.Queries/Function/ValueSources/TFValueSource.cs
index e831997..fb7dd39 100644
--- a/src/Lucene.Net.Queries/Function/ValueSources/TFValueSource.cs
+++ b/src/Lucene.Net.Queries/Function/ValueSources/TFValueSource.cs
@@ -84,7 +84,7 @@
 
                 if (terms != null)
                 {
-                    TermsEnum termsEnum = terms.GetIterator(null);
+                    TermsEnum termsEnum = terms.GetEnumerator();
                     if (termsEnum.SeekExact(outerInstance.m_indexedBytes))
                     {
                         docs = termsEnum.Docs(null, null);
diff --git a/src/Lucene.Net.Queries/Function/ValueSources/TermFreqValueSource.cs b/src/Lucene.Net.Queries/Function/ValueSources/TermFreqValueSource.cs
index 8807cdc..7924732 100644
--- a/src/Lucene.Net.Queries/Function/ValueSources/TermFreqValueSource.cs
+++ b/src/Lucene.Net.Queries/Function/ValueSources/TermFreqValueSource.cs
@@ -74,7 +74,7 @@
 
                 if (terms != null)
                 {
-                    TermsEnum termsEnum = terms.GetIterator(null);
+                    TermsEnum termsEnum = terms.GetEnumerator();
                     if (termsEnum.SeekExact(outerInstance.m_indexedBytes))
                     {
                         docs = termsEnum.Docs(null, null);
diff --git a/src/Lucene.Net.Queries/TermFilter.cs b/src/Lucene.Net.Queries/TermFilter.cs
index e75f780..2ae2605 100644
--- a/src/Lucene.Net.Queries/TermFilter.cs
+++ b/src/Lucene.Net.Queries/TermFilter.cs
@@ -54,7 +54,7 @@
                 return null;
             }
 
-            TermsEnum termsEnum = terms.GetIterator(null);
+            TermsEnum termsEnum = terms.GetEnumerator();
             if (!termsEnum.SeekExact(term.Bytes))
             {
                 return null;
diff --git a/src/Lucene.Net.Queries/TermsFilter.cs b/src/Lucene.Net.Queries/TermsFilter.cs
index d546f06..37c2e5b 100644
--- a/src/Lucene.Net.Queries/TermsFilter.cs
+++ b/src/Lucene.Net.Queries/TermsFilter.cs
@@ -232,7 +232,7 @@
             {
                 if ((terms = fields.GetTerms(termsAndField.field)) != null)
                 {
-                    termsEnum = terms.GetIterator(termsEnum); // this won't return null
+                    termsEnum = terms.GetEnumerator(termsEnum); // this won't return null
                     for (int i = termsAndField.start; i < termsAndField.end; i++)
                     {
                         spare.Offset = offsets[i];
diff --git a/src/Lucene.Net.QueryParser/Surround/Query/SrndPrefixQuery.cs b/src/Lucene.Net.QueryParser/Surround/Query/SrndPrefixQuery.cs
index 34ef8ae..26301c1 100644
--- a/src/Lucene.Net.QueryParser/Surround/Query/SrndPrefixQuery.cs
+++ b/src/Lucene.Net.QueryParser/Surround/Query/SrndPrefixQuery.cs
@@ -62,7 +62,7 @@
             Terms terms = MultiFields.GetTerms(reader, fieldName);
             if (terms != null)
             {
-                TermsEnum termsEnum = terms.GetIterator(null);
+                TermsEnum termsEnum = terms.GetEnumerator();
 
                 bool skip = false;
                 TermsEnum.SeekStatus status = termsEnum.SeekCeil(new BytesRef(Prefix));
diff --git a/src/Lucene.Net.QueryParser/Surround/Query/SrndTermQuery.cs b/src/Lucene.Net.QueryParser/Surround/Query/SrndTermQuery.cs
index 8a08052..db830b9 100644
--- a/src/Lucene.Net.QueryParser/Surround/Query/SrndTermQuery.cs
+++ b/src/Lucene.Net.QueryParser/Surround/Query/SrndTermQuery.cs
@@ -50,7 +50,7 @@
             Terms terms = MultiFields.GetTerms(reader, fieldName);
             if (terms != null)
             {
-                TermsEnum termsEnum = terms.GetIterator(null);
+                TermsEnum termsEnum = terms.GetEnumerator();
 
                 TermsEnum.SeekStatus status = termsEnum.SeekCeil(new BytesRef(TermText));
                 if (status == TermsEnum.SeekStatus.FOUND)
diff --git a/src/Lucene.Net.QueryParser/Surround/Query/SrndTruncQuery.cs b/src/Lucene.Net.QueryParser/Surround/Query/SrndTruncQuery.cs
index b867670..87dd945 100644
--- a/src/Lucene.Net.QueryParser/Surround/Query/SrndTruncQuery.cs
+++ b/src/Lucene.Net.QueryParser/Surround/Query/SrndTruncQuery.cs
@@ -99,7 +99,7 @@
             Terms terms = MultiFields.GetTerms(reader, fieldName);
             if (terms != null)
             {
-                TermsEnum termsEnum = terms.GetIterator(null);
+                TermsEnum termsEnum = terms.GetEnumerator();
 
                 TermsEnum.SeekStatus status = termsEnum.SeekCeil(prefixRef);
                 BytesRef text;
diff --git a/src/Lucene.Net.Spatial/Prefix/AbstractPrefixTreeFilter.cs b/src/Lucene.Net.Spatial/Prefix/AbstractPrefixTreeFilter.cs
index 2a906eb..69195e8 100644
--- a/src/Lucene.Net.Spatial/Prefix/AbstractPrefixTreeFilter.cs
+++ b/src/Lucene.Net.Spatial/Prefix/AbstractPrefixTreeFilter.cs
@@ -106,7 +106,7 @@
                 Terms terms = reader.GetTerms(outerInstance.m_fieldName);
                 if (terms != null)
                 {
-                    m_termsEnum = terms.GetIterator(null);
+                    m_termsEnum = terms.GetEnumerator();
                 }
             }
 
diff --git a/src/Lucene.Net.Spatial/Prefix/AbstractVisitingPrefixTreeFilter.cs b/src/Lucene.Net.Spatial/Prefix/AbstractVisitingPrefixTreeFilter.cs
index dff88b9..be6b00c 100644
--- a/src/Lucene.Net.Spatial/Prefix/AbstractVisitingPrefixTreeFilter.cs
+++ b/src/Lucene.Net.Spatial/Prefix/AbstractVisitingPrefixTreeFilter.cs
@@ -207,7 +207,7 @@
                     if (compare > 0)
                     {
                         // leap frog (termsEnum is beyond where we would otherwise seek)
-                        if (Debugging.AssertsEnabled) Debugging.Assert(!m_context.AtomicReader.GetTerms(m_outerInstance.m_fieldName).GetIterator(null).SeekExact(curVNodeTerm), "should be absent");
+                        if (Debugging.AssertsEnabled) Debugging.Assert(!m_context.AtomicReader.GetTerms(m_outerInstance.m_fieldName).GetEnumerator().SeekExact(curVNodeTerm), "should be absent");
                     }
                     else
                     {
diff --git a/src/Lucene.Net.Suggest/Spell/HighFrequencyDictionary.cs b/src/Lucene.Net.Suggest/Spell/HighFrequencyDictionary.cs
index 2496cd6..939109d 100644
--- a/src/Lucene.Net.Suggest/Spell/HighFrequencyDictionary.cs
+++ b/src/Lucene.Net.Suggest/Spell/HighFrequencyDictionary.cs
@@ -81,7 +81,7 @@
                 Terms terms = MultiFields.GetTerms(outerInstance.reader, outerInstance.field);
                 if (terms != null)
                 {
-                    termsEnum = terms.GetIterator(null);
+                    termsEnum = terms.GetEnumerator();
                 }
                 else
                 {
diff --git a/src/Lucene.Net.Suggest/Spell/SpellChecker.cs b/src/Lucene.Net.Suggest/Spell/SpellChecker.cs
index 29be29e..2fa8cbb 100644
--- a/src/Lucene.Net.Suggest/Spell/SpellChecker.cs
+++ b/src/Lucene.Net.Suggest/Spell/SpellChecker.cs
@@ -501,7 +501,7 @@
                             Terms terms = ctx.AtomicReader.GetTerms(F_WORD);
                             if (terms != null)
                             {
-                                termsEnums.Add(terms.GetIterator(null));
+                                termsEnums.Add(terms.GetEnumerator());
                             }
                         }
                     }
diff --git a/src/Lucene.Net.TestFramework/Index/BasePostingsFormatTestCase.cs b/src/Lucene.Net.TestFramework/Index/BasePostingsFormatTestCase.cs
index 45e2392..3dff2dd 100644
--- a/src/Lucene.Net.TestFramework/Index/BasePostingsFormatTestCase.cs
+++ b/src/Lucene.Net.TestFramework/Index/BasePostingsFormatTestCase.cs
@@ -1208,7 +1208,7 @@
 
                 Terms terms = fieldsSource.GetTerms(fieldAndTerm.Field);
                 Assert.IsNotNull(terms);
-                termsEnum = terms.GetIterator(null);
+                termsEnum = terms.GetEnumerator();
 
                 if (!useTermState)
                 {
diff --git a/src/Lucene.Net.TestFramework/Index/BaseTermVectorsFormatTestCase.cs b/src/Lucene.Net.TestFramework/Index/BaseTermVectorsFormatTestCase.cs
index 2515572..5968141 100644
--- a/src/Lucene.Net.TestFramework/Index/BaseTermVectorsFormatTestCase.cs
+++ b/src/Lucene.Net.TestFramework/Index/BaseTermVectorsFormatTestCase.cs
@@ -545,7 +545,7 @@
             }
             BytesRef[] sortedTerms = uniqueTerms.ToArray(/*new BytesRef[0]*/);
             Array.Sort(sortedTerms, terms.Comparer);
-            TermsEnum termsEnum = terms.GetIterator(Random.NextBoolean() ? null : this.termsEnum.Value);
+            TermsEnum termsEnum = terms.GetEnumerator(Random.NextBoolean() ? null : this.termsEnum.Value);
             this.termsEnum.Value = termsEnum;
             for (int i = 0; i < sortedTerms.Length; ++i)
             {
diff --git a/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs b/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs
index 6ead222..b2dadb6 100644
--- a/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs
+++ b/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs
@@ -2624,8 +2624,8 @@
             Assert.AreEqual(leftTerms.HasPositions, rightTerms.HasPositions);
             Assert.AreEqual(leftTerms.HasPayloads, rightTerms.HasPayloads);
 
-            TermsEnum leftTermsEnum = leftTerms.GetIterator(null);
-            TermsEnum rightTermsEnum = rightTerms.GetIterator(null);
+            TermsEnum leftTermsEnum = leftTerms.GetEnumerator();
+            TermsEnum rightTermsEnum = rightTerms.GetEnumerator();
             AssertTermsEnumEquals(info, leftReader, leftTermsEnum, rightTermsEnum, true);
 
             AssertTermsSeekingEquals(info, leftTerms, rightTerms);
@@ -2896,7 +2896,7 @@
             int numPasses = 0;
             while (numPasses < 10 && tests.Count < numTests)
             {
-                leftEnum = leftTerms.GetIterator(leftEnum);
+                leftEnum = leftTerms.GetEnumerator(leftEnum);
                 BytesRef term;
                 while (leftEnum.MoveNext())
                 {
@@ -2948,7 +2948,7 @@
                 numPasses++;
             }
 
-            rightEnum = rightTerms.GetIterator(rightEnum);
+            rightEnum = rightTerms.GetEnumerator(rightEnum);
 
             IList<BytesRef> shuffledTests = new List<BytesRef>(tests);
             shuffledTests.Shuffle(Random);
@@ -2958,8 +2958,8 @@
                 if (Rarely())
                 {
                     // reuse the enums
-                    leftEnum = leftTerms.GetIterator(leftEnum);
-                    rightEnum = rightTerms.GetIterator(rightEnum);
+                    leftEnum = leftTerms.GetEnumerator(leftEnum);
+                    rightEnum = rightTerms.GetEnumerator(rightEnum);
                 }
 
                 bool seekExact = LuceneTestCase.Random.NextBoolean();
diff --git a/src/Lucene.Net.TestFramework/Util/TestUtil.cs b/src/Lucene.Net.TestFramework/Util/TestUtil.cs
index ad9c6ea..2d83b15 100644
--- a/src/Lucene.Net.TestFramework/Util/TestUtil.cs
+++ b/src/Lucene.Net.TestFramework/Util/TestUtil.cs
@@ -1159,7 +1159,7 @@
             {
                 return null;
             }
-            TermsEnum termsEnum = terms.GetIterator(null);
+            TermsEnum termsEnum = terms.GetEnumerator();
             if (!termsEnum.SeekExact(term))
             {
                 return null;
diff --git a/src/Lucene.Net.Tests.Codecs/Pulsing/Test10KPulsings.cs b/src/Lucene.Net.Tests.Codecs/Pulsing/Test10KPulsings.cs
index 639ffba..19fd045 100644
--- a/src/Lucene.Net.Tests.Codecs/Pulsing/Test10KPulsings.cs
+++ b/src/Lucene.Net.Tests.Codecs/Pulsing/Test10KPulsings.cs
@@ -80,7 +80,7 @@
             IndexReader ir = iw.GetReader();
             iw.Dispose();
 
-            TermsEnum te = MultiFields.GetTerms(ir, "field").GetIterator(null);
+            TermsEnum te = MultiFields.GetTerms(ir, "field").GetEnumerator();
             DocsEnum de = null;
 
             for (int i = 0; i < 10050; i++)
@@ -153,7 +153,7 @@
             IndexReader ir = iw.GetReader();
             iw.Dispose();
 
-            TermsEnum te = MultiFields.GetTerms(ir, "field").GetIterator(null);
+            TermsEnum te = MultiFields.GetTerms(ir, "field").GetEnumerator();
             DocsEnum de = null;
 
             for (int i = 0; i < 10050; i++)
diff --git a/src/Lucene.Net.Tests.Join/TestJoinUtil.cs b/src/Lucene.Net.Tests.Join/TestJoinUtil.cs
index 59de865..ecd5cdc 100644
--- a/src/Lucene.Net.Tests.Join/TestJoinUtil.cs
+++ b/src/Lucene.Net.Tests.Join/TestJoinUtil.cs
@@ -714,7 +714,7 @@
                             joinValues.UnionWith(joinValueToJoinScores.Keys);
                             foreach (BytesRef joinValue in joinValues)
                             {
-                                termsEnum = terms.GetIterator(termsEnum);
+                                termsEnum = terms.GetEnumerator(termsEnum);
                                 if (termsEnum.SeekExact(joinValue))
                                 {
                                     docsEnum = termsEnum.Docs(slowCompositeReader.LiveDocs, docsEnum, DocsFlags.NONE);
diff --git a/src/Lucene.Net.Tests.Memory/Index/Memory/MemoryIndexTest.cs b/src/Lucene.Net.Tests.Memory/Index/Memory/MemoryIndexTest.cs
index 413be97..02daddb 100644
--- a/src/Lucene.Net.Tests.Memory/Index/Memory/MemoryIndexTest.cs
+++ b/src/Lucene.Net.Tests.Memory/Index/Memory/MemoryIndexTest.cs
@@ -358,7 +358,7 @@
             assertTrue(disi.NextDoc() != DocIdSetIterator.NO_MORE_DOCS);
 
             // now reuse and check again
-            TermsEnum te = reader.GetTerms("foo").GetIterator(null);
+            TermsEnum te = reader.GetTerms("foo").GetEnumerator();
             assertTrue(te.SeekExact(new BytesRef("bar")));
             disi = te.Docs(null, disi, DocsFlags.NONE);
             docid = disi.DocID;
@@ -399,7 +399,7 @@
                 assertEquals(3, disi.EndOffset);
 
                 // now reuse and check again
-                TermsEnum te = reader.GetTerms("foo").GetIterator(null);
+                TermsEnum te = reader.GetTerms("foo").GetEnumerator();
                 assertTrue(te.SeekExact(new BytesRef("bar")));
                 disi = te.DocsAndPositions(null, disi);
                 docid = disi.DocID;
diff --git a/src/Lucene.Net.Tests.Misc/Index/Sorter/SorterTestBase.cs b/src/Lucene.Net.Tests.Misc/Index/Sorter/SorterTestBase.cs
index 170e843..4beacb0 100644
--- a/src/Lucene.Net.Tests.Misc/Index/Sorter/SorterTestBase.cs
+++ b/src/Lucene.Net.Tests.Misc/Index/Sorter/SorterTestBase.cs
@@ -251,7 +251,7 @@
         [Test]
         public virtual void TestDocsAndPositionsEnum()
         {
-            TermsEnum termsEnum = reader.GetTerms(DOC_POSITIONS_FIELD).GetIterator(null);
+            TermsEnum termsEnum = reader.GetTerms(DOC_POSITIONS_FIELD).GetEnumerator();
             assertEquals(TermsEnum.SeekStatus.FOUND, termsEnum.SeekCeil(new BytesRef(DOC_POSITIONS_TERM)));
             DocsAndPositionsEnum sortedPositions = termsEnum.DocsAndPositions(null, null);
             int doc;
@@ -332,7 +332,7 @@
         public virtual void TestDocsEnum()
         {
             IBits mappedLiveDocs = RandomLiveDocs(reader.MaxDoc);
-            TermsEnum termsEnum = reader.GetTerms(DOCS_ENUM_FIELD).GetIterator(null);
+            TermsEnum termsEnum = reader.GetTerms(DOCS_ENUM_FIELD).GetEnumerator();
             assertEquals(TermsEnum.SeekStatus.FOUND, termsEnum.SeekCeil(new BytesRef(DOCS_ENUM_TERM)));
             DocsEnum docs = termsEnum.Docs(mappedLiveDocs, null);
 
diff --git a/src/Lucene.Net.Tests.Misc/Index/TestMultiPassIndexSplitter.cs b/src/Lucene.Net.Tests.Misc/Index/TestMultiPassIndexSplitter.cs
index dceff46..a8f2e94 100644
--- a/src/Lucene.Net.Tests.Misc/Index/TestMultiPassIndexSplitter.cs
+++ b/src/Lucene.Net.Tests.Misc/Index/TestMultiPassIndexSplitter.cs
@@ -82,7 +82,7 @@
                     assertTrue(ir.NumDocs - NUM_DOCS / 3 <= 1); // rounding error
                     doc = ir.Document(0);
                     assertEquals("0", doc.Get("id"));
-                    te = MultiFields.GetTerms(ir, "id").GetIterator(null);
+                    te = MultiFields.GetTerms(ir, "id").GetEnumerator();
                     assertEquals(TermsEnum.SeekStatus.NOT_FOUND, te.SeekCeil(new BytesRef("1")));
                     assertNotSame("1", te.Term.Utf8ToString());
                 }
@@ -91,7 +91,7 @@
                     assertTrue(ir.NumDocs - NUM_DOCS / 3 <= 1);
                     doc = ir.Document(0);
                     assertEquals("1", doc.Get("id"));
-                    te = MultiFields.GetTerms(ir, "id").GetIterator(null);
+                    te = MultiFields.GetTerms(ir, "id").GetEnumerator();
                     assertEquals(TermsEnum.SeekStatus.NOT_FOUND, te.SeekCeil(new BytesRef("0")));
 
                     assertNotSame("0", te.Term.Utf8ToString());
@@ -102,7 +102,7 @@
                     doc = ir.Document(0);
                     assertEquals("2", doc.Get("id"));
 
-                    te = MultiFields.GetTerms(ir, "id").GetIterator(null);
+                    te = MultiFields.GetTerms(ir, "id").GetEnumerator();
                     assertEquals(TermsEnum.SeekStatus.NOT_FOUND, te.SeekCeil(new BytesRef("1")));
                     assertNotSame("1", te.Term);
 
@@ -157,7 +157,7 @@
                     doc = ir.Document(0);
                     assertEquals(start + "", doc.Get("id"));
                     // make sure the deleted doc is not here
-                    TermsEnum te = MultiFields.GetTerms(ir, "id").GetIterator(null);
+                    TermsEnum te = MultiFields.GetTerms(ir, "id").GetEnumerator();
                     Term t = new Term("id", (NUM_DOCS - 1) + "");
                     assertEquals(TermsEnum.SeekStatus.NOT_FOUND, te.SeekCeil(new BytesRef(t.Text())));
                     assertNotSame(t.Text(), te.Term.Utf8ToString());
diff --git a/src/Lucene.Net.Tests/Codecs/Compressing/TestCompressingTermVectorsFormat.cs b/src/Lucene.Net.Tests/Codecs/Compressing/TestCompressingTermVectorsFormat.cs
index 460917d..f495fbf 100644
--- a/src/Lucene.Net.Tests/Codecs/Compressing/TestCompressingTermVectorsFormat.cs
+++ b/src/Lucene.Net.Tests/Codecs/Compressing/TestCompressingTermVectorsFormat.cs
@@ -60,7 +60,7 @@
             AtomicReader ir = GetOnlySegmentReader(iw.GetReader());
             Terms terms = ir.GetTermVector(0, "foo");
             Assert.IsNotNull(terms);
-            TermsEnum termsEnum = terms.GetIterator(null);
+            TermsEnum termsEnum = terms.GetEnumerator();
             Assert.AreEqual(TermsEnum.SeekStatus.FOUND, termsEnum.SeekCeil(new BytesRef("this")));
             try
             {
diff --git a/src/Lucene.Net.Tests/Codecs/Lucene3x/TestSurrogates.cs b/src/Lucene.Net.Tests/Codecs/Lucene3x/TestSurrogates.cs
index 41a207c..ac2b6db 100644
--- a/src/Lucene.Net.Tests/Codecs/Lucene3x/TestSurrogates.cs
+++ b/src/Lucene.Net.Tests/Codecs/Lucene3x/TestSurrogates.cs
@@ -202,7 +202,7 @@
                 TermsEnum te;
                 if (!tes.TryGetValue(field, out te))
                 {
-                    te = MultiFields.GetTerms(reader, field).GetIterator(null);
+                    te = MultiFields.GetTerms(reader, field).GetEnumerator();
                     tes[field] = te;
                 }
 
@@ -279,7 +279,7 @@
                         TermsEnum te;
                         if (!tes.TryGetValue(field, out te))
                         {
-                            te = MultiFields.GetTerms(reader, field).GetIterator(null);
+                            te = MultiFields.GetTerms(reader, field).GetEnumerator();
                             tes[field] = te;
                         }
 
diff --git a/src/Lucene.Net.Tests/Codecs/Lucene40/TestReuseDocsEnum.cs b/src/Lucene.Net.Tests/Codecs/Lucene40/TestReuseDocsEnum.cs
index 5d4d053..19bbec2 100644
--- a/src/Lucene.Net.Tests/Codecs/Lucene40/TestReuseDocsEnum.cs
+++ b/src/Lucene.Net.Tests/Codecs/Lucene40/TestReuseDocsEnum.cs
@@ -196,7 +196,7 @@
             {
                 return null;
             }
-            TermsEnum iterator = terms.GetIterator(null);
+            TermsEnum iterator = terms.GetEnumerator();
             if (iterator.SeekExact(term))
             {
                 return iterator.Docs(bits, null, Random.NextBoolean() ? DocsFlags.FREQS : DocsFlags.NONE);
diff --git a/src/Lucene.Net.Tests/Codecs/Lucene41/TestBlockPostingsFormat3.cs b/src/Lucene.Net.Tests/Codecs/Lucene41/TestBlockPostingsFormat3.cs
index 3f0efe7..52c58e6 100644
--- a/src/Lucene.Net.Tests/Codecs/Lucene41/TestBlockPostingsFormat3.cs
+++ b/src/Lucene.Net.Tests/Codecs/Lucene41/TestBlockPostingsFormat3.cs
@@ -190,8 +190,8 @@
 
             // NOTE: we don't assert hasOffsets/hasPositions/hasPayloads because they are allowed to be different
 
-            TermsEnum leftTermsEnum = leftTerms.GetIterator(null);
-            TermsEnum rightTermsEnum = rightTerms.GetIterator(null);
+            TermsEnum leftTermsEnum = leftTerms.GetEnumerator();
+            TermsEnum rightTermsEnum = rightTerms.GetEnumerator();
             AssertTermsEnum(leftTermsEnum, rightTermsEnum, true);
 
             AssertTermsSeeking(leftTerms, rightTerms);
@@ -265,8 +265,8 @@
 
             foreach (BytesRef b in shuffledTests)
             {
-                leftEnum = leftTerms.GetIterator(leftEnum);
-                rightEnum = rightTerms.GetIterator(rightEnum);
+                leftEnum = leftTerms.GetEnumerator(leftEnum);
+                rightEnum = rightTerms.GetEnumerator(rightEnum);
 
                 Assert.AreEqual(leftEnum.SeekExact(b), rightEnum.SeekExact(b));
                 Assert.AreEqual(leftEnum.SeekExact(b), rightEnum.SeekExact(b));
diff --git a/src/Lucene.Net.Tests/Index/TestCodecs.cs b/src/Lucene.Net.Tests/Index/TestCodecs.cs
index f465019..dd85620 100644
--- a/src/Lucene.Net.Tests/Index/TestCodecs.cs
+++ b/src/Lucene.Net.Tests/Index/TestCodecs.cs
@@ -366,7 +366,7 @@
                     Terms terms2 = reader.GetTerms(fieldName);
                     Assert.IsNotNull(terms2);
 
-                    TermsEnum termsEnum = terms2.GetIterator(null);
+                    TermsEnum termsEnum = terms2.GetEnumerator();
 
                     DocsEnum docsEnum = null;
                     for (int i = 0; i < NUM_TERMS; i++)
@@ -593,7 +593,7 @@
                 for (int iter = 0; iter < NUM_TEST_ITER; iter++)
                 {
                     FieldData field = fields[Random.Next(fields.Length)];
-                    TermsEnum termsEnum = termsDict.GetTerms(field.fieldInfo.Name).GetIterator(null);
+                    TermsEnum termsEnum = termsDict.GetTerms(field.fieldInfo.Name).GetEnumerator();
 #pragma warning disable 612, 618
                     if (si.Codec is Lucene3xCodec)
 #pragma warning restore 612, 618
diff --git a/src/Lucene.Net.Tests/Index/TestDirectoryReader.cs b/src/Lucene.Net.Tests/Index/TestDirectoryReader.cs
index 183a5fc..b88b65b 100644
--- a/src/Lucene.Net.Tests/Index/TestDirectoryReader.cs
+++ b/src/Lucene.Net.Tests/Index/TestDirectoryReader.cs
@@ -100,11 +100,11 @@
             MultiReader mr3 = new MultiReader(readers2);
 
             // test mixing up TermDocs and TermEnums from different readers.
-            TermsEnum te2 = MultiFields.GetTerms(mr2, "body").GetIterator(null);
+            TermsEnum te2 = MultiFields.GetTerms(mr2, "body").GetEnumerator();
             te2.SeekCeil(new BytesRef("wow"));
             DocsEnum td = TestUtil.Docs(Random, mr2, "body", te2.Term, MultiFields.GetLiveDocs(mr2), null, 0);
 
-            TermsEnum te3 = MultiFields.GetTerms(mr3, "body").GetIterator(null);
+            TermsEnum te3 = MultiFields.GetTerms(mr3, "body").GetEnumerator();
             te3.SeekCeil(new BytesRef("wow"));
             td = TestUtil.Docs(Random, te3, MultiFields.GetLiveDocs(mr3), td, 0);
 
diff --git a/src/Lucene.Net.Tests/Index/TestDocsAndPositions.cs b/src/Lucene.Net.Tests/Index/TestDocsAndPositions.cs
index 9bb906e..4faf72d 100644
--- a/src/Lucene.Net.Tests/Index/TestDocsAndPositions.cs
+++ b/src/Lucene.Net.Tests/Index/TestDocsAndPositions.cs
@@ -105,7 +105,7 @@
             Terms terms = reader.GetTerms(fieldName);
             if (terms != null)
             {
-                TermsEnum te = terms.GetIterator(null);
+                TermsEnum te = terms.GetEnumerator();
                 if (te.SeekExact(bytes))
                 {
                     return te.DocsAndPositions(liveDocs, null);
@@ -393,7 +393,7 @@
             Assert.IsTrue(disi.NextDoc() != DocIdSetIterator.NO_MORE_DOCS);
 
             // now reuse and check again
-            TermsEnum te = r.GetTerms("foo").GetIterator(null);
+            TermsEnum te = r.GetTerms("foo").GetEnumerator();
             Assert.IsTrue(te.SeekExact(new BytesRef("bar")));
             disi = TestUtil.Docs(Random, te, null, disi, DocsFlags.NONE);
             docid = disi.DocID;
@@ -424,7 +424,7 @@
             Assert.IsTrue(disi.NextDoc() != DocIdSetIterator.NO_MORE_DOCS);
 
             // now reuse and check again
-            TermsEnum te = r.GetTerms("foo").GetIterator(null);
+            TermsEnum te = r.GetTerms("foo").GetEnumerator();
             Assert.IsTrue(te.SeekExact(new BytesRef("bar")));
             disi = te.DocsAndPositions(null, disi);
             docid = disi.DocID;
diff --git a/src/Lucene.Net.Tests/Index/TestFilterAtomicReader.cs b/src/Lucene.Net.Tests/Index/TestFilterAtomicReader.cs
index 35b7d26..8dcd7a1 100644
--- a/src/Lucene.Net.Tests/Index/TestFilterAtomicReader.cs
+++ b/src/Lucene.Net.Tests/Index/TestFilterAtomicReader.cs
@@ -176,7 +176,7 @@
             reader.Dispose();
             reader = DirectoryReader.Open(target);
 
-            TermsEnum terms = MultiFields.GetTerms(reader, "default").GetIterator(null);
+            TermsEnum terms = MultiFields.GetTerms(reader, "default").GetEnumerator();
             while (terms.MoveNext())
             {
                 Assert.IsTrue(terms.Term.Utf8ToString().IndexOf('e') != -1);
diff --git a/src/Lucene.Net.Tests/Index/TestIndexWriter.cs b/src/Lucene.Net.Tests/Index/TestIndexWriter.cs
index f9a006e..5e196c7 100644
--- a/src/Lucene.Net.Tests/Index/TestIndexWriter.cs
+++ b/src/Lucene.Net.Tests/Index/TestIndexWriter.cs
@@ -1095,7 +1095,7 @@
 
             IndexReader r = DirectoryReader.Open(dir);
             Terms tpv = r.GetTermVectors(0).GetTerms("field");
-            TermsEnum termsEnum = tpv.GetIterator(null);
+            TermsEnum termsEnum = tpv.GetEnumerator();
             Assert.IsTrue(termsEnum.MoveNext());
             DocsAndPositionsEnum dpEnum = termsEnum.DocsAndPositions(null, null);
             Assert.IsNotNull(dpEnum);
@@ -1630,7 +1630,7 @@
             w.AddDocument(d);
 
             AtomicReader r = GetOnlySegmentReader(w.GetReader());
-            TermsEnum t = r.Fields.GetTerms("field").GetIterator(null);
+            TermsEnum t = r.Fields.GetTerms("field").GetEnumerator();
             int count = 0;
             while (t.MoveNext())
             {
diff --git a/src/Lucene.Net.Tests/Index/TestPayloadsOnVectors.cs b/src/Lucene.Net.Tests/Index/TestPayloadsOnVectors.cs
index d251def..f026bf1 100644
--- a/src/Lucene.Net.Tests/Index/TestPayloadsOnVectors.cs
+++ b/src/Lucene.Net.Tests/Index/TestPayloadsOnVectors.cs
@@ -80,7 +80,7 @@
             DirectoryReader reader = writer.GetReader();
             Terms terms = reader.GetTermVector(1, "field");
             if (Debugging.AssertsEnabled) Debugging.Assert(terms != null);
-            TermsEnum termsEnum = terms.GetIterator(null);
+            TermsEnum termsEnum = terms.GetEnumerator();
             Assert.IsTrue(termsEnum.SeekExact(new BytesRef("withPayload")));
             DocsAndPositionsEnum de = termsEnum.DocsAndPositions(null, null);
             Assert.AreEqual(0, de.NextDoc());
@@ -129,7 +129,7 @@
             DirectoryReader reader = writer.GetReader();
             Terms terms = reader.GetTermVector(0, "field");
             if (Debugging.AssertsEnabled) Debugging.Assert(terms != null);
-            TermsEnum termsEnum = terms.GetIterator(null);
+            TermsEnum termsEnum = terms.GetEnumerator();
             Assert.IsTrue(termsEnum.SeekExact(new BytesRef("withPayload")));
             DocsAndPositionsEnum de = termsEnum.DocsAndPositions(null, null);
             Assert.AreEqual(0, de.NextDoc());
diff --git a/src/Lucene.Net.Tests/Index/TestPerSegmentDeletes.cs b/src/Lucene.Net.Tests/Index/TestPerSegmentDeletes.cs
index cd02ee7..e8eac54 100644
--- a/src/Lucene.Net.Tests/Index/TestPerSegmentDeletes.cs
+++ b/src/Lucene.Net.Tests/Index/TestPerSegmentDeletes.cs
@@ -248,7 +248,7 @@
         {
             Fields fields = MultiFields.GetFields(reader);
             Terms cterms = fields.GetTerms(term.Field);
-            TermsEnum ctermsEnum = cterms.GetIterator(null);
+            TermsEnum ctermsEnum = cterms.GetEnumerator();
             if (ctermsEnum.SeekExact(new BytesRef(term.Text())))
             {
                 DocsEnum docsEnum = TestUtil.Docs(Random, ctermsEnum, bits, null, DocsFlags.NONE);
diff --git a/src/Lucene.Net.Tests/Index/TestPostingsOffsets.cs b/src/Lucene.Net.Tests/Index/TestPostingsOffsets.cs
index 0f3ac91..b8f3622 100644
--- a/src/Lucene.Net.Tests/Index/TestPostingsOffsets.cs
+++ b/src/Lucene.Net.Tests/Index/TestPostingsOffsets.cs
@@ -327,7 +327,7 @@
                 // TODO: improve this
                 AtomicReader sub = (AtomicReader)ctx.Reader;
                 //System.out.println("\nsub=" + sub);
-                TermsEnum termsEnum = sub.Fields.GetTerms("content").GetIterator(null);
+                TermsEnum termsEnum = sub.Fields.GetTerms("content").GetEnumerator();
                 DocsEnum docs = null;
                 DocsAndPositionsEnum docsAndPositions = null;
                 DocsAndPositionsEnum docsAndPositionsAndOffsets = null;
diff --git a/src/Lucene.Net.Tests/Index/TestSegmentTermDocs.cs b/src/Lucene.Net.Tests/Index/TestSegmentTermDocs.cs
index 8dbcad3..2c9a398 100644
--- a/src/Lucene.Net.Tests/Index/TestSegmentTermDocs.cs
+++ b/src/Lucene.Net.Tests/Index/TestSegmentTermDocs.cs
@@ -74,7 +74,7 @@
             Assert.IsTrue(reader != null);
             Assert.AreEqual(indexDivisor, reader.TermInfosIndexDivisor);
 
-            TermsEnum terms = reader.Fields.GetTerms(DocHelper.TEXT_FIELD_2_KEY).GetIterator(null);
+            TermsEnum terms = reader.Fields.GetTerms(DocHelper.TEXT_FIELD_2_KEY).GetEnumerator();
             terms.SeekCeil(new BytesRef("field"));
             DocsEnum termDocs = TestUtil.Docs(Random, terms, reader.LiveDocs, null, DocsFlags.FREQS);
             if (termDocs.NextDoc() != DocIdSetIterator.NO_MORE_DOCS)
diff --git a/src/Lucene.Net.Tests/Index/TestStressAdvance.cs b/src/Lucene.Net.Tests/Index/TestStressAdvance.cs
index 4a4e6dc..cfa6852 100644
--- a/src/Lucene.Net.Tests/Index/TestStressAdvance.cs
+++ b/src/Lucene.Net.Tests/Index/TestStressAdvance.cs
@@ -96,7 +96,7 @@
                         bDocIDs.Add(docID);
                     }
                 }
-                TermsEnum te = GetOnlySegmentReader(r).Fields.GetTerms("field").GetIterator(null);
+                TermsEnum te = GetOnlySegmentReader(r).Fields.GetTerms("field").GetEnumerator();
 
                 DocsEnum de = null;
                 for (int iter2 = 0; iter2 < 10; iter2++)
diff --git a/src/Lucene.Net.Tests/Index/TestTermVectorsWriter.cs b/src/Lucene.Net.Tests/Index/TestTermVectorsWriter.cs
index a642347..3e7f17a 100644
--- a/src/Lucene.Net.Tests/Index/TestTermVectorsWriter.cs
+++ b/src/Lucene.Net.Tests/Index/TestTermVectorsWriter.cs
@@ -217,7 +217,7 @@
             w.Dispose();
 
             IndexReader r = DirectoryReader.Open(dir);
-            TermsEnum termsEnum = r.GetTermVectors(0).GetTerms("field").GetIterator(null);
+            TermsEnum termsEnum = r.GetTermVectors(0).GetTerms("field").GetEnumerator();
             Assert.IsTrue(termsEnum.MoveNext());
             DocsAndPositionsEnum dpEnum = termsEnum.DocsAndPositions(null, null);
             Assert.AreEqual(2, termsEnum.TotalTermFreq);
diff --git a/src/Lucene.Net.Tests/Index/TestTermdocPerf.cs b/src/Lucene.Net.Tests/Index/TestTermdocPerf.cs
index 33bfd09..0701821 100644
--- a/src/Lucene.Net.Tests/Index/TestTermdocPerf.cs
+++ b/src/Lucene.Net.Tests/Index/TestTermdocPerf.cs
@@ -137,7 +137,7 @@
 
             IndexReader reader = DirectoryReader.Open(dir);
 
-            TermsEnum tenum = MultiFields.GetTerms(reader, "foo").GetIterator(null);
+            TermsEnum tenum = MultiFields.GetTerms(reader, "foo").GetEnumerator();
 
             start = Environment.TickCount;
 
diff --git a/src/Lucene.Net.Tests/Index/TestTermsEnum2.cs b/src/Lucene.Net.Tests/Index/TestTermsEnum2.cs
index aea747f..bad12a2 100644
--- a/src/Lucene.Net.Tests/Index/TestTermsEnum2.cs
+++ b/src/Lucene.Net.Tests/Index/TestTermsEnum2.cs
@@ -126,7 +126,7 @@
             {
                 string reg = AutomatonTestUtil.RandomRegexp(Random);
                 Automaton automaton = (new RegExp(reg, RegExpSyntax.NONE)).ToAutomaton();
-                TermsEnum te = MultiFields.GetTerms(reader, "field").GetIterator(null);
+                TermsEnum te = MultiFields.GetTerms(reader, "field").GetEnumerator();
                 IList<BytesRef> unsortedTerms = new List<BytesRef>(terms);
                 unsortedTerms.Shuffle(Random);
 
diff --git a/src/Lucene.Net.Tests/Search/TestMultiTermQueryRewrites.cs b/src/Lucene.Net.Tests/Search/TestMultiTermQueryRewrites.cs
index a9050d3..a413827 100644
--- a/src/Lucene.Net.Tests/Search/TestMultiTermQueryRewrites.cs
+++ b/src/Lucene.Net.Tests/Search/TestMultiTermQueryRewrites.cs
@@ -227,7 +227,7 @@
 
             protected override TermsEnum GetTermsEnum(Terms terms, AttributeSource atts)
             {
-                return new TermRangeTermsEnumAnonymousInnerClassHelper(this, terms.GetIterator(null), new BytesRef("2"), new BytesRef("7"));
+                return new TermRangeTermsEnumAnonymousInnerClassHelper(this, terms.GetEnumerator(), new BytesRef("2"), new BytesRef("7"));
             }
 
             private class TermRangeTermsEnumAnonymousInnerClassHelper : TermRangeTermsEnum
diff --git a/src/Lucene.Net.Tests/Search/TestPrefixRandom.cs b/src/Lucene.Net.Tests/Search/TestPrefixRandom.cs
index 243e71c..b094f13 100644
--- a/src/Lucene.Net.Tests/Search/TestPrefixRandom.cs
+++ b/src/Lucene.Net.Tests/Search/TestPrefixRandom.cs
@@ -101,7 +101,7 @@
 
             protected override TermsEnum GetTermsEnum(Terms terms, AttributeSource atts)
             {
-                return new SimplePrefixTermsEnum(this, terms.GetIterator(null), prefix);
+                return new SimplePrefixTermsEnum(this, terms.GetEnumerator(), prefix);
             }
 
             private class SimplePrefixTermsEnum : FilteredTermsEnum
diff --git a/src/Lucene.Net.Tests/Search/TestRegexpRandom2.cs b/src/Lucene.Net.Tests/Search/TestRegexpRandom2.cs
index 2a76885..b032b13 100644
--- a/src/Lucene.Net.Tests/Search/TestRegexpRandom2.cs
+++ b/src/Lucene.Net.Tests/Search/TestRegexpRandom2.cs
@@ -121,7 +121,7 @@
 
             protected override TermsEnum GetTermsEnum(Terms terms, AttributeSource atts)
             {
-                return new SimpleAutomatonTermsEnum(this, terms.GetIterator(null));
+                return new SimpleAutomatonTermsEnum(this, terms.GetEnumerator());
             }
 
             private sealed class SimpleAutomatonTermsEnum : FilteredTermsEnum
diff --git a/src/Lucene.Net.Tests/Search/TestSort.cs b/src/Lucene.Net.Tests/Search/TestSort.cs
index 56cb02c..4312838 100644
--- a/src/Lucene.Net.Tests/Search/TestSort.cs
+++ b/src/Lucene.Net.Tests/Search/TestSort.cs
@@ -1762,7 +1762,7 @@
 
             public TermsEnum TermsEnum(Terms terms)
             {
-                return terms.GetIterator(null);
+                return terms.GetEnumerator();
             }
         }
 
@@ -1826,7 +1826,7 @@
 
             public TermsEnum TermsEnum(Terms terms)
             {
-                return terms.GetIterator(null);
+                return terms.GetEnumerator();
             }
         }
 
@@ -1893,7 +1893,7 @@
 
             public TermsEnum TermsEnum(Terms terms)
             {
-                return terms.GetIterator(null);
+                return terms.GetEnumerator();
             }
         }
 
@@ -1958,7 +1958,7 @@
 
             public TermsEnum TermsEnum(Terms terms)
             {
-                return terms.GetIterator(null);
+                return terms.GetEnumerator();
             }
         }
 
@@ -2023,7 +2023,7 @@
 
             public TermsEnum TermsEnum(Terms terms)
             {
-                return terms.GetIterator(null);
+                return terms.GetEnumerator();
             }
         }
 
@@ -2085,7 +2085,7 @@
 
             public TermsEnum TermsEnum(Terms terms)
             {
-                return terms.GetIterator(null);
+                return terms.GetEnumerator();
             }
         }
 
diff --git a/src/Lucene.Net/Codecs/FieldsConsumer.cs b/src/Lucene.Net/Codecs/FieldsConsumer.cs
index 9c1bd14..9ad3020 100644
--- a/src/Lucene.Net/Codecs/FieldsConsumer.cs
+++ b/src/Lucene.Net/Codecs/FieldsConsumer.cs
@@ -92,7 +92,7 @@
                 if (terms != null)
                 {
                     TermsConsumer termsConsumer = AddField(info);
-                    termsConsumer.Merge(mergeState, info.IndexOptions, terms.GetIterator(null));
+                    termsConsumer.Merge(mergeState, info.IndexOptions, terms.GetEnumerator());
                 }
             }
         }
diff --git a/src/Lucene.Net/Index/AtomicReader.cs b/src/Lucene.Net/Index/AtomicReader.cs
index d57d08a..1ecd119 100644
--- a/src/Lucene.Net/Index/AtomicReader.cs
+++ b/src/Lucene.Net/Index/AtomicReader.cs
@@ -120,7 +120,7 @@
             {
                 return 0;
             }
-            TermsEnum termsEnum = terms.GetIterator(null);
+            TermsEnum termsEnum = terms.GetEnumerator();
             if (termsEnum.SeekExact(term.Bytes))
             {
                 return termsEnum.DocFreq;
@@ -150,7 +150,7 @@
             {
                 return 0;
             }
-            TermsEnum termsEnum = terms.GetIterator(null);
+            TermsEnum termsEnum = terms.GetEnumerator();
             if (termsEnum.SeekExact(term.Bytes))
             {
                 return termsEnum.TotalTermFreq;
@@ -222,7 +222,7 @@
                 Terms terms = fields.GetTerms(term.Field);
                 if (terms != null)
                 {
-                    TermsEnum termsEnum = terms.GetIterator(null);
+                    TermsEnum termsEnum = terms.GetEnumerator();
                     if (termsEnum.SeekExact(term.Bytes))
                     {
                         return termsEnum.Docs(LiveDocs, null);
@@ -247,7 +247,7 @@
                 Terms terms = fields.GetTerms(term.Field);
                 if (terms != null)
                 {
-                    TermsEnum termsEnum = terms.GetIterator(null);
+                    TermsEnum termsEnum = terms.GetEnumerator();
                     if (termsEnum.SeekExact(term.Bytes))
                     {
                         return termsEnum.DocsAndPositions(LiveDocs, null);
diff --git a/src/Lucene.Net/Index/BufferedUpdatesStream.cs b/src/Lucene.Net/Index/BufferedUpdatesStream.cs
index 4e32316..8be3708 100644
--- a/src/Lucene.Net/Index/BufferedUpdatesStream.cs
+++ b/src/Lucene.Net/Index/BufferedUpdatesStream.cs
@@ -482,7 +482,7 @@
                         Terms terms = fields.GetTerms(currentField);
                         if (terms != null)
                         {
-                            termsEnum = terms.GetIterator(termsEnum);
+                            termsEnum = terms.GetEnumerator(termsEnum);
                         }
                         else
                         {
@@ -587,7 +587,7 @@
                         Terms terms = fields.GetTerms(currentField);
                         if (terms != null)
                         {
-                            termsEnum = terms.GetIterator(termsEnum);
+                            termsEnum = terms.GetEnumerator(termsEnum);
                         }
                         else
                         {
diff --git a/src/Lucene.Net/Index/CheckIndex.cs b/src/Lucene.Net/Index/CheckIndex.cs
index 814f83d..77635e2 100644
--- a/src/Lucene.Net/Index/CheckIndex.cs
+++ b/src/Lucene.Net/Index/CheckIndex.cs
@@ -1082,7 +1082,7 @@
                     }
                 }
 
-                TermsEnum termsEnum = terms.GetIterator(null);
+                TermsEnum termsEnum = terms.GetEnumerator();
 
                 bool hasOrd = true;
                 long termCountStart = status.DelTermCount + status.TermCount;
@@ -2134,7 +2134,7 @@
                             if (crossCheckTermVectors)
                             {
                                 Terms terms = tfv.GetTerms(field);
-                                termsEnum = terms.GetIterator(termsEnum);
+                                termsEnum = terms.GetEnumerator(termsEnum);
                                 bool postingsHasFreq = fieldInfo.IndexOptions.CompareTo(IndexOptions.DOCS_AND_FREQS) >= 0;
                                 bool postingsHasPayload = fieldInfo.HasPayloads;
                                 bool vectorsHasPayload = terms.HasPayloads;
@@ -2144,7 +2144,7 @@
                                 {
                                     throw new Exception("vector field=" + field + " does not exist in postings; doc=" + j);
                                 }
-                                postingsTermsEnum = postingsTerms.GetIterator(postingsTermsEnum);
+                                postingsTermsEnum = postingsTerms.GetEnumerator(postingsTermsEnum);
 
                                 bool hasProx = terms.HasOffsets || terms.HasPositions;
                                 BytesRef term;
diff --git a/src/Lucene.Net/Index/DocTermOrds.cs b/src/Lucene.Net/Index/DocTermOrds.cs
index d271b70..70403c3 100644
--- a/src/Lucene.Net/Index/DocTermOrds.cs
+++ b/src/Lucene.Net/Index/DocTermOrds.cs
@@ -288,7 +288,7 @@
                 }
                 else
                 {
-                    return terms.GetIterator(null);
+                    return terms.GetEnumerator();
                 }
             }
             else
@@ -354,8 +354,8 @@
                 return;
             }
 
-            TermsEnum te = terms.GetIterator(null);
-            BytesRef seekStart = termPrefix != null ? termPrefix : new BytesRef();
+            TermsEnum te = terms.GetEnumerator();
+            BytesRef seekStart = termPrefix ?? new BytesRef();
             //System.out.println("seekStart=" + seekStart.utf8ToString());
             if (te.SeekCeil(seekStart) == TermsEnum.SeekStatus.END)
             {
@@ -753,7 +753,7 @@
 
                 InitializeInstanceFields();
                 if (Debugging.AssertsEnabled) Debugging.Assert(outerInstance.m_indexedTermsArray != null);
-                termsEnum = reader.Fields.GetTerms(outerInstance.m_field).GetIterator(null);
+                termsEnum = reader.Fields.GetTerms(outerInstance.m_field).GetEnumerator();
             }
 
             public override IComparer<BytesRef> Comparer => termsEnum.Comparer;
diff --git a/src/Lucene.Net/Index/MultiFields.cs b/src/Lucene.Net/Index/MultiFields.cs
index bc27956..0825d73 100644
--- a/src/Lucene.Net/Index/MultiFields.cs
+++ b/src/Lucene.Net/Index/MultiFields.cs
@@ -183,7 +183,7 @@
             Terms terms = GetTerms(r, field);
             if (terms != null)
             {
-                TermsEnum termsEnum = terms.GetIterator(null);
+                TermsEnum termsEnum = terms.GetEnumerator();
                 if (termsEnum.SeekExact(term))
                 {
                     return termsEnum.Docs(liveDocs, null, flags);
@@ -221,7 +221,7 @@
             Terms terms = GetTerms(r, field);
             if (terms != null)
             {
-                TermsEnum termsEnum = terms.GetIterator(null);
+                TermsEnum termsEnum = terms.GetEnumerator();
                 if (termsEnum.SeekExact(term))
                 {
                     return termsEnum.DocsAndPositions(liveDocs, null, flags);
diff --git a/src/Lucene.Net/Index/TermContext.cs b/src/Lucene.Net/Index/TermContext.cs
index f8c3b3e..c389f50 100644
--- a/src/Lucene.Net/Index/TermContext.cs
+++ b/src/Lucene.Net/Index/TermContext.cs
@@ -106,7 +106,7 @@
                     Terms terms = fields.GetTerms(field);
                     if (terms != null)
                     {
-                        TermsEnum termsEnum = terms.GetIterator(null);
+                        TermsEnum termsEnum = terms.GetEnumerator();
                         if (termsEnum.SeekExact(bytes))
                         {
                             TermState termState = termsEnum.GetTermState();
diff --git a/src/Lucene.Net/Index/Terms.cs b/src/Lucene.Net/Index/Terms.cs
index 6e0e571..e2be239 100644
--- a/src/Lucene.Net/Index/Terms.cs
+++ b/src/Lucene.Net/Index/Terms.cs
@@ -89,11 +89,11 @@
             }
             if (startTerm == null)
             {
-                return new AutomatonTermsEnum(GetIterator(null), compiled);
+                return new AutomatonTermsEnum(GetEnumerator(), compiled);
             }
             else
             {
-                return new AutomatonTermsEnumAnonymousInnerClassHelper(this, GetIterator(null), compiled, startTerm);
+                return new AutomatonTermsEnumAnonymousInnerClassHelper(this, GetEnumerator(), compiled, startTerm);
             }
         }
 
diff --git a/src/Lucene.Net/Search/FieldCache.cs b/src/Lucene.Net/Search/FieldCache.cs
index 40924fd..2675541 100644
--- a/src/Lucene.Net/Search/FieldCache.cs
+++ b/src/Lucene.Net/Search/FieldCache.cs
@@ -658,7 +658,7 @@
 
             public TermsEnum TermsEnum(Terms terms)
             {
-                return terms.GetIterator(null);
+                return terms.GetEnumerator();
             }
         }
 
@@ -693,7 +693,7 @@
 
             public TermsEnum TermsEnum(Terms terms)
             {
-                return terms.GetIterator(null);
+                return terms.GetEnumerator();
             }
         }
 
@@ -723,7 +723,7 @@
 
             public TermsEnum TermsEnum(Terms terms)
             {
-                return terms.GetIterator(null);
+                return terms.GetEnumerator();
             }
 
             public override string ToString()
@@ -765,7 +765,7 @@
 
             public TermsEnum TermsEnum(Terms terms)
             {
-                return terms.GetIterator(null);
+                return terms.GetEnumerator();
             }
 
             public override string ToString()
@@ -800,7 +800,7 @@
 
             public TermsEnum TermsEnum(Terms terms)
             {
-                return terms.GetIterator(null);
+                return terms.GetEnumerator();
             }
 
             public override string ToString()
@@ -841,7 +841,7 @@
 
             public TermsEnum TermsEnum(Terms terms)
             {
-                return terms.GetIterator(null);
+                return terms.GetEnumerator();
             }
 
             public override string ToString()
@@ -870,7 +870,7 @@
 
             public TermsEnum TermsEnum(Terms terms)
             {
-                return NumericUtils.FilterPrefixCodedInt32s(terms.GetIterator(null));
+                return NumericUtils.FilterPrefixCodedInt32s(terms.GetEnumerator());
             }
 
             public override string ToString()
@@ -904,7 +904,7 @@
 
             public TermsEnum TermsEnum(Terms terms)
             {
-                return NumericUtils.FilterPrefixCodedInt32s(terms.GetIterator(null));
+                return NumericUtils.FilterPrefixCodedInt32s(terms.GetEnumerator());
             }
         }
 
@@ -933,7 +933,7 @@
 
             public TermsEnum TermsEnum(Terms terms)
             {
-                return NumericUtils.FilterPrefixCodedInt64s(terms.GetIterator(null));
+                return NumericUtils.FilterPrefixCodedInt64s(terms.GetEnumerator());
             }
         }
 
@@ -957,7 +957,7 @@
 
             public TermsEnum TermsEnum(Terms terms)
             {
-                return NumericUtils.FilterPrefixCodedInt64s(terms.GetIterator(null));
+                return NumericUtils.FilterPrefixCodedInt64s(terms.GetEnumerator());
             }
         }
 
diff --git a/src/Lucene.Net/Search/FieldCacheImpl.cs b/src/Lucene.Net/Search/FieldCacheImpl.cs
index 6dd8893..1a6338e 100644
--- a/src/Lucene.Net/Search/FieldCacheImpl.cs
+++ b/src/Lucene.Net/Search/FieldCacheImpl.cs
@@ -1944,7 +1944,7 @@
                 if (terms != null)
                 {
                     int termCount = 0;
-                    TermsEnum termsEnum = terms.GetIterator(null);
+                    TermsEnum termsEnum = terms.GetEnumerator();
                     DocsEnum docs = null;
                     while (true)
                     {
diff --git a/src/Lucene.Net/Search/FuzzyQuery.cs b/src/Lucene.Net/Search/FuzzyQuery.cs
index 295cc2e..d9944ce 100644
--- a/src/Lucene.Net/Search/FuzzyQuery.cs
+++ b/src/Lucene.Net/Search/FuzzyQuery.cs
@@ -150,7 +150,7 @@
         {
             if (maxEdits == 0 || prefixLength >= term.Text().Length) // can only match if it's exact
             {
-                return new SingleTermsEnum(terms.GetIterator(null), term.Bytes);
+                return new SingleTermsEnum(terms.GetEnumerator(), term.Bytes);
             }
             return new FuzzyTermsEnum(terms, atts, Term, maxEdits, prefixLength, transpositions);
         }
diff --git a/src/Lucene.Net/Search/MultiPhraseQuery.cs b/src/Lucene.Net/Search/MultiPhraseQuery.cs
index 00c9abf..dcb761a 100644
--- a/src/Lucene.Net/Search/MultiPhraseQuery.cs
+++ b/src/Lucene.Net/Search/MultiPhraseQuery.cs
@@ -236,7 +236,7 @@
                 }
 
                 // Reuse single TermsEnum below:
-                TermsEnum termsEnum = fieldTerms.GetIterator(null);
+                TermsEnum termsEnum = fieldTerms.GetEnumerator();
 
                 for (int pos = 0; pos < postingsFreqs.Length; pos++)
                 {
diff --git a/src/Lucene.Net/Search/NumericRangeQuery.cs b/src/Lucene.Net/Search/NumericRangeQuery.cs
index 05cbd5a..9262c53 100644
--- a/src/Lucene.Net/Search/NumericRangeQuery.cs
+++ b/src/Lucene.Net/Search/NumericRangeQuery.cs
@@ -190,7 +190,7 @@
             {
                 return TermsEnum.EMPTY;
             }
-            return new NumericRangeTermsEnum(this, terms.GetIterator(null));
+            return new NumericRangeTermsEnum(this, terms.GetEnumerator());
         }
 
         /// <summary>
diff --git a/src/Lucene.Net/Search/PhraseQuery.cs b/src/Lucene.Net/Search/PhraseQuery.cs
index c36bb5d..33142b5 100644
--- a/src/Lucene.Net/Search/PhraseQuery.cs
+++ b/src/Lucene.Net/Search/PhraseQuery.cs
@@ -349,7 +349,7 @@
                 }
 
                 // Reuse single TermsEnum below:
-                TermsEnum te = fieldTerms.GetIterator(null);
+                TermsEnum te = fieldTerms.GetEnumerator();
 
                 for (int i = 0; i < outerInstance.terms.Count; i++)
                 {
diff --git a/src/Lucene.Net/Search/PrefixQuery.cs b/src/Lucene.Net/Search/PrefixQuery.cs
index 7649ee6..3c4fef7 100644
--- a/src/Lucene.Net/Search/PrefixQuery.cs
+++ b/src/Lucene.Net/Search/PrefixQuery.cs
@@ -52,7 +52,7 @@
 
         protected override TermsEnum GetTermsEnum(Terms terms, AttributeSource atts)
         {
-            TermsEnum tenum = terms.GetIterator(null);
+            TermsEnum tenum = terms.GetEnumerator();
 
             if (_prefix.Bytes.Length == 0)
             {
diff --git a/src/Lucene.Net/Search/Spans/SpanTermQuery.cs b/src/Lucene.Net/Search/Spans/SpanTermQuery.cs
index 526ad99..a878618 100644
--- a/src/Lucene.Net/Search/Spans/SpanTermQuery.cs
+++ b/src/Lucene.Net/Search/Spans/SpanTermQuery.cs
@@ -124,7 +124,7 @@
                     Terms terms = fields.GetTerms(m_term.Field);
                     if (terms != null)
                     {
-                        TermsEnum termsEnum = terms.GetIterator(null);
+                        TermsEnum termsEnum = terms.GetEnumerator();
                         if (termsEnum.SeekExact(m_term.Bytes))
                         {
                             state = termsEnum.GetTermState();
@@ -154,7 +154,7 @@
                 return TermSpans.EMPTY_TERM_SPANS;
             }
 
-            TermsEnum termsEnum_ = context.AtomicReader.GetTerms(m_term.Field).GetIterator(null);
+            TermsEnum termsEnum_ = context.AtomicReader.GetTerms(m_term.Field).GetEnumerator();
             termsEnum_.SeekExact(m_term.Bytes, state);
 
             DocsAndPositionsEnum postings = termsEnum_.DocsAndPositions(acceptDocs, null, DocsAndPositionsFlags.PAYLOADS);
diff --git a/src/Lucene.Net/Search/TermQuery.cs b/src/Lucene.Net/Search/TermQuery.cs
index 49e51c4..c0fb93e 100644
--- a/src/Lucene.Net/Search/TermQuery.cs
+++ b/src/Lucene.Net/Search/TermQuery.cs
@@ -109,7 +109,7 @@
                     return null;
                 }
                 //System.out.println("LD=" + reader.getLiveDocs() + " set?=" + (reader.getLiveDocs() != null ? reader.getLiveDocs().get(0) : "null"));
-                TermsEnum termsEnum = context.AtomicReader.GetTerms(outerInstance.term.Field).GetIterator(null);
+                TermsEnum termsEnum = context.AtomicReader.GetTerms(outerInstance.term.Field).GetEnumerator();
                 termsEnum.SeekExact(outerInstance.term.Bytes, state);
                 return termsEnum;
             }
diff --git a/src/Lucene.Net/Search/TermRangeQuery.cs b/src/Lucene.Net/Search/TermRangeQuery.cs
index 51839db..50e0391 100644
--- a/src/Lucene.Net/Search/TermRangeQuery.cs
+++ b/src/Lucene.Net/Search/TermRangeQuery.cs
@@ -112,7 +112,7 @@
                 return TermsEnum.EMPTY;
             }
 
-            TermsEnum tenum = terms.GetIterator(null);
+            TermsEnum tenum = terms.GetEnumerator();
 
             if ((lowerTerm == null || (includeLower && lowerTerm.Length == 0)) && upperTerm == null)
             {
diff --git a/src/Lucene.Net/Util/Automaton/CompiledAutomaton.cs b/src/Lucene.Net/Util/Automaton/CompiledAutomaton.cs
index eec2d69..811bf7b 100644
--- a/src/Lucene.Net/Util/Automaton/CompiledAutomaton.cs
+++ b/src/Lucene.Net/Util/Automaton/CompiledAutomaton.cs
@@ -287,9 +287,9 @@
             return Type switch
             {
                 AUTOMATON_TYPE.NONE => TermsEnum.EMPTY,
-                AUTOMATON_TYPE.ALL => terms.GetIterator(null),
-                AUTOMATON_TYPE.SINGLE => new SingleTermsEnum(terms.GetIterator(null), Term),
-                AUTOMATON_TYPE.PREFIX => new PrefixTermsEnum(terms.GetIterator(null), Term),// TODO: this is very likely faster than .intersect,
+                AUTOMATON_TYPE.ALL => terms.GetEnumerator(),
+                AUTOMATON_TYPE.SINGLE => new SingleTermsEnum(terms.GetEnumerator(), Term),
+                AUTOMATON_TYPE.PREFIX => new PrefixTermsEnum(terms.GetEnumerator(), Term),// TODO: this is very likely faster than .intersect,
                                                                                             // but we should test and maybe cutover
                 AUTOMATON_TYPE.NORMAL => terms.Intersect(this, null),
                 _ => throw new Exception("unhandled case"),// unreachable