You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucenenet.apache.org by sy...@apache.org on 2014/09/16 22:20:49 UTC

[1/7] .NETification

Repository: lucenenet
Updated Branches:
  refs/heads/master f8ab0de0b -> 8452d3099


http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestStressIndexing2.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestStressIndexing2.cs b/src/Lucene.Net.Tests/core/Index/TestStressIndexing2.cs
index f171ed6..cc9fc39 100644
--- a/src/Lucene.Net.Tests/core/Index/TestStressIndexing2.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestStressIndexing2.cs
@@ -316,13 +316,13 @@ namespace Lucene.Net.Index
 
         private static void PrintDocs(DirectoryReader r)
         {
-            foreach (AtomicReaderContext ctx in r.Leaves())
+            foreach (AtomicReaderContext ctx in r.Leaves)
             {
                 // TODO: improve this
-                AtomicReader sub = (AtomicReader)ctx.Reader();
+                AtomicReader sub = (AtomicReader)ctx.Reader;
                 Bits liveDocs = sub.LiveDocs;
                 Console.WriteLine("  " + ((SegmentReader)sub).SegmentInfo);
-                for (int docID = 0; docID < sub.MaxDoc(); docID++)
+                for (int docID = 0; docID < sub.MaxDoc; docID++)
                 {
                     Document doc = sub.Document(docID);
                     if (liveDocs == null || liveDocs.Get(docID))
@@ -346,13 +346,13 @@ namespace Lucene.Net.Index
                 Console.WriteLine("\nr2 docs:");
                 PrintDocs(r2);
             }
-            if (r1.NumDocs() != r2.NumDocs())
+            if (r1.NumDocs != r2.NumDocs)
             {
-                Debug.Assert(false, "r1.NumDocs()=" + r1.NumDocs() + " vs r2.NumDocs()=" + r2.NumDocs());
+                Debug.Assert(false, "r1.NumDocs=" + r1.NumDocs + " vs r2.NumDocs=" + r2.NumDocs);
             }
-            bool hasDeletes = !(r1.MaxDoc() == r2.MaxDoc() && r1.NumDocs() == r1.MaxDoc());
+            bool hasDeletes = !(r1.MaxDoc == r2.MaxDoc && r1.NumDocs == r1.MaxDoc);
 
-            int[] r2r1 = new int[r2.MaxDoc()]; // r2 id to r1 id mapping
+            int[] r2r1 = new int[r2.MaxDoc]; // r2 id to r1 id mapping
 
             // create mapping from id2 space to id2 based on idField
             Fields f1 = MultiFields.GetFields(r1);
@@ -549,8 +549,8 @@ namespace Lucene.Net.Index
             DocsEnum docs1 = null, docs2 = null;
 
             // pack both doc and freq into single element for easy sorting
-            long[] info1 = new long[r1.NumDocs()];
-            long[] info2 = new long[r2.NumDocs()];
+            long[] info1 = new long[r1.NumDocs];
+            long[] info2 = new long[r2.NumDocs];
 
             for (; ; )
             {
@@ -698,7 +698,7 @@ namespace Lucene.Net.Index
         {
             if (d1 == null)
             {
-                Assert.IsTrue(d2 == null || d2.Size() == 0);
+                Assert.IsTrue(d2 == null || d2.Size == 0);
                 return;
             }
             Assert.IsTrue(d2 != null);

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestTermVectorsReader.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestTermVectorsReader.cs b/src/Lucene.Net.Tests/core/Index/TestTermVectorsReader.cs
index 8c96879..24deec6 100644
--- a/src/Lucene.Net.Tests/core/Index/TestTermVectorsReader.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestTermVectorsReader.cs
@@ -239,9 +239,9 @@ namespace Lucene.Net.Index
         {
             //Check to see the files were created properly in setup
             DirectoryReader reader = DirectoryReader.Open(Dir);
-            foreach (AtomicReaderContext ctx in reader.Leaves())
+            foreach (AtomicReaderContext ctx in reader.Leaves)
             {
-                SegmentReader sr = (SegmentReader)ctx.Reader();
+                SegmentReader sr = (SegmentReader)ctx.Reader;
                 Assert.IsTrue(sr.FieldInfos.HasVectors());
             }
             reader.Dispose();

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestTermVectorsWriter.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestTermVectorsWriter.cs b/src/Lucene.Net.Tests/core/Index/TestTermVectorsWriter.cs
index 0e4056d..4f9fee0 100644
--- a/src/Lucene.Net.Tests/core/Index/TestTermVectorsWriter.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestTermVectorsWriter.cs
@@ -433,7 +433,7 @@ namespace Lucene.Net.Index
                 writer.Dispose();
 
                 IndexReader reader = DirectoryReader.Open(dir);
-                for (int i = 0; i < reader.NumDocs(); i++)
+                for (int i = 0; i < reader.NumDocs; i++)
                 {
                     reader.Document(i);
                     reader.GetTermVectors(i);

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestTermsEnum.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestTermsEnum.cs b/src/Lucene.Net.Tests/core/Index/TestTermsEnum.cs
index 95a6dcb..d2f4b8c 100644
--- a/src/Lucene.Net.Tests/core/Index/TestTermsEnum.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestTermsEnum.cs
@@ -605,8 +605,8 @@ namespace Lucene.Net.Index
             w.ForceMerge(1);
             IndexReader r = w.Reader;
             w.Dispose();
-            Assert.AreEqual(1, r.NumDocs());
-            Assert.AreEqual(1, r.MaxDoc());
+            Assert.AreEqual(1, r.NumDocs);
+            Assert.AreEqual(1, r.MaxDoc);
             Terms terms = MultiFields.GetTerms(r, "field");
             if (terms != null)
             {
@@ -902,7 +902,7 @@ namespace Lucene.Net.Index
             DirectoryReader r = w.Reader;
             w.Dispose();
             AtomicReader sub = GetOnlySegmentReader(r);
-            Terms terms = sub.Fields().Terms("field");
+            Terms terms = sub.Fields.Terms("field");
             Automaton automaton = (new RegExp(".*", RegExp.NONE)).ToAutomaton();
             CompiledAutomaton ca = new CompiledAutomaton(automaton, false, false);
             TermsEnum te = terms.Intersect(ca, null);
@@ -959,7 +959,7 @@ namespace Lucene.Net.Index
             DirectoryReader r = w.Reader;
             w.Dispose();
             AtomicReader sub = GetOnlySegmentReader(r);
-            Terms terms = sub.Fields().Terms("field");
+            Terms terms = sub.Fields.Terms("field");
 
             Automaton automaton = (new RegExp(".*d", RegExp.NONE)).ToAutomaton();
             CompiledAutomaton ca = new CompiledAutomaton(automaton, false, false);
@@ -1015,7 +1015,7 @@ namespace Lucene.Net.Index
             DirectoryReader r = w.Reader;
             w.Dispose();
             AtomicReader sub = GetOnlySegmentReader(r);
-            Terms terms = sub.Fields().Terms("field");
+            Terms terms = sub.Fields.Terms("field");
 
             Automaton automaton = (new RegExp(".*", RegExp.NONE)).ToAutomaton(); // accept ALL
             CompiledAutomaton ca = new CompiledAutomaton(automaton, false, false);

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestThreadedForceMerge.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestThreadedForceMerge.cs b/src/Lucene.Net.Tests/core/Index/TestThreadedForceMerge.cs
index eee3f5b..7fddf19 100644
--- a/src/Lucene.Net.Tests/core/Index/TestThreadedForceMerge.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestThreadedForceMerge.cs
@@ -106,15 +106,15 @@ namespace Lucene.Net.Index
 
                 int expectedDocCount = (int)((1 + iter) * (200 + 8 * NUM_ITER2 * (NUM_THREADS / 2.0) * (1 + NUM_THREADS)));
 
-                Assert.AreEqual(expectedDocCount, writer.NumDocs(), "index=" + writer.SegString() + " numDocs=" + writer.NumDocs() + " maxDoc=" + writer.MaxDoc() + " config=" + writer.Config);
-                Assert.AreEqual(expectedDocCount, writer.MaxDoc(), "index=" + writer.SegString() + " numDocs=" + writer.NumDocs() + " maxDoc=" + writer.MaxDoc() + " config=" + writer.Config);
+                Assert.AreEqual(expectedDocCount, writer.NumDocs(), "index=" + writer.SegString() + " numDocs=" + writer.NumDocs() + " maxDoc=" + writer.MaxDoc + " config=" + writer.Config);
+                Assert.AreEqual(expectedDocCount, writer.MaxDoc, "index=" + writer.SegString() + " numDocs=" + writer.NumDocs() + " maxDoc=" + writer.MaxDoc + " config=" + writer.Config);
 
                 writer.Dispose();
                 writer = new IndexWriter(directory, (IndexWriterConfig)NewIndexWriterConfig(TEST_VERSION_CURRENT, ANALYZER).SetOpenMode(OpenMode_e.APPEND).SetMaxBufferedDocs(2));
 
                 DirectoryReader reader = DirectoryReader.Open(directory);
-                Assert.AreEqual(1, reader.Leaves().Count, "reader=" + reader);
-                Assert.AreEqual(expectedDocCount, reader.NumDocs());
+                Assert.AreEqual(1, reader.Leaves.Count, "reader=" + reader);
+                Assert.AreEqual(expectedDocCount, reader.NumDocs);
                 reader.Dispose();
             }
             writer.Dispose();

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestTieredMergePolicy.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestTieredMergePolicy.cs b/src/Lucene.Net.Tests/core/Index/TestTieredMergePolicy.cs
index 9d58ca1..efeb08b 100644
--- a/src/Lucene.Net.Tests/core/Index/TestTieredMergePolicy.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestTieredMergePolicy.cs
@@ -59,7 +59,7 @@ namespace Lucene.Net.Index
                 w.AddDocument(doc);
             }
 
-            Assert.AreEqual(numDocs, w.MaxDoc());
+            Assert.AreEqual(numDocs, w.MaxDoc);
             Assert.AreEqual(numDocs, w.NumDocs());
         }
 
@@ -81,7 +81,7 @@ namespace Lucene.Net.Index
                 doc.Add(NewTextField("content", "aaa " + (i % 4), Field.Store.NO));
                 w.AddDocument(doc);
             }
-            Assert.AreEqual(80, w.MaxDoc());
+            Assert.AreEqual(80, w.MaxDoc);
             Assert.AreEqual(80, w.NumDocs());
 
             if (VERBOSE)
@@ -91,7 +91,7 @@ namespace Lucene.Net.Index
             w.DeleteDocuments(new Term("content", "0"));
             w.ForceMergeDeletes();
 
-            Assert.AreEqual(80, w.MaxDoc());
+            Assert.AreEqual(80, w.MaxDoc);
             Assert.AreEqual(60, w.NumDocs());
 
             if (VERBOSE)
@@ -101,7 +101,7 @@ namespace Lucene.Net.Index
             ((TieredMergePolicy)w.Config.MergePolicy).ForceMergeDeletesPctAllowed = 10.0;
             w.ForceMergeDeletes();
             Assert.AreEqual(60, w.NumDocs());
-            Assert.AreEqual(60, w.MaxDoc());
+            Assert.AreEqual(60, w.MaxDoc);
             w.Dispose();
             dir.Dispose();
         }
@@ -178,8 +178,8 @@ namespace Lucene.Net.Index
 
             w.ForceMerge(1);
             IndexReader r = w.Reader;
-            Assert.AreEqual(numDocs, r.MaxDoc());
-            Assert.AreEqual(numDocs, r.NumDocs());
+            Assert.AreEqual(numDocs, r.MaxDoc);
+            Assert.AreEqual(numDocs, r.NumDocs);
             r.Dispose();
 
             if (VERBOSE)
@@ -190,15 +190,15 @@ namespace Lucene.Net.Index
             w.DeleteDocuments(new Term("id", "" + (42 + 17)));
 
             r = w.Reader;
-            Assert.AreEqual(numDocs, r.MaxDoc());
-            Assert.AreEqual(numDocs - 1, r.NumDocs());
+            Assert.AreEqual(numDocs, r.MaxDoc);
+            Assert.AreEqual(numDocs - 1, r.NumDocs);
             r.Dispose();
 
             w.ForceMergeDeletes();
 
             r = w.Reader;
-            Assert.AreEqual(numDocs - 1, r.MaxDoc());
-            Assert.AreEqual(numDocs - 1, r.NumDocs());
+            Assert.AreEqual(numDocs - 1, r.MaxDoc);
+            Assert.AreEqual(numDocs - 1, r.NumDocs);
             r.Dispose();
 
             w.Dispose();

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestTransactionRollback.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestTransactionRollback.cs b/src/Lucene.Net.Tests/core/Index/TestTransactionRollback.cs
index 6851290..6a74c49 100644
--- a/src/Lucene.Net.Tests/core/Index/TestTransactionRollback.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestTransactionRollback.cs
@@ -99,7 +99,7 @@ namespace Lucene.Net.Index
             //Perhaps not the most efficient approach but meets our
             //needs here.
             Bits liveDocs = MultiFields.GetLiveDocs(r);
-            for (int i = 0; i < r.MaxDoc(); i++)
+            for (int i = 0; i < r.MaxDoc; i++)
             {
                 if (liveDocs == null || liveDocs.Get(i))
                 {
@@ -246,7 +246,7 @@ namespace Lucene.Net.Index
                 // should not work:
                 (new IndexWriter(Dir, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())).SetIndexDeletionPolicy(new DeleteLastCommitPolicy<IndexCommit>(this)))).Dispose();
                 IndexReader r = DirectoryReader.Open(Dir);
-                Assert.AreEqual(100, r.NumDocs());
+                Assert.AreEqual(100, r.NumDocs);
                 r.Dispose();
             }
         }

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestTransactions.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestTransactions.cs b/src/Lucene.Net.Tests/core/Index/TestTransactions.cs
index c56ffb9..488472a 100644
--- a/src/Lucene.Net.Tests/core/Index/TestTransactions.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestTransactions.cs
@@ -243,9 +243,9 @@ namespace Lucene.Net.Index
                         return;
                     }
                 }
-                if (r1.NumDocs() != r2.NumDocs())
+                if (r1.NumDocs != r2.NumDocs)
                 {
-                    throw new Exception("doc counts differ: r1=" + r1.NumDocs() + " r2=" + r2.NumDocs());
+                    throw new Exception("doc counts differ: r1=" + r1.NumDocs + " r2=" + r2.NumDocs);
                 }
                 r1.Dispose();
                 r2.Dispose();

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Search/MockFilter.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Search/MockFilter.cs b/src/Lucene.Net.Tests/core/Search/MockFilter.cs
index 9ea51e0..a22148b 100644
--- a/src/Lucene.Net.Tests/core/Search/MockFilter.cs
+++ b/src/Lucene.Net.Tests/core/Search/MockFilter.cs
@@ -28,7 +28,7 @@ namespace Lucene.Net.Search
         public override DocIdSet GetDocIdSet(AtomicReaderContext context, Bits acceptDocs)
         {
             WasCalled_Renamed = true;
-            return new FixedBitSet(context.Reader().MaxDoc());
+            return new FixedBitSet(context.Reader.MaxDoc);
         }
 
         public virtual void Clear()

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Search/SingleDocTestFilter.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Search/SingleDocTestFilter.cs b/src/Lucene.Net.Tests/core/Search/SingleDocTestFilter.cs
index c051615..efc21ec 100644
--- a/src/Lucene.Net.Tests/core/Search/SingleDocTestFilter.cs
+++ b/src/Lucene.Net.Tests/core/Search/SingleDocTestFilter.cs
@@ -32,7 +32,7 @@ namespace Lucene.Net.Search
 
         public override DocIdSet GetDocIdSet(AtomicReaderContext context, Bits acceptDocs)
         {
-            FixedBitSet bits = new FixedBitSet(context.Reader().MaxDoc());
+            FixedBitSet bits = new FixedBitSet(context.Reader.MaxDoc);
             bits.Set(Doc);
             if (acceptDocs != null && !acceptDocs.Get(Doc))
             {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Search/Spans/MultiSpansWrapper.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Search/Spans/MultiSpansWrapper.cs b/src/Lucene.Net.Tests/core/Search/Spans/MultiSpansWrapper.cs
index c9c2832..ad0f3e5 100644
--- a/src/Lucene.Net.Tests/core/Search/Spans/MultiSpansWrapper.cs
+++ b/src/Lucene.Net.Tests/core/Search/Spans/MultiSpansWrapper.cs
@@ -61,11 +61,11 @@ namespace Lucene.Net.Search.Spans
             {
                 termContexts[term] = TermContext.Build(topLevelReaderContext, term);
             }
-            IList<AtomicReaderContext> leaves = topLevelReaderContext.Leaves();
+            IList<AtomicReaderContext> leaves = topLevelReaderContext.Leaves;
             if (leaves.Count == 1)
             {
                 AtomicReaderContext ctx = leaves[0];
-                return query.GetSpans(ctx, ((AtomicReader)ctx.Reader()).LiveDocs, termContexts);
+                return query.GetSpans(ctx, ((AtomicReader)ctx.Reader).LiveDocs, termContexts);
             }
             return new MultiSpansWrapper(leaves, query, termContexts);
         }
@@ -79,7 +79,7 @@ namespace Lucene.Net.Search.Spans
             if (Current == null)
             {
                 AtomicReaderContext ctx = Leaves[LeafOrd];
-                Current = Query.GetSpans(ctx, ((AtomicReader)ctx.Reader()).LiveDocs, TermContexts);
+                Current = Query.GetSpans(ctx, ((AtomicReader)ctx.Reader).LiveDocs, TermContexts);
             }
             while (true)
             {
@@ -90,7 +90,7 @@ namespace Lucene.Net.Search.Spans
                 if (++LeafOrd < NumLeaves)
                 {
                     AtomicReaderContext ctx = Leaves[LeafOrd];
-                    Current = Query.GetSpans(ctx, ((AtomicReader)ctx.Reader()).LiveDocs, TermContexts);
+                    Current = Query.GetSpans(ctx, ((AtomicReader)ctx.Reader).LiveDocs, TermContexts);
                 }
                 else
                 {
@@ -113,13 +113,13 @@ namespace Lucene.Net.Search.Spans
             if (subIndex != LeafOrd)
             {
                 AtomicReaderContext ctx = Leaves[subIndex];
-                Current = Query.GetSpans(ctx, ((AtomicReader)ctx.Reader()).LiveDocs, TermContexts);
+                Current = Query.GetSpans(ctx, ((AtomicReader)ctx.Reader).LiveDocs, TermContexts);
                 LeafOrd = subIndex;
             }
             else if (Current == null)
             {
                 AtomicReaderContext ctx = Leaves[LeafOrd];
-                Current = Query.GetSpans(ctx, ((AtomicReader)ctx.Reader()).LiveDocs, TermContexts);
+                Current = Query.GetSpans(ctx, ((AtomicReader)ctx.Reader).LiveDocs, TermContexts);
             }
             while (true)
             {
@@ -138,7 +138,7 @@ namespace Lucene.Net.Search.Spans
                 if (++LeafOrd < NumLeaves)
                 {
                     AtomicReaderContext ctx = Leaves[LeafOrd];
-                    Current = Query.GetSpans(ctx, ((AtomicReader)ctx.Reader()).LiveDocs, TermContexts);
+                    Current = Query.GetSpans(ctx, ((AtomicReader)ctx.Reader).LiveDocs, TermContexts);
                 }
                 else
                 {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Search/Spans/TestNearSpansOrdered.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Search/Spans/TestNearSpansOrdered.cs b/src/Lucene.Net.Tests/core/Search/Spans/TestNearSpansOrdered.cs
index 480e814..47d17f0 100644
--- a/src/Lucene.Net.Tests/core/Search/Spans/TestNearSpansOrdered.cs
+++ b/src/Lucene.Net.Tests/core/Search/Spans/TestNearSpansOrdered.cs
@@ -183,8 +183,8 @@ namespace Lucene.Net.Search.Spans
             SpanNearQuery q = MakeQuery();
             Weight w = Searcher.CreateNormalizedWeight(q);
             IndexReaderContext topReaderContext = Searcher.TopReaderContext;
-            AtomicReaderContext leave = topReaderContext.Leaves()[0];
-            Scorer s = w.Scorer(leave, ((AtomicReader)leave.Reader()).LiveDocs);
+            AtomicReaderContext leave = topReaderContext.Leaves[0];
+            Scorer s = w.Scorer(leave, ((AtomicReader)leave.Reader).LiveDocs);
             Assert.AreEqual(1, s.Advance(1));
         }
 

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Search/Spans/TestSpans.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Search/Spans/TestSpans.cs b/src/Lucene.Net.Tests/core/Search/Spans/TestSpans.cs
index f0485b3..e4e7277 100644
--- a/src/Lucene.Net.Tests/core/Search/Spans/TestSpans.cs
+++ b/src/Lucene.Net.Tests/core/Search/Spans/TestSpans.cs
@@ -406,7 +406,7 @@ namespace Lucene.Net.Search.Spans
             bool ordered = true;
             int slop = 1;
             IndexReaderContext topReaderContext = Searcher.TopReaderContext;
-            IList<AtomicReaderContext> leaves = topReaderContext.Leaves();
+            IList<AtomicReaderContext> leaves = topReaderContext.Leaves;
             int subIndex = ReaderUtil.SubIndex(11, leaves);
             for (int i = 0, c = leaves.Count; i < c; i++)
             {
@@ -421,7 +421,7 @@ namespace Lucene.Net.Search.Spans
                     Searcher.Similarity = sim;
                     SpanNearQuery snq = new SpanNearQuery(new SpanQuery[] { MakeSpanTermQuery("t1"), MakeSpanTermQuery("t2") }, slop, ordered);
 
-                    spanScorer = Searcher.CreateNormalizedWeight(snq).Scorer(ctx, ((AtomicReader)ctx.Reader()).LiveDocs);
+                    spanScorer = Searcher.CreateNormalizedWeight(snq).Scorer(ctx, ((AtomicReader)ctx.Reader).LiveDocs);
                 }
                 finally
                 {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Search/Spans/TestSpansAdvanced2.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Search/Spans/TestSpansAdvanced2.cs b/src/Lucene.Net.Tests/core/Search/Spans/TestSpansAdvanced2.cs
index 1fdcaa7..69bee99 100644
--- a/src/Lucene.Net.Tests/core/Search/Spans/TestSpansAdvanced2.cs
+++ b/src/Lucene.Net.Tests/core/Search/Spans/TestSpansAdvanced2.cs
@@ -78,7 +78,7 @@ namespace Lucene.Net.Search.Spans
         public virtual void TestVerifyIndex()
         {
             IndexReader reader = DirectoryReader.Open(MDirectory);
-            Assert.AreEqual(8, reader.NumDocs());
+            Assert.AreEqual(8, reader.NumDocs);
             reader.Dispose();
         }
 

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Search/TestBooleanOr.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Search/TestBooleanOr.cs b/src/Lucene.Net.Tests/core/Search/TestBooleanOr.cs
index f0373d6..778bb1b 100644
--- a/src/Lucene.Net.Tests/core/Search/TestBooleanOr.cs
+++ b/src/Lucene.Net.Tests/core/Search/TestBooleanOr.cs
@@ -195,8 +195,8 @@ namespace Lucene.Net.Search
 
             Weight w = s.CreateNormalizedWeight(bq);
 
-            Assert.AreEqual(1, s.IndexReader.Leaves().Count);
-            BulkScorer scorer = w.BulkScorer(s.IndexReader.Leaves()[0], false, null);
+            Assert.AreEqual(1, s.IndexReader.Leaves.Count);
+            BulkScorer scorer = w.BulkScorer(s.IndexReader.Leaves[0], false, null);
 
             FixedBitSet hits = new FixedBitSet(docCount);
             AtomicInteger end = new AtomicInteger();

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Search/TestCachingWrapperFilter.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Search/TestCachingWrapperFilter.cs b/src/Lucene.Net.Tests/core/Search/TestCachingWrapperFilter.cs
index b4f2a4e..393ddab 100644
--- a/src/Lucene.Net.Tests/core/Search/TestCachingWrapperFilter.cs
+++ b/src/Lucene.Net.Tests/core/Search/TestCachingWrapperFilter.cs
@@ -82,13 +82,13 @@ namespace Lucene.Net.Search
         private void AssertFilterEquals(Filter f1, Filter f2)
         {
             Query query = new MatchAllDocsQuery();
-            TopDocs hits1 = @is.Search(query, f1, Ir.MaxDoc());
-            TopDocs hits2 = @is.Search(query, f2, Ir.MaxDoc());
+            TopDocs hits1 = @is.Search(query, f1, Ir.MaxDoc);
+            TopDocs hits2 = @is.Search(query, f2, Ir.MaxDoc);
             Assert.AreEqual(hits1.TotalHits, hits2.TotalHits);
             CheckHits.CheckEqual(query, hits1.ScoreDocs, hits2.ScoreDocs);
             // now do it again to confirm caching works
-            TopDocs hits3 = @is.Search(query, f1, Ir.MaxDoc());
-            TopDocs hits4 = @is.Search(query, f2, Ir.MaxDoc());
+            TopDocs hits3 = @is.Search(query, f1, Ir.MaxDoc);
+            TopDocs hits4 = @is.Search(query, f2, Ir.MaxDoc);
             Assert.AreEqual(hits3.TotalHits, hits4.TotalHits);
             CheckHits.CheckEqual(query, hits3.ScoreDocs, hits4.ScoreDocs);
         }
@@ -134,7 +134,7 @@ namespace Lucene.Net.Search
         {
             for (int i = 0; i < 10; i++)
             {
-                int id = Random().Next(Ir.MaxDoc());
+                int id = Random().Next(Ir.MaxDoc);
                 Query query = new TermQuery(new Term("id", Convert.ToString(id)));
                 Filter expected = new QueryWrapperFilter(query);
                 Filter actual = new CachingWrapperFilter(expected);
@@ -149,7 +149,7 @@ namespace Lucene.Net.Search
         {
             for (int i = 0; i < 10; i++)
             {
-                int id_start = Random().Next(Ir.MaxDoc() - 1);
+                int id_start = Random().Next(Ir.MaxDoc - 1);
                 int id_end = id_start + 1;
                 Query query = TermRangeQuery.NewStringRange("id", Convert.ToString(id_start), Convert.ToString(id_end), true, true);
                 Filter expected = new QueryWrapperFilter(query);
@@ -182,15 +182,15 @@ namespace Lucene.Net.Search
             CachingWrapperFilter cacher = new CachingWrapperFilter(filter);
 
             // first time, nested filter is called
-            DocIdSet strongRef = cacher.GetDocIdSet(context, ((AtomicReader)context.Reader()).LiveDocs);
+            DocIdSet strongRef = cacher.GetDocIdSet(context, (context.AtomicReader).LiveDocs);
             Assert.IsTrue(filter.WasCalled(), "first time");
 
             // make sure no exception if cache is holding the wrong docIdSet
-            cacher.GetDocIdSet(context, ((AtomicReader)context.Reader()).LiveDocs);
+            cacher.GetDocIdSet(context, (context.AtomicReader).LiveDocs);
 
             // second time, nested filter should not be called
             filter.Clear();
-            cacher.GetDocIdSet(context, ((AtomicReader)context.Reader()).LiveDocs);
+            cacher.GetDocIdSet(context, (context.AtomicReader).LiveDocs);
             Assert.IsFalse(filter.WasCalled(), "second time");
 
             reader.Dispose();
@@ -211,8 +211,8 @@ namespace Lucene.Net.Search
             CachingWrapperFilter cacher = new CachingWrapperFilter(filter);
 
             // the caching filter should return the empty set constant
-            //Assert.IsNull(cacher.GetDocIdSet(context, "second time", ((AtomicReader)context.Reader()).LiveDocs));
-            Assert.IsNull(cacher.GetDocIdSet(context, ((AtomicReader)context.Reader()).LiveDocs));
+            //Assert.IsNull(cacher.GetDocIdSet(context, "second time", (context.AtomicReader).LiveDocs));
+            Assert.IsNull(cacher.GetDocIdSet(context, (context.AtomicReader).LiveDocs));
 
             reader.Dispose();
             dir.Dispose();
@@ -250,7 +250,7 @@ namespace Lucene.Net.Search
             CachingWrapperFilter cacher = new CachingWrapperFilter(filter);
 
             // the caching filter should return the empty set constant
-            Assert.IsNull(cacher.GetDocIdSet(context, ((AtomicReader)context.Reader()).LiveDocs));
+            Assert.IsNull(cacher.GetDocIdSet(context, (context.AtomicReader).LiveDocs));
 
             reader.Dispose();
             dir.Dispose();
@@ -294,8 +294,8 @@ namespace Lucene.Net.Search
             Assert.IsTrue(reader.Context is AtomicReaderContext);
             AtomicReaderContext context = (AtomicReaderContext)reader.Context;
             CachingWrapperFilter cacher = new CachingWrapperFilter(filter);
-            DocIdSet originalSet = filter.GetDocIdSet(context, ((AtomicReader)context.Reader()).LiveDocs);
-            DocIdSet cachedSet = cacher.GetDocIdSet(context, ((AtomicReader)context.Reader()).LiveDocs);
+            DocIdSet originalSet = filter.GetDocIdSet(context, (context.AtomicReader).LiveDocs);
+            DocIdSet cachedSet = cacher.GetDocIdSet(context, (context.AtomicReader).LiveDocs);
             if (originalSet == null)
             {
                 Assert.IsNull(cachedSet);
@@ -354,7 +354,7 @@ namespace Lucene.Net.Search
 
             public override DocIdSet GetDocIdSet(AtomicReaderContext context, Bits acceptDocs)
             {
-                return new FixedBitSet(context.Reader().MaxDoc());
+                return new FixedBitSet(context.Reader.MaxDoc);
             }
         }
 

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Search/TestDisjunctionMaxQuery.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Search/TestDisjunctionMaxQuery.cs b/src/Lucene.Net.Tests/core/Search/TestDisjunctionMaxQuery.cs
index 8e31fec..9225131 100644
--- a/src/Lucene.Net.Tests/core/Search/TestDisjunctionMaxQuery.cs
+++ b/src/Lucene.Net.Tests/core/Search/TestDisjunctionMaxQuery.cs
@@ -189,7 +189,7 @@ namespace Lucene.Net.Search
             Assert.IsTrue(s.TopReaderContext is AtomicReaderContext);
             Weight dw = s.CreateNormalizedWeight(dq);
             AtomicReaderContext context = (AtomicReaderContext)s.TopReaderContext;
-            Scorer ds = dw.Scorer(context, ((AtomicReader)context.Reader()).LiveDocs);
+            Scorer ds = dw.Scorer(context, (context.AtomicReader).LiveDocs);
             bool skipOk = ds.Advance(3) != DocIdSetIterator.NO_MORE_DOCS;
             if (skipOk)
             {
@@ -207,7 +207,7 @@ namespace Lucene.Net.Search
             QueryUtils.Check(Random(), dq, s);
             Weight dw = s.CreateNormalizedWeight(dq);
             AtomicReaderContext context = (AtomicReaderContext)s.TopReaderContext;
-            Scorer ds = dw.Scorer(context, ((AtomicReader)context.Reader()).LiveDocs);
+            Scorer ds = dw.Scorer(context, (context.AtomicReader).LiveDocs);
             Assert.IsTrue(ds.Advance(3) != DocIdSetIterator.NO_MORE_DOCS, "firsttime skipTo found no match");
             Assert.AreEqual("d4", r.Document(ds.DocID()).Get("id"), "found wrong docid");
         }

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Search/TestDocValuesScoring.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Search/TestDocValuesScoring.cs b/src/Lucene.Net.Tests/core/Search/TestDocValuesScoring.cs
index 009d91d..4bc33b2 100644
--- a/src/Lucene.Net.Tests/core/Search/TestDocValuesScoring.cs
+++ b/src/Lucene.Net.Tests/core/Search/TestDocValuesScoring.cs
@@ -183,7 +183,7 @@ namespace Lucene.Net.Search
             public override SimScorer DoSimScorer(SimWeight stats, AtomicReaderContext context)
             {
                 SimScorer sub = Sim.DoSimScorer(stats, context);
-                FieldCache_Fields.Floats values = FieldCache_Fields.DEFAULT.GetFloats((AtomicReader)context.Reader(), BoostField, false);
+                FieldCache_Fields.Floats values = FieldCache_Fields.DEFAULT.GetFloats(context.AtomicReader, BoostField, false);
 
                 return new SimScorerAnonymousInnerClassHelper(this, sub, values);
             }

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Search/TestElevationComparator.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Search/TestElevationComparator.cs b/src/Lucene.Net.Tests/core/Search/TestElevationComparator.cs
index 7a016bb..d641ae7 100644
--- a/src/Lucene.Net.Tests/core/Search/TestElevationComparator.cs
+++ b/src/Lucene.Net.Tests/core/Search/TestElevationComparator.cs
@@ -222,7 +222,7 @@ namespace Lucene.Net.Search
 
             public override FieldComparator SetNextReader(AtomicReaderContext context)
             {
-                idIndex = FieldCache_Fields.DEFAULT.GetTermsIndex((AtomicReader)context.Reader(), Fieldname);
+                idIndex = FieldCache_Fields.DEFAULT.GetTermsIndex(context.AtomicReader, Fieldname);
                 return this;
             }
 

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Search/TestFieldCacheRangeFilter.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Search/TestFieldCacheRangeFilter.cs b/src/Lucene.Net.Tests/core/Search/TestFieldCacheRangeFilter.cs
index 1593605..1acffbd 100644
--- a/src/Lucene.Net.Tests/core/Search/TestFieldCacheRangeFilter.cs
+++ b/src/Lucene.Net.Tests/core/Search/TestFieldCacheRangeFilter.cs
@@ -55,7 +55,7 @@ namespace Lucene.Net.Search
             string maxIP = Pad(MaxId);
             string medIP = Pad(medId);
 
-            int numDocs = reader.NumDocs();
+            int numDocs = reader.NumDocs;
 
             Assert.AreEqual(numDocs, 1 + MaxId - MinId, "num of docs");
 
@@ -136,7 +136,7 @@ namespace Lucene.Net.Search
             string minRP = Pad(SignedIndexDir.MinR);
             string maxRP = Pad(SignedIndexDir.MaxR);
 
-            int numDocs = reader.NumDocs();
+            int numDocs = reader.NumDocs;
 
             Assert.AreEqual(numDocs, 1 + MaxId - MinId, "num of docs");
 
@@ -197,7 +197,7 @@ namespace Lucene.Net.Search
             IndexReader reader = SignedIndexReader;
             IndexSearcher search = NewSearcher(reader);
 
-            int numDocs = reader.NumDocs();
+            int numDocs = reader.NumDocs;
             int medId = ((MaxId - MinId) / 2);
             short? minIdO = Convert.ToInt16((short)MinId);
             short? maxIdO = Convert.ToInt16((short)MaxId);
@@ -287,7 +287,7 @@ namespace Lucene.Net.Search
             IndexReader reader = SignedIndexReader;
             IndexSearcher search = NewSearcher(reader);
 
-            int numDocs = reader.NumDocs();
+            int numDocs = reader.NumDocs;
             int medId = ((MaxId - MinId) / 2);
             int? minIdO = Convert.ToInt32(MinId);
             int? maxIdO = Convert.ToInt32(MaxId);
@@ -378,7 +378,7 @@ namespace Lucene.Net.Search
             IndexReader reader = SignedIndexReader;
             IndexSearcher search = NewSearcher(reader);
 
-            int numDocs = reader.NumDocs();
+            int numDocs = reader.NumDocs;
             int medId = ((MaxId - MinId) / 2);
             long? minIdO = Convert.ToInt64(MinId);
             long? maxIdO = Convert.ToInt64(MaxId);
@@ -471,7 +471,7 @@ namespace Lucene.Net.Search
             IndexReader reader = SignedIndexReader;
             IndexSearcher search = NewSearcher(reader);
 
-            int numDocs = reader.NumDocs();
+            int numDocs = reader.NumDocs;
             float? minIdO = Convert.ToSingle(MinId + .5f);
             float? medIdO = Convert.ToSingle((float)minIdO + ((MaxId - MinId)) / 2.0f);
 
@@ -500,7 +500,7 @@ namespace Lucene.Net.Search
             IndexReader reader = SignedIndexReader;
             IndexSearcher search = NewSearcher(reader);
 
-            int numDocs = reader.NumDocs();
+            int numDocs = reader.NumDocs;
             double? minIdO = Convert.ToDouble(MinId + .5);
             double? medIdO = Convert.ToDouble((float)minIdO + ((MaxId - MinId)) / 2.0);
 
@@ -544,7 +544,7 @@ namespace Lucene.Net.Search
 
             IndexReader reader = DirectoryReader.Open(dir);
             IndexSearcher search = NewSearcher(reader);
-            Assert.IsTrue(reader.HasDeletions());
+            Assert.IsTrue(reader.HasDeletions);
 
             ScoreDoc[] result;
             Query q = new TermQuery(new Term("body", "body"));

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Search/TestFieldCacheTermsFilter.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Search/TestFieldCacheTermsFilter.cs b/src/Lucene.Net.Tests/core/Search/TestFieldCacheTermsFilter.cs
index b8f20ec..c6a10b6 100644
--- a/src/Lucene.Net.Tests/core/Search/TestFieldCacheTermsFilter.cs
+++ b/src/Lucene.Net.Tests/core/Search/TestFieldCacheTermsFilter.cs
@@ -53,7 +53,7 @@ namespace Lucene.Net.Search
             w.Dispose();
 
             IndexSearcher searcher = NewSearcher(reader);
-            int numDocs = reader.NumDocs();
+            int numDocs = reader.NumDocs;
             ScoreDoc[] results;
             MatchAllDocsQuery q = new MatchAllDocsQuery();
 

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Search/TestFilteredQuery.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Search/TestFilteredQuery.cs b/src/Lucene.Net.Tests/core/Search/TestFilteredQuery.cs
index 22cc51f..6aeb7fc 100644
--- a/src/Lucene.Net.Tests/core/Search/TestFilteredQuery.cs
+++ b/src/Lucene.Net.Tests/core/Search/TestFilteredQuery.cs
@@ -516,13 +516,13 @@ namespace Lucene.Net.Search
             public override DocIdSet GetDocIdSet(AtomicReaderContext context, Bits acceptDocs)
             {
                 bool nullBitset = Random().Next(10) == 5;
-                AtomicReader reader = (AtomicReader)context.Reader();
+                AtomicReader reader = context.AtomicReader;
                 DocsEnum termDocsEnum = reader.TermDocsEnum(new Term("field", "0"));
                 if (termDocsEnum == null)
                 {
                     return null; // no docs -- return null
                 }
-                BitArray bitSet = new BitArray(reader.MaxDoc());
+                BitArray bitSet = new BitArray(reader.MaxDoc);
                 int d;
                 while ((d = termDocsEnum.NextDoc()) != DocsEnum.NO_MORE_DOCS)
                 {
@@ -656,7 +656,7 @@ namespace Lucene.Net.Search
 
                 public override DocIdSetIterator GetIterator()
                 {
-                    DocsEnum termDocsEnum = ((AtomicReader)Context.Reader()).TermDocsEnum(new Term("field", "0"));
+                    DocsEnum termDocsEnum = ((AtomicReader)Context.Reader).TermDocsEnum(new Term("field", "0"));
                     if (termDocsEnum == null)
                     {
                         return null;

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Search/TestFilteredSearch.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Search/TestFilteredSearch.cs b/src/Lucene.Net.Tests/core/Search/TestFilteredSearch.cs
index a0ceb78..54364b6 100644
--- a/src/Lucene.Net.Tests/core/Search/TestFilteredSearch.cs
+++ b/src/Lucene.Net.Tests/core/Search/TestFilteredSearch.cs
@@ -94,9 +94,9 @@ namespace Lucene.Net.Search
             public override DocIdSet GetDocIdSet(AtomicReaderContext context, Bits acceptDocs)
             {
                 Assert.IsNull(acceptDocs, "acceptDocs should be null, as we have an index without deletions");
-                FixedBitSet set = new FixedBitSet(context.Reader().MaxDoc());
+                FixedBitSet set = new FixedBitSet(context.Reader.MaxDoc);
                 int docBase = context.DocBase;
-                int limit = docBase + context.Reader().MaxDoc();
+                int limit = docBase + context.Reader.MaxDoc;
                 for (int index = 0; index < Docs.Length; index++)
                 {
                     int docId = Docs[index];

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Search/TestIndexSearcher.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Search/TestIndexSearcher.cs b/src/Lucene.Net.Tests/core/Search/TestIndexSearcher.cs
index 42ba59e..b14ccb3 100644
--- a/src/Lucene.Net.Tests/core/Search/TestIndexSearcher.cs
+++ b/src/Lucene.Net.Tests/core/Search/TestIndexSearcher.cs
@@ -125,7 +125,7 @@ namespace Lucene.Net.Search
             IndexSearcher s = new IndexSearcher(r);
             try
             {
-                s.SearchAfter(new ScoreDoc(r.MaxDoc(), 0.54f), new MatchAllDocsQuery(), 10);
+                s.SearchAfter(new ScoreDoc(r.MaxDoc, 0.54f), new MatchAllDocsQuery(), 10);
                 Assert.Fail("should have hit IllegalArgumentException when searchAfter exceeds maxDoc");
             }
             catch (System.ArgumentException e)

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Search/TestMinShouldMatch2.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Search/TestMinShouldMatch2.cs b/src/Lucene.Net.Tests/core/Search/TestMinShouldMatch2.cs
index 794385f..b485737 100644
--- a/src/Lucene.Net.Tests/core/Search/TestMinShouldMatch2.cs
+++ b/src/Lucene.Net.Tests/core/Search/TestMinShouldMatch2.cs
@@ -344,7 +344,7 @@ namespace Lucene.Net.Search
                 : base(weight)
             {
                 this.Dv = reader.GetSortedSetDocValues("dv");
-                this.MaxDoc = reader.MaxDoc();
+                this.MaxDoc = reader.MaxDoc;
                 BooleanQuery bq = (BooleanQuery)weight.Query;
                 this.MinNrShouldMatch = bq.MinimumNumberShouldMatch;
                 this.Sims = new SimScorer[(int)Dv.ValueCount];

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Search/TestMultiTermConstantScore.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Search/TestMultiTermConstantScore.cs b/src/Lucene.Net.Tests/core/Search/TestMultiTermConstantScore.cs
index 12bc29d..f120af5 100644
--- a/src/Lucene.Net.Tests/core/Search/TestMultiTermConstantScore.cs
+++ b/src/Lucene.Net.Tests/core/Search/TestMultiTermConstantScore.cs
@@ -371,7 +371,7 @@ namespace Lucene.Net.Search
             string maxIP = Pad(MaxId);
             string medIP = Pad(medId);
 
-            int numDocs = reader.NumDocs();
+            int numDocs = reader.NumDocs;
 
             AssertEquals("num of docs", numDocs, 1 + MaxId - MinId);
 
@@ -497,7 +497,7 @@ namespace Lucene.Net.Search
             string minRP = Pad(SignedIndexDir.MinR);
             string maxRP = Pad(SignedIndexDir.MaxR);
 
-            int numDocs = reader.NumDocs();
+            int numDocs = reader.NumDocs;
 
             AssertEquals("num of docs", numDocs, 1 + MaxId - MinId);
 

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Search/TestMultiThreadTermVectors.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Search/TestMultiThreadTermVectors.cs b/src/Lucene.Net.Tests/core/Search/TestMultiThreadTermVectors.cs
index f2200ab..795b28a 100644
--- a/src/Lucene.Net.Tests/core/Search/TestMultiThreadTermVectors.cs
+++ b/src/Lucene.Net.Tests/core/Search/TestMultiThreadTermVectors.cs
@@ -199,7 +199,7 @@ namespace Lucene.Net.Search
         private void TestTermVectors()
         {
             // check:
-            int numDocs = Reader.NumDocs();
+            int numDocs = Reader.NumDocs;
             long start = 0L;
             for (int docId = 0; docId < numDocs; docId++)
             {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Search/TestNumericRangeQuery32.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Search/TestNumericRangeQuery32.cs b/src/Lucene.Net.Tests/core/Search/TestNumericRangeQuery32.cs
index 7c4508f..4975180 100644
--- a/src/Lucene.Net.Tests/core/Search/TestNumericRangeQuery32.cs
+++ b/src/Lucene.Net.Tests/core/Search/TestNumericRangeQuery32.cs
@@ -217,11 +217,11 @@ namespace Lucene.Net.Search
         {
             AtomicReaderContext context = (AtomicReaderContext)SlowCompositeReaderWrapper.Wrap(Reader).Context;
             NumericRangeFilter<int> f = NumericRangeFilter.NewIntRange("field8", 8, 1000, -1000, true, true);
-            Assert.IsNull(f.GetDocIdSet(context, ((AtomicReader)context.Reader()).LiveDocs), "A inverse range should return the null instance");
+            Assert.IsNull(f.GetDocIdSet(context, (context.AtomicReader).LiveDocs), "A inverse range should return the null instance");
             f = NumericRangeFilter.NewIntRange("field8", 8, int.MaxValue, null, false, false);
-            Assert.IsNull(f.GetDocIdSet(context, ((AtomicReader)context.Reader()).LiveDocs), "A exclusive range starting with Integer.MAX_VALUE should return the null instance");
+            Assert.IsNull(f.GetDocIdSet(context, (context.AtomicReader).LiveDocs), "A exclusive range starting with Integer.MAX_VALUE should return the null instance");
             f = NumericRangeFilter.NewIntRange("field8", 8, null, int.MinValue, false, false);
-            Assert.IsNull(f.GetDocIdSet(context, ((AtomicReader)context.Reader()).LiveDocs), "A exclusive range ending with Integer.MIN_VALUE should return the null instance");
+            Assert.IsNull(f.GetDocIdSet(context, (context.AtomicReader).LiveDocs), "A exclusive range ending with Integer.MIN_VALUE should return the null instance");
         }
 
         [Test]

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Search/TestNumericRangeQuery64.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Search/TestNumericRangeQuery64.cs b/src/Lucene.Net.Tests/core/Search/TestNumericRangeQuery64.cs
index 26d7d5e..4d0ce31 100644
--- a/src/Lucene.Net.Tests/core/Search/TestNumericRangeQuery64.cs
+++ b/src/Lucene.Net.Tests/core/Search/TestNumericRangeQuery64.cs
@@ -232,11 +232,11 @@ namespace Lucene.Net.Search
         {
             AtomicReaderContext context = (AtomicReaderContext)SlowCompositeReaderWrapper.Wrap(Searcher.IndexReader).Context;
             NumericRangeFilter<long> f = NumericRangeFilter.NewLongRange("field8", 8, 1000L, -1000L, true, true);
-            Assert.IsNull(f.GetDocIdSet(context, ((AtomicReader)context.Reader()).LiveDocs), "A inverse range should return the null instance");
+            Assert.IsNull(f.GetDocIdSet(context, (context.AtomicReader).LiveDocs), "A inverse range should return the null instance");
             f = NumericRangeFilter.NewLongRange("field8", 8, long.MaxValue, null, false, false);
-            Assert.IsNull(f.GetDocIdSet(context, ((AtomicReader)context.Reader()).LiveDocs), "A exclusive range starting with Long.MAX_VALUE should return the null instance");
+            Assert.IsNull(f.GetDocIdSet(context, (context.AtomicReader).LiveDocs), "A exclusive range starting with Long.MAX_VALUE should return the null instance");
             f = NumericRangeFilter.NewLongRange("field8", 8, null, long.MinValue, false, false);
-            Assert.IsNull(f.GetDocIdSet(context, ((AtomicReader)context.Reader()).LiveDocs), "A exclusive range ending with Long.MIN_VALUE should return the null instance");
+            Assert.IsNull(f.GetDocIdSet(context, (context.AtomicReader).LiveDocs), "A exclusive range ending with Long.MIN_VALUE should return the null instance");
         }
 
         [Test]

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Search/TestQueryRescorer.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Search/TestQueryRescorer.cs b/src/Lucene.Net.Tests/core/Search/TestQueryRescorer.cs
index 2f47533..6655e57 100644
--- a/src/Lucene.Net.Tests/core/Search/TestQueryRescorer.cs
+++ b/src/Lucene.Net.Tests/core/Search/TestQueryRescorer.cs
@@ -538,7 +538,7 @@ namespace Lucene.Net.Search
                     public override int NextDoc()
                     {
                         docID++;
-                        if (docID >= Context.Reader().MaxDoc())
+                        if (docID >= Context.Reader.MaxDoc)
                         {
                             return NO_MORE_DOCS;
                         }
@@ -553,7 +553,7 @@ namespace Lucene.Net.Search
 
                     public override float Score()
                     {
-                        int num = OuterInstance.OuterInstance.IdToNum[Convert.ToInt32(Context.Reader().Document(docID).Get("id"))];
+                        int num = OuterInstance.OuterInstance.IdToNum[Convert.ToInt32(Context.Reader.Document(docID).Get("id"))];
                         if (OuterInstance.OuterInstance.Reverse)
                         {
                             //System.out.println("score doc=" + docID + " num=" + num);

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Search/TestSameScoresWithThreads.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Search/TestSameScoresWithThreads.cs b/src/Lucene.Net.Tests/core/Search/TestSameScoresWithThreads.cs
index cc737b0..4541437 100644
--- a/src/Lucene.Net.Tests/core/Search/TestSameScoresWithThreads.cs
+++ b/src/Lucene.Net.Tests/core/Search/TestSameScoresWithThreads.cs
@@ -61,7 +61,7 @@ namespace Lucene.Net.Search
                 //System.out.println("  bytes=" + charsIndexed + " add: " + doc);
             }
             IndexReader r = w.Reader;
-            //System.out.println("numDocs=" + r.NumDocs());
+            //System.out.println("numDocs=" + r.NumDocs);
             w.Dispose();
 
             IndexSearcher s = NewSearcher(r);

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Search/TestSearchAfter.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Search/TestSearchAfter.cs b/src/Lucene.Net.Tests/core/Search/TestSearchAfter.cs
index 40412e0..3094f51 100644
--- a/src/Lucene.Net.Tests/core/Search/TestSearchAfter.cs
+++ b/src/Lucene.Net.Tests/core/Search/TestSearchAfter.cs
@@ -239,7 +239,7 @@ namespace Lucene.Net.Search
 
         internal virtual void AssertQuery(Query query, Filter filter, Sort sort)
         {
-            int maxDoc = Searcher.IndexReader.MaxDoc();
+            int maxDoc = Searcher.IndexReader.MaxDoc;
             TopDocs all;
             int pageSize = TestUtil.NextInt(Random(), 1, maxDoc * 2);
             if (VERBOSE)

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Search/TestSearcherManager.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Search/TestSearcherManager.cs b/src/Lucene.Net.Tests/core/Search/TestSearcherManager.cs
index db23ef7..9c249e2 100644
--- a/src/Lucene.Net.Tests/core/Search/TestSearcherManager.cs
+++ b/src/Lucene.Net.Tests/core/Search/TestSearcherManager.cs
@@ -223,7 +223,7 @@ namespace Lucene.Net.Search
                 if (s == null)
                 {
                     s = Mgr.Acquire();
-                    if (s.IndexReader.NumDocs() != 0)
+                    if (s.IndexReader.NumDocs != 0)
                     {
                         long token = LifetimeMGR.Record(s);
                         lock (PastSearchers)
@@ -278,7 +278,7 @@ namespace Lucene.Net.Search
             IndexSearcher searcher = searcherManager.Acquire();
             try
             {
-                Assert.AreEqual(1, searcher.IndexReader.NumDocs());
+                Assert.AreEqual(1, searcher.IndexReader.NumDocs);
             }
             finally
             {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Search/TestShardSearching.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Search/TestShardSearching.cs b/src/Lucene.Net.Tests/core/Search/TestShardSearching.cs
index bf85011..67b31c3 100644
--- a/src/Lucene.Net.Tests/core/Search/TestShardSearching.cs
+++ b/src/Lucene.Net.Tests/core/Search/TestShardSearching.cs
@@ -167,7 +167,7 @@ namespace Lucene.Net.Search
                                 throw new SearcherExpiredException("nodeID=" + nodeID + " version=" + subVersion);
                             }
                             subs[nodeID] = sub.IndexReader;
-                            docCount += subs[nodeID].MaxDoc();
+                            docCount += subs[nodeID].MaxDoc;
                         }
                     }
                     catch (SearcherExpiredException see)
@@ -215,7 +215,7 @@ namespace Lucene.Net.Search
 
                         if (VERBOSE)
                         {
-                            Console.WriteLine("  maxDoc=" + mockReader.MaxDoc());
+                            Console.WriteLine("  maxDoc=" + mockReader.MaxDoc);
                         }
 
                         if (terms != null)
@@ -387,7 +387,7 @@ namespace Lucene.Net.Search
 
             int numNodes = shardSearcher.NodeVersions.Length;
             int[] @base = new int[numNodes];
-            IList<IndexReaderContext> subs = mockSearcher.TopReaderContext.Children();
+            IList<IndexReaderContext> subs = mockSearcher.TopReaderContext.Children;
             Assert.AreEqual(numNodes, subs.Count);
 
             for (int nodeID = 0; nodeID < numNodes; nodeID++)
@@ -399,7 +399,7 @@ namespace Lucene.Net.Search
             {
                 /*
                 for(int shardID=0;shardID<shardSearchers.Length;shardID++) {
-                  System.out.println("  shard=" + shardID + " maxDoc=" + shardSearchers[shardID].searcher.getIndexReader().MaxDoc());
+                  System.out.println("  shard=" + shardID + " maxDoc=" + shardSearchers[shardID].searcher.getIndexReader().MaxDoc);
                 }
                 */
                 Console.WriteLine("  single searcher: " + hits.TotalHits + " totalHits maxScore=" + hits.MaxScore);

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Search/TestSimilarityProvider.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Search/TestSimilarityProvider.cs b/src/Lucene.Net.Tests/core/Search/TestSimilarityProvider.cs
index 0a3d4fa..4d6b603 100644
--- a/src/Lucene.Net.Tests/core/Search/TestSimilarityProvider.cs
+++ b/src/Lucene.Net.Tests/core/Search/TestSimilarityProvider.cs
@@ -88,7 +88,7 @@ namespace Lucene.Net.Search
             AtomicReader slow = SlowCompositeReaderWrapper.Wrap(Reader);
             NumericDocValues fooNorms = slow.GetNormValues("foo");
             NumericDocValues barNorms = slow.GetNormValues("bar");
-            for (int i = 0; i < slow.MaxDoc(); i++)
+            for (int i = 0; i < slow.MaxDoc; i++)
             {
                 Assert.IsFalse(fooNorms.Get(i) == barNorms.Get(i));
             }

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Search/TestSortRandom.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Search/TestSortRandom.cs b/src/Lucene.Net.Tests/core/Search/TestSortRandom.cs
index 54f3a77..e8a8ed1 100644
--- a/src/Lucene.Net.Tests/core/Search/TestSortRandom.cs
+++ b/src/Lucene.Net.Tests/core/Search/TestSortRandom.cs
@@ -186,7 +186,7 @@ namespace Lucene.Net.Search
                 {
                     sort = new Sort(sf, SortField.FIELD_DOC);
                 }
-                int hitCount = TestUtil.NextInt(random, 1, r.MaxDoc() + 20);
+                int hitCount = TestUtil.NextInt(random, 1, r.MaxDoc + 20);
                 RandomFilter f = new RandomFilter(random, (float)random.NextDouble(), docValues);
                 int queryType = random.Next(3);
                 if (queryType == 0)
@@ -345,8 +345,8 @@ namespace Lucene.Net.Search
 
             public override DocIdSet GetDocIdSet(AtomicReaderContext context, Bits acceptDocs)
             {
-                int maxDoc = context.Reader().MaxDoc();
-                FieldCache_Fields.Ints idSource = FieldCache_Fields.DEFAULT.GetInts((AtomicReader)context.Reader(), "id", false);
+                int maxDoc = context.Reader.MaxDoc;
+                FieldCache_Fields.Ints idSource = FieldCache_Fields.DEFAULT.GetInts(context.AtomicReader, "id", false);
                 Assert.IsNotNull(idSource);
                 FixedBitSet bits = new FixedBitSet(maxDoc);
                 for (int docID = 0; docID < maxDoc; docID++)

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Search/TestSubScorerFreqs.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Search/TestSubScorerFreqs.cs b/src/Lucene.Net.Tests/core/Search/TestSubScorerFreqs.cs
index fedd22a..ce857e3 100644
--- a/src/Lucene.Net.Tests/core/Search/TestSubScorerFreqs.cs
+++ b/src/Lucene.Net.Tests/core/Search/TestSubScorerFreqs.cs
@@ -147,7 +147,7 @@ namespace Lucene.Net.Search
             TermQuery q = new TermQuery(new Term("f", "d"));
             CountingCollector c = new CountingCollector(TopScoreDocCollector.Create(10, true));
             s.Search(q, null, c);
-            int maxDocs = s.IndexReader.MaxDoc();
+            int maxDocs = s.IndexReader.MaxDoc;
             Assert.AreEqual(maxDocs, c.DocCounts.Count);
             for (int i = 0; i < maxDocs; i++)
             {
@@ -186,7 +186,7 @@ namespace Lucene.Net.Search
             {
                 CountingCollector c = new CountingCollector(TopScoreDocCollector.Create(10, true), occur);
                 s.Search(query, null, c);
-                int maxDocs = s.IndexReader.MaxDoc();
+                int maxDocs = s.IndexReader.MaxDoc;
                 Assert.AreEqual(maxDocs, c.DocCounts.Count);
                 bool includeOptional = occur.Contains("SHOULD");
                 for (int i = 0; i < maxDocs; i++)
@@ -220,7 +220,7 @@ namespace Lucene.Net.Search
             q.Add(new Term("f", "c"));
             CountingCollector c = new CountingCollector(TopScoreDocCollector.Create(10, true));
             s.Search(q, null, c);
-            int maxDocs = s.IndexReader.MaxDoc();
+            int maxDocs = s.IndexReader.MaxDoc;
             Assert.AreEqual(maxDocs, c.DocCounts.Count);
             for (int i = 0; i < maxDocs; i++)
             {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Search/TestTermRangeFilter.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Search/TestTermRangeFilter.cs b/src/Lucene.Net.Tests/core/Search/TestTermRangeFilter.cs
index cf74384..bb1c4d0 100644
--- a/src/Lucene.Net.Tests/core/Search/TestTermRangeFilter.cs
+++ b/src/Lucene.Net.Tests/core/Search/TestTermRangeFilter.cs
@@ -46,7 +46,7 @@ namespace Lucene.Net.Search
             string maxIP = Pad(MaxId);
             string medIP = Pad(medId);
 
-            int numDocs = reader.NumDocs();
+            int numDocs = reader.NumDocs;
 
             Assert.AreEqual(numDocs, 1 + MaxId - MinId, "num of docs");
 
@@ -125,7 +125,7 @@ namespace Lucene.Net.Search
             string minRP = Pad(SignedIndexDir.MinR);
             string maxRP = Pad(SignedIndexDir.MaxR);
 
-            int numDocs = reader.NumDocs();
+            int numDocs = reader.NumDocs;
 
             Assert.AreEqual(numDocs, 1 + MaxId - MinId, "num of docs");
 

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Search/TestTermScorer.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Search/TestTermScorer.cs b/src/Lucene.Net.Tests/core/Search/TestTermScorer.cs
index 1c3aafb..4334ee1 100644
--- a/src/Lucene.Net.Tests/core/Search/TestTermScorer.cs
+++ b/src/Lucene.Net.Tests/core/Search/TestTermScorer.cs
@@ -81,7 +81,7 @@ namespace Lucene.Net.Search
             Weight weight = IndexSearcher.CreateNormalizedWeight(termQuery);
             Assert.IsTrue(IndexSearcher.TopReaderContext is AtomicReaderContext);
             AtomicReaderContext context = (AtomicReaderContext)IndexSearcher.TopReaderContext;
-            BulkScorer ts = weight.BulkScorer(context, true, ((AtomicReader)context.Reader()).LiveDocs);
+            BulkScorer ts = weight.BulkScorer(context, true, (context.AtomicReader).LiveDocs);
             // we have 2 documents with the term all in them, one document for all the
             // other values
             IList<TestHit> docs = new List<TestHit>();
@@ -163,7 +163,7 @@ namespace Lucene.Net.Search
             Weight weight = IndexSearcher.CreateNormalizedWeight(termQuery);
             Assert.IsTrue(IndexSearcher.TopReaderContext is AtomicReaderContext);
             AtomicReaderContext context = (AtomicReaderContext)IndexSearcher.TopReaderContext;
-            Scorer ts = weight.Scorer(context, ((AtomicReader)context.Reader()).LiveDocs);
+            Scorer ts = weight.Scorer(context, (context.AtomicReader).LiveDocs);
             Assert.IsTrue(ts.NextDoc() != DocIdSetIterator.NO_MORE_DOCS, "next did not return a doc");
             Assert.IsTrue(ts.Score() == 1.6931472f, "score is not correct");
             Assert.IsTrue(ts.NextDoc() != DocIdSetIterator.NO_MORE_DOCS, "next did not return a doc");
@@ -180,7 +180,7 @@ namespace Lucene.Net.Search
             Weight weight = IndexSearcher.CreateNormalizedWeight(termQuery);
             Assert.IsTrue(IndexSearcher.TopReaderContext is AtomicReaderContext);
             AtomicReaderContext context = (AtomicReaderContext)IndexSearcher.TopReaderContext;
-            Scorer ts = weight.Scorer(context, ((AtomicReader)context.Reader()).LiveDocs);
+            Scorer ts = weight.Scorer(context, (context.AtomicReader).LiveDocs);
             Assert.IsTrue(ts.Advance(3) != DocIdSetIterator.NO_MORE_DOCS, "Didn't skip");
             // The next doc should be doc 5
             Assert.IsTrue(ts.DocID() == 5, "doc should be number 5");

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Search/TestTermVectors.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Search/TestTermVectors.cs b/src/Lucene.Net.Tests/core/Search/TestTermVectors.cs
index f3db406..959b7c0 100644
--- a/src/Lucene.Net.Tests/core/Search/TestTermVectors.cs
+++ b/src/Lucene.Net.Tests/core/Search/TestTermVectors.cs
@@ -139,7 +139,7 @@ namespace Lucene.Net.Search
 
             Fields vectors = searcher.IndexReader.GetTermVectors(hits[0].Doc);
             Assert.IsNotNull(vectors);
-            Assert.AreEqual(1, vectors.Size());
+            Assert.AreEqual(1, vectors.Size);
             Terms vector = vectors.Terms("field");
             Assert.IsNotNull(vector);
             Assert.AreEqual(1, vector.Size());
@@ -195,7 +195,7 @@ namespace Lucene.Net.Search
         private void VerifyIndex(Directory dir)
         {
             IndexReader r = DirectoryReader.Open(dir);
-            int numDocs = r.NumDocs();
+            int numDocs = r.NumDocs;
             for (int i = 0; i < numDocs; i++)
             {
                 Assert.IsNotNull(r.GetTermVectors(i).Terms("c"), "term vectors should not have been null for document " + i);

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Search/TestTopDocsMerge.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Search/TestTopDocsMerge.cs b/src/Lucene.Net.Tests/core/Search/TestTopDocsMerge.cs
index 7a88def..d16efae 100644
--- a/src/Lucene.Net.Tests/core/Search/TestTopDocsMerge.cs
+++ b/src/Lucene.Net.Tests/core/Search/TestTopDocsMerge.cs
@@ -165,16 +165,16 @@ namespace Lucene.Net.Search
             else
             {
                 CompositeReaderContext compCTX = (CompositeReaderContext)ctx;
-                int size = compCTX.Leaves().Count;
+                int size = compCTX.Leaves.Count;
                 subSearchers = new ShardSearcher[size];
                 docStarts = new int[size];
                 int docBase = 0;
                 for (int searcherIDX = 0; searcherIDX < subSearchers.Length; searcherIDX++)
                 {
-                    AtomicReaderContext leave = compCTX.Leaves()[searcherIDX];
+                    AtomicReaderContext leave = compCTX.Leaves[searcherIDX];
                     subSearchers[searcherIDX] = new ShardSearcher(leave, compCTX);
                     docStarts[searcherIDX] = docBase;
-                    docBase += leave.Reader().MaxDoc();
+                    docBase += leave.Reader.MaxDoc;
                 }
             }
 

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Store/TestFileSwitchDirectory.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Store/TestFileSwitchDirectory.cs b/src/Lucene.Net.Tests/core/Store/TestFileSwitchDirectory.cs
index 73defb6..c55afba 100644
--- a/src/Lucene.Net.Tests/core/Store/TestFileSwitchDirectory.cs
+++ b/src/Lucene.Net.Tests/core/Store/TestFileSwitchDirectory.cs
@@ -59,7 +59,7 @@ namespace Lucene.Net.Store
             IndexWriter writer = new IndexWriter(fsd, (new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random()))).SetMergePolicy(NewLogMergePolicy(false)).SetCodec(Codec.ForName("Lucene40")).SetUseCompoundFile(false));
             TestIndexWriterReader.CreateIndexNoClose(true, "ram", writer);
             IndexReader reader = DirectoryReader.Open(writer, true);
-            Assert.AreEqual(100, reader.MaxDoc());
+            Assert.AreEqual(100, reader.MaxDoc);
             writer.Commit();
             // we should see only fdx,fdt files here
             string[] files = primaryDir.ListAll();

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Store/TestNRTCachingDirectory.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Store/TestNRTCachingDirectory.cs b/src/Lucene.Net.Tests/core/Store/TestNRTCachingDirectory.cs
index d818e89..f74cb95 100644
--- a/src/Lucene.Net.Tests/core/Store/TestNRTCachingDirectory.cs
+++ b/src/Lucene.Net.Tests/core/Store/TestNRTCachingDirectory.cs
@@ -81,7 +81,7 @@ namespace Lucene.Net.Store
                             r = r2;
                         }
                     }
-                    Assert.AreEqual(1 + docCount, r.NumDocs());
+                    Assert.AreEqual(1 + docCount, r.NumDocs);
                     IndexSearcher s = NewSearcher(r);
                     // Just make sure search can run; we can't assert
                     // totHits since it could be 0

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Store/TestRAMDirectory.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Store/TestRAMDirectory.cs b/src/Lucene.Net.Tests/core/Store/TestRAMDirectory.cs
index 909b869..26c10fb 100644
--- a/src/Lucene.Net.Tests/core/Store/TestRAMDirectory.cs
+++ b/src/Lucene.Net.Tests/core/Store/TestRAMDirectory.cs
@@ -68,7 +68,7 @@ namespace Lucene.Net.Store
                 doc.Add(NewStringField("content", English.IntToEnglish(i).Trim(), Field.Store.YES));
                 writer.AddDocument(doc);
             }
-            Assert.AreEqual(DocsToAdd, writer.MaxDoc());
+            Assert.AreEqual(DocsToAdd, writer.MaxDoc);
             writer.Dispose();
             dir.Dispose();
         }
@@ -87,7 +87,7 @@ namespace Lucene.Net.Store
 
             // open reader to test document count
             IndexReader reader = DirectoryReader.Open(ramDir);
-            Assert.AreEqual(DocsToAdd, reader.NumDocs());
+            Assert.AreEqual(DocsToAdd, reader.NumDocs);
 
             // open search zo check if all doc's are there
             IndexSearcher searcher = NewSearcher(reader);


[2/7] .NETification

Posted by sy...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestIndexWriterCommit.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestIndexWriterCommit.cs b/src/Lucene.Net.Tests/core/Index/TestIndexWriterCommit.cs
index 5eccda9..1a4b4d3 100644
--- a/src/Lucene.Net.Tests/core/Index/TestIndexWriterCommit.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestIndexWriterCommit.cs
@@ -315,7 +315,7 @@ namespace Lucene.Net.Index
 
             // Reader should see index as multi-seg at this
             // point:
-            Assert.IsTrue(reader.Leaves().Count > 1, "Reader incorrectly sees one segment");
+            Assert.IsTrue(reader.Leaves.Count > 1, "Reader incorrectly sees one segment");
             reader.Dispose();
 
             // Abort the writer:
@@ -326,7 +326,7 @@ namespace Lucene.Net.Index
             reader = DirectoryReader.Open(dir);
 
             // Reader should still see index as multi-segment
-            Assert.IsTrue(reader.Leaves().Count > 1, "Reader incorrectly sees one segment");
+            Assert.IsTrue(reader.Leaves.Count > 1, "Reader incorrectly sees one segment");
             reader.Dispose();
 
             if (VERBOSE)
@@ -347,7 +347,7 @@ namespace Lucene.Net.Index
             reader = DirectoryReader.Open(dir);
 
             // Reader should see index as one segment
-            Assert.AreEqual(1, reader.Leaves().Count, "Reader incorrectly sees more than one segment");
+            Assert.AreEqual(1, reader.Leaves.Count, "Reader incorrectly sees more than one segment");
             reader.Dispose();
             dir.Dispose();
         }
@@ -457,27 +457,27 @@ namespace Lucene.Net.Index
             }
 
             DirectoryReader reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(0, reader.NumDocs());
+            Assert.AreEqual(0, reader.NumDocs);
             writer.Commit();
             DirectoryReader reader2 = DirectoryReader.OpenIfChanged(reader);
             Assert.IsNotNull(reader2);
-            Assert.AreEqual(0, reader.NumDocs());
-            Assert.AreEqual(23, reader2.NumDocs());
+            Assert.AreEqual(0, reader.NumDocs);
+            Assert.AreEqual(23, reader2.NumDocs);
             reader.Dispose();
 
             for (int i = 0; i < 17; i++)
             {
                 TestIndexWriter.AddDoc(writer);
             }
-            Assert.AreEqual(23, reader2.NumDocs());
+            Assert.AreEqual(23, reader2.NumDocs);
             reader2.Dispose();
             reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(23, reader.NumDocs());
+            Assert.AreEqual(23, reader.NumDocs);
             reader.Dispose();
             writer.Commit();
 
             reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(40, reader.NumDocs());
+            Assert.AreEqual(40, reader.NumDocs);
             reader.Dispose();
             writer.Dispose();
             dir.Dispose();
@@ -581,20 +581,20 @@ namespace Lucene.Net.Index
             }
 
             DirectoryReader reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(0, reader.NumDocs());
+            Assert.AreEqual(0, reader.NumDocs);
 
             writer.PrepareCommit();
 
             IndexReader reader2 = DirectoryReader.Open(dir);
-            Assert.AreEqual(0, reader2.NumDocs());
+            Assert.AreEqual(0, reader2.NumDocs);
 
             writer.Commit();
 
             IndexReader reader3 = DirectoryReader.OpenIfChanged(reader);
             Assert.IsNotNull(reader3);
-            Assert.AreEqual(0, reader.NumDocs());
-            Assert.AreEqual(0, reader2.NumDocs());
-            Assert.AreEqual(23, reader3.NumDocs());
+            Assert.AreEqual(0, reader.NumDocs);
+            Assert.AreEqual(0, reader2.NumDocs);
+            Assert.AreEqual(23, reader3.NumDocs);
             reader.Dispose();
             reader2.Dispose();
 
@@ -603,21 +603,21 @@ namespace Lucene.Net.Index
                 TestIndexWriter.AddDoc(writer);
             }
 
-            Assert.AreEqual(23, reader3.NumDocs());
+            Assert.AreEqual(23, reader3.NumDocs);
             reader3.Dispose();
             reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(23, reader.NumDocs());
+            Assert.AreEqual(23, reader.NumDocs);
             reader.Dispose();
 
             writer.PrepareCommit();
 
             reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(23, reader.NumDocs());
+            Assert.AreEqual(23, reader.NumDocs);
             reader.Dispose();
 
             writer.Commit();
             reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(40, reader.NumDocs());
+            Assert.AreEqual(40, reader.NumDocs);
             reader.Dispose();
             writer.Dispose();
             dir.Dispose();
@@ -642,19 +642,19 @@ namespace Lucene.Net.Index
             }
 
             DirectoryReader reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(0, reader.NumDocs());
+            Assert.AreEqual(0, reader.NumDocs);
 
             writer.PrepareCommit();
 
             IndexReader reader2 = DirectoryReader.Open(dir);
-            Assert.AreEqual(0, reader2.NumDocs());
+            Assert.AreEqual(0, reader2.NumDocs);
 
             writer.Rollback();
 
             IndexReader reader3 = DirectoryReader.OpenIfChanged(reader);
             Assert.IsNull(reader3);
-            Assert.AreEqual(0, reader.NumDocs());
-            Assert.AreEqual(0, reader2.NumDocs());
+            Assert.AreEqual(0, reader.NumDocs);
+            Assert.AreEqual(0, reader2.NumDocs);
             reader.Dispose();
             reader2.Dispose();
 
@@ -665,18 +665,18 @@ namespace Lucene.Net.Index
             }
 
             reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(0, reader.NumDocs());
+            Assert.AreEqual(0, reader.NumDocs);
             reader.Dispose();
 
             writer.PrepareCommit();
 
             reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(0, reader.NumDocs());
+            Assert.AreEqual(0, reader.NumDocs);
             reader.Dispose();
 
             writer.Commit();
             reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(17, reader.NumDocs());
+            Assert.AreEqual(17, reader.NumDocs);
             reader.Dispose();
             writer.Dispose();
             dir.Dispose();
@@ -694,7 +694,7 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             IndexReader reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(0, reader.NumDocs());
+            Assert.AreEqual(0, reader.NumDocs);
             reader.Dispose();
             dir.Dispose();
         }

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestIndexWriterDelete.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestIndexWriterDelete.cs b/src/Lucene.Net.Tests/core/Index/TestIndexWriterDelete.cs
index 1719714..d5f8513 100644
--- a/src/Lucene.Net.Tests/core/Index/TestIndexWriterDelete.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestIndexWriterDelete.cs
@@ -119,7 +119,7 @@ namespace Lucene.Net.Index
             modifier.Commit();
 
             IndexReader reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(7, reader.NumDocs());
+            Assert.AreEqual(7, reader.NumDocs);
             reader.Dispose();
 
             modifier.DeleteDocuments(new Term("value", Convert.ToString(value)));
@@ -127,7 +127,7 @@ namespace Lucene.Net.Index
             modifier.Commit();
 
             reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(0, reader.NumDocs());
+            Assert.AreEqual(0, reader.NumDocs);
             reader.Dispose();
             modifier.Dispose();
             dir.Dispose();
@@ -189,7 +189,7 @@ namespace Lucene.Net.Index
                 modifier.Commit();
 
                 IndexReader reader = DirectoryReader.Open(dir);
-                Assert.AreEqual(1, reader.NumDocs());
+                Assert.AreEqual(1, reader.NumDocs);
 
                 int hitCount = GetHitCount(dir, new Term("id", Convert.ToString(id)));
                 Assert.AreEqual(1, hitCount);
@@ -230,7 +230,7 @@ namespace Lucene.Net.Index
             modifier.Commit();
 
             IndexReader reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(5, reader.NumDocs());
+            Assert.AreEqual(5, reader.NumDocs);
             modifier.Dispose();
             reader.Dispose();
             dir.Dispose();
@@ -253,7 +253,7 @@ namespace Lucene.Net.Index
             modifier.Commit();
 
             IndexReader reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(7, reader.NumDocs());
+            Assert.AreEqual(7, reader.NumDocs);
             reader.Dispose();
 
             id = 0;
@@ -263,7 +263,7 @@ namespace Lucene.Net.Index
             modifier.Commit();
 
             reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(5, reader.NumDocs());
+            Assert.AreEqual(5, reader.NumDocs);
             reader.Dispose();
 
             Term[] terms = new Term[3];
@@ -274,7 +274,7 @@ namespace Lucene.Net.Index
             modifier.DeleteDocuments(terms);
             modifier.Commit();
             reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(2, reader.NumDocs());
+            Assert.AreEqual(2, reader.NumDocs);
             reader.Dispose();
 
             modifier.Dispose();
@@ -298,7 +298,7 @@ namespace Lucene.Net.Index
             modifier.Commit();
 
             IndexReader reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(7, reader.NumDocs());
+            Assert.AreEqual(7, reader.NumDocs);
             reader.Dispose();
 
             // Add 1 doc (so we will have something buffered)
@@ -309,7 +309,7 @@ namespace Lucene.Net.Index
 
             // Delete all shouldn't be on disk yet
             reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(7, reader.NumDocs());
+            Assert.AreEqual(7, reader.NumDocs);
             reader.Dispose();
 
             // Add a doc and update a doc (after the deleteAll, before the commit)
@@ -321,7 +321,7 @@ namespace Lucene.Net.Index
 
             // Validate there are no docs left
             reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(2, reader.NumDocs());
+            Assert.AreEqual(2, reader.NumDocs);
             reader.Dispose();
 
             modifier.Dispose();
@@ -362,9 +362,9 @@ namespace Lucene.Net.Index
 
             modifier.Dispose();
             DirectoryReader reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(reader.MaxDoc(), 0);
-            Assert.AreEqual(reader.NumDocs(), 0);
-            Assert.AreEqual(reader.NumDeletedDocs(), 0);
+            Assert.AreEqual(reader.MaxDoc, 0);
+            Assert.AreEqual(reader.NumDocs, 0);
+            Assert.AreEqual(reader.NumDeletedDocs, 0);
             reader.Dispose();
 
             dir.Dispose();
@@ -446,7 +446,7 @@ namespace Lucene.Net.Index
             AddDoc(modifier, ++id, value);
 
             IndexReader reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(7, reader.NumDocs());
+            Assert.AreEqual(7, reader.NumDocs);
             reader.Dispose();
 
             // Delete all
@@ -458,7 +458,7 @@ namespace Lucene.Net.Index
 
             // Validate that the docs are still there
             reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(7, reader.NumDocs());
+            Assert.AreEqual(7, reader.NumDocs);
             reader.Dispose();
 
             dir.Dispose();
@@ -481,7 +481,7 @@ namespace Lucene.Net.Index
             modifier.Commit();
 
             IndexReader reader = modifier.Reader;
-            Assert.AreEqual(7, reader.NumDocs());
+            Assert.AreEqual(7, reader.NumDocs);
             reader.Dispose();
 
             AddDoc(modifier, ++id, value);
@@ -491,7 +491,7 @@ namespace Lucene.Net.Index
             modifier.DeleteAll();
 
             reader = modifier.Reader;
-            Assert.AreEqual(0, reader.NumDocs());
+            Assert.AreEqual(0, reader.NumDocs);
             reader.Dispose();
 
             // Roll it back
@@ -500,7 +500,7 @@ namespace Lucene.Net.Index
 
             // Validate that the docs are still there
             reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(7, reader.NumDocs());
+            Assert.AreEqual(7, reader.NumDocs);
             reader.Dispose();
 
             dir.Dispose();
@@ -1123,7 +1123,7 @@ namespace Lucene.Net.Index
                     w.DeleteDocuments(new Term("id", "" + ids[upto++]));
                 }
                 IndexReader r = w.Reader;
-                Assert.AreEqual(NUM_DOCS - upto, r.NumDocs());
+                Assert.AreEqual(NUM_DOCS - upto, r.NumDocs);
                 r.Dispose();
             }
 
@@ -1434,12 +1434,12 @@ namespace Lucene.Net.Index
             w = new IndexWriter(d, iwc);
             IndexReader r = DirectoryReader.Open(w, false);
             Assert.IsTrue(w.TryDeleteDocument(r, 1));
-            Assert.IsTrue(w.TryDeleteDocument(r.Leaves()[0].Reader(), 0));
+            Assert.IsTrue(w.TryDeleteDocument(r.Leaves[0].Reader, 0));
             r.Dispose();
             w.Dispose();
 
             r = DirectoryReader.Open(d);
-            Assert.AreEqual(2, r.NumDeletedDocs());
+            Assert.AreEqual(2, r.NumDeletedDocs);
             Assert.IsNotNull(MultiFields.GetLiveDocs(r));
             r.Dispose();
             d.Dispose();

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestIndexWriterExceptions.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestIndexWriterExceptions.cs b/src/Lucene.Net.Tests/core/Index/TestIndexWriterExceptions.cs
index c7d16fb..58b706e 100644
--- a/src/Lucene.Net.Tests/core/Index/TestIndexWriterExceptions.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestIndexWriterExceptions.cs
@@ -815,11 +815,11 @@ namespace Lucene.Net.Index
                 {
                     int expected = 5;
                     Assert.AreEqual(expected, reader.DocFreq(new Term("contents", "here")));
-                    Assert.AreEqual(expected, reader.MaxDoc());
+                    Assert.AreEqual(expected, reader.MaxDoc);
                     int numDel = 0;
                     Bits liveDocs = MultiFields.GetLiveDocs(reader);
                     Assert.IsNotNull(liveDocs);
-                    for (int j = 0; j < reader.MaxDoc(); j++)
+                    for (int j = 0; j < reader.MaxDoc; j++)
                     {
                         if (!liveDocs.Get(j))
                         {
@@ -848,10 +848,10 @@ namespace Lucene.Net.Index
                 reader = DirectoryReader.Open(dir);
                 int expected_ = 19 + (1 - i) * 2;
                 Assert.AreEqual(expected_, reader.DocFreq(new Term("contents", "here")));
-                Assert.AreEqual(expected_, reader.MaxDoc());
+                Assert.AreEqual(expected_, reader.MaxDoc);
                 int numDel_ = 0;
                 Assert.IsNull(MultiFields.GetLiveDocs(reader));
-                for (int j = 0; j < reader.MaxDoc(); j++)
+                for (int j = 0; j < reader.MaxDoc; j++)
                 {
                     reader.Document(j);
                     reader.GetTermVectors(j);
@@ -916,11 +916,11 @@ namespace Lucene.Net.Index
                 IndexReader reader = DirectoryReader.Open(dir);
                 int expected = (3 + (1 - i) * 2) * NUM_THREAD * NUM_ITER;
                 Assert.AreEqual(expected, reader.DocFreq(new Term("contents", "here")), "i=" + i);
-                Assert.AreEqual(expected, reader.MaxDoc());
+                Assert.AreEqual(expected, reader.MaxDoc);
                 int numDel = 0;
                 Bits liveDocs = MultiFields.GetLiveDocs(reader);
                 Assert.IsNotNull(liveDocs);
-                for (int j = 0; j < reader.MaxDoc(); j++)
+                for (int j = 0; j < reader.MaxDoc; j++)
                 {
                     if (!liveDocs.Get(j))
                     {
@@ -949,9 +949,9 @@ namespace Lucene.Net.Index
                 reader = DirectoryReader.Open(dir);
                 expected += 17 - NUM_THREAD * NUM_ITER;
                 Assert.AreEqual(expected, reader.DocFreq(new Term("contents", "here")));
-                Assert.AreEqual(expected, reader.MaxDoc());
+                Assert.AreEqual(expected, reader.MaxDoc);
                 Assert.IsNull(MultiFields.GetLiveDocs(reader));
-                for (int j = 0; j < reader.MaxDoc(); j++)
+                for (int j = 0; j < reader.MaxDoc; j++)
                 {
                     reader.Document(j);
                     reader.GetTermVectors(j);
@@ -1109,7 +1109,7 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             IndexReader reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(23, reader.NumDocs());
+            Assert.AreEqual(23, reader.NumDocs);
             reader.Dispose();
             dir.Dispose();
         }
@@ -1643,12 +1643,12 @@ namespace Lucene.Net.Index
                     w.AddDocument(document);
                     w.Dispose();
                     IndexReader reader = DirectoryReader.Open(dir);
-                    Assert.IsTrue(reader.NumDocs() > 0);
+                    Assert.IsTrue(reader.NumDocs > 0);
                     SegmentInfos sis = new SegmentInfos();
                     sis.Read(dir);
-                    foreach (AtomicReaderContext context in reader.Leaves())
+                    foreach (AtomicReaderContext context in reader.Leaves)
                     {
-                        Assert.IsFalse(((AtomicReader)context.Reader()).FieldInfos.HasVectors());
+                        Assert.IsFalse((context.AtomicReader).FieldInfos.HasVectors());
                     }
                     reader.Dispose();
                     dir.Dispose();
@@ -1961,7 +1961,7 @@ namespace Lucene.Net.Index
                 // expected
             }
             DirectoryReader ir = DirectoryReader.Open(iw, false);
-            Assert.AreEqual(1, ir.NumDocs());
+            Assert.AreEqual(1, ir.NumDocs);
             Assert.AreEqual("sometext", ir.Document(0).Get("field1"));
             ir.Dispose();
             iw.Dispose();
@@ -2048,7 +2048,7 @@ namespace Lucene.Net.Index
             iw.AddDocument(doc); // add a document
             iw.Commit();
             DirectoryReader ir = DirectoryReader.Open(dir);
-            Assert.AreEqual(1, ir.NumDocs());
+            Assert.AreEqual(1, ir.NumDocs);
             ir.Dispose();
             iw.Dispose();
 
@@ -2073,14 +2073,14 @@ namespace Lucene.Net.Index
                 failure.ClearDoFail();
                 iw.Dispose();
                 ir = DirectoryReader.Open(dir);
-                Assert.AreEqual(1, ir.NumDocs(), "lost document after iteration: " + i);
+                Assert.AreEqual(1, ir.NumDocs, "lost document after iteration: " + i);
                 ir.Dispose();
             }
 
             // Check if document is still there
             failure.ClearDoFail();
             ir = DirectoryReader.Open(dir);
-            Assert.AreEqual(1, ir.NumDocs());
+            Assert.AreEqual(1, ir.NumDocs);
             ir.Dispose();
 
             dir.Dispose();
@@ -2232,7 +2232,7 @@ namespace Lucene.Net.Index
 
                     // Sometimes we will make it here (we only randomly
                     // throw the exc):
-                    Assert.AreEqual(docCount - deleteCount, r.NumDocs());
+                    Assert.AreEqual(docCount - deleteCount, r.NumDocs);
                     r.Dispose();
 
                     // Sometimes close, so the disk full happens on close:
@@ -2301,19 +2301,19 @@ namespace Lucene.Net.Index
                     }
                     ir = w.Reader;
                 }
-                Assert.AreEqual(docCount - deleteCount, ir.NumDocs());
+                Assert.AreEqual(docCount - deleteCount, ir.NumDocs);
                 if (DefaultCodecSupportsDocValues())
                 {
                     BytesRef scratch = new BytesRef();
-                    foreach (AtomicReaderContext context in ir.Leaves())
+                    foreach (AtomicReaderContext context in ir.Leaves)
                     {
-                        AtomicReader reader = (AtomicReader)context.Reader();
+                        AtomicReader reader = context.AtomicReader;
                         Bits liveDocs = reader.LiveDocs;
                         NumericDocValues f = reader.GetNumericDocValues("f");
                         NumericDocValues cf = reader.GetNumericDocValues("cf");
                         BinaryDocValues bf = reader.GetBinaryDocValues("bf");
                         BinaryDocValues bcf = reader.GetBinaryDocValues("bcf");
-                        for (int i = 0; i < reader.MaxDoc(); i++)
+                        for (int i = 0; i < reader.MaxDoc; i++)
                         {
                             if (liveDocs == null || liveDocs.Get(i))
                             {
@@ -2347,7 +2347,7 @@ namespace Lucene.Net.Index
 
             // Final verify:
             IndexReader indRdr = DirectoryReader.Open(dir);
-            Assert.AreEqual(docCount - deleteCount, indRdr.NumDocs());
+            Assert.AreEqual(docCount - deleteCount, indRdr.NumDocs);
             indRdr.Dispose();
 
             dir.Dispose();
@@ -2471,7 +2471,7 @@ namespace Lucene.Net.Index
             Assert.IsFalse(IndexWriter.IsLocked(dir));
 
             r = DirectoryReader.Open(dir);
-            Assert.AreEqual(10, r.MaxDoc());
+            Assert.AreEqual(10, r.MaxDoc);
             r.Dispose();
 
             // no leaks
@@ -2553,7 +2553,7 @@ namespace Lucene.Net.Index
                 Assert.IsFalse(IndexWriter.IsLocked(dir));
 
                 r = DirectoryReader.Open(dir);
-                Assert.AreEqual(10, r.MaxDoc());
+                Assert.AreEqual(10, r.MaxDoc);
                 r.Dispose();
 
                 // no leaks

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestIndexWriterForceMerge.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestIndexWriterForceMerge.cs b/src/Lucene.Net.Tests/core/Index/TestIndexWriterForceMerge.cs
index cbcc614..8d05d83 100644
--- a/src/Lucene.Net.Tests/core/Index/TestIndexWriterForceMerge.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestIndexWriterForceMerge.cs
@@ -206,7 +206,7 @@ namespace Lucene.Net.Index
                 {
                     writer.Dispose();
                     DirectoryReader reader = DirectoryReader.Open(dir);
-                    Assert.AreEqual(1, reader.Leaves().Count);
+                    Assert.AreEqual(1, reader.Leaves.Count);
                     reader.Dispose();
                 }
                 else
@@ -218,7 +218,7 @@ namespace Lucene.Net.Index
                     writer.Dispose();
 
                     DirectoryReader reader = DirectoryReader.Open(dir);
-                    Assert.IsTrue(reader.Leaves().Count > 1);
+                    Assert.IsTrue(reader.Leaves.Count > 1);
                     reader.Dispose();
 
                     SegmentInfos infos = new SegmentInfos();

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestIndexWriterMergePolicy.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestIndexWriterMergePolicy.cs b/src/Lucene.Net.Tests/core/Index/TestIndexWriterMergePolicy.cs
index c849f85..869a301 100644
--- a/src/Lucene.Net.Tests/core/Index/TestIndexWriterMergePolicy.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestIndexWriterMergePolicy.cs
@@ -211,7 +211,7 @@ namespace Lucene.Net.Index
             writer.WaitForMerges();
             writer.Commit();
             CheckInvariants(writer);
-            Assert.AreEqual(10, writer.MaxDoc());
+            Assert.AreEqual(10, writer.MaxDoc);
 
             writer.Dispose();
             dir.Dispose();

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestIndexWriterMerging.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestIndexWriterMerging.cs b/src/Lucene.Net.Tests/core/Index/TestIndexWriterMerging.cs
index 60d30a6..5181ae0 100644
--- a/src/Lucene.Net.Tests/core/Index/TestIndexWriterMerging.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestIndexWriterMerging.cs
@@ -84,7 +84,7 @@ namespace Lucene.Net.Index
             bool fail = false;
             IndexReader reader = DirectoryReader.Open(directory);
 
-            int max = reader.MaxDoc();
+            int max = reader.MaxDoc;
             for (int i = 0; i < max; i++)
             {
                 Document temp = reader.Document(i);
@@ -146,8 +146,8 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             IndexReader ir = DirectoryReader.Open(dir);
-            Assert.AreEqual(10, ir.MaxDoc());
-            Assert.AreEqual(10, ir.NumDocs());
+            Assert.AreEqual(10, ir.MaxDoc);
+            Assert.AreEqual(10, ir.NumDocs);
             ir.Dispose();
 
             IndexWriterConfig dontMergeConfig = (new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random()))).SetMergePolicy(NoMergePolicy.COMPOUND_FILES);
@@ -157,18 +157,18 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             ir = DirectoryReader.Open(dir);
-            Assert.AreEqual(8, ir.NumDocs());
+            Assert.AreEqual(8, ir.NumDocs);
             ir.Dispose();
 
             writer = new IndexWriter(dir, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())).SetMergePolicy(NewLogMergePolicy()));
             Assert.AreEqual(8, writer.NumDocs());
-            Assert.AreEqual(10, writer.MaxDoc());
+            Assert.AreEqual(10, writer.MaxDoc);
             writer.ForceMergeDeletes();
             Assert.AreEqual(8, writer.NumDocs());
             writer.Dispose();
             ir = DirectoryReader.Open(dir);
-            Assert.AreEqual(8, ir.MaxDoc());
-            Assert.AreEqual(8, ir.NumDocs());
+            Assert.AreEqual(8, ir.MaxDoc);
+            Assert.AreEqual(8, ir.NumDocs);
             ir.Dispose();
             dir.Dispose();
         }
@@ -205,8 +205,8 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             IndexReader ir = DirectoryReader.Open(dir);
-            Assert.AreEqual(98, ir.MaxDoc());
-            Assert.AreEqual(98, ir.NumDocs());
+            Assert.AreEqual(98, ir.MaxDoc);
+            Assert.AreEqual(98, ir.NumDocs);
             ir.Dispose();
 
             IndexWriterConfig dontMergeConfig = (new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random()))).SetMergePolicy(NoMergePolicy.COMPOUND_FILES);
@@ -218,7 +218,7 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             ir = DirectoryReader.Open(dir);
-            Assert.AreEqual(49, ir.NumDocs());
+            Assert.AreEqual(49, ir.NumDocs);
             ir.Dispose();
 
             writer = new IndexWriter(dir, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())).SetMergePolicy(NewLogMergePolicy(3)));
@@ -226,8 +226,8 @@ namespace Lucene.Net.Index
             writer.ForceMergeDeletes();
             writer.Dispose();
             ir = DirectoryReader.Open(dir);
-            Assert.AreEqual(49, ir.MaxDoc());
-            Assert.AreEqual(49, ir.NumDocs());
+            Assert.AreEqual(49, ir.MaxDoc);
+            Assert.AreEqual(49, ir.NumDocs);
             ir.Dispose();
             dir.Dispose();
         }
@@ -264,8 +264,8 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             IndexReader ir = DirectoryReader.Open(dir);
-            Assert.AreEqual(98, ir.MaxDoc());
-            Assert.AreEqual(98, ir.NumDocs());
+            Assert.AreEqual(98, ir.MaxDoc);
+            Assert.AreEqual(98, ir.NumDocs);
             ir.Dispose();
 
             IndexWriterConfig dontMergeConfig = (new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random()))).SetMergePolicy(NoMergePolicy.COMPOUND_FILES);
@@ -276,15 +276,15 @@ namespace Lucene.Net.Index
             }
             writer.Dispose();
             ir = DirectoryReader.Open(dir);
-            Assert.AreEqual(49, ir.NumDocs());
+            Assert.AreEqual(49, ir.NumDocs);
             ir.Dispose();
 
             writer = new IndexWriter(dir, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())).SetMergePolicy(NewLogMergePolicy(3)));
             writer.ForceMergeDeletes(false);
             writer.Dispose();
             ir = DirectoryReader.Open(dir);
-            Assert.AreEqual(49, ir.MaxDoc());
-            Assert.AreEqual(49, ir.NumDocs());
+            Assert.AreEqual(49, ir.MaxDoc);
+            Assert.AreEqual(49, ir.NumDocs);
             ir.Dispose();
             dir.Dispose();
         }

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestIndexWriterNRTIsCurrent.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestIndexWriterNRTIsCurrent.cs b/src/Lucene.Net.Tests/core/Index/TestIndexWriterNRTIsCurrent.cs
index 0e9dafe..2e46d17 100644
--- a/src/Lucene.Net.Tests/core/Index/TestIndexWriterNRTIsCurrent.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestIndexWriterNRTIsCurrent.cs
@@ -147,7 +147,7 @@ namespace Lucene.Net.Index
                                 currentReader.DecRef();
                                 currentReader = newReader;
                             }
-                            if (currentReader.NumDocs() == 0)
+                            if (currentReader.NumDocs == 0)
                             {
                                 Writer.AddDocument(doc);
                             }

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestIndexWriterOutOfFileDescriptors.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestIndexWriterOutOfFileDescriptors.cs b/src/Lucene.Net.Tests/core/Index/TestIndexWriterOutOfFileDescriptors.cs
index e246b4a..b65a77f 100644
--- a/src/Lucene.Net.Tests/core/Index/TestIndexWriterOutOfFileDescriptors.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestIndexWriterOutOfFileDescriptors.cs
@@ -129,8 +129,8 @@ namespace Lucene.Net.Index
                             r2 = r3;
                         }
                     }
-                    Assert.IsTrue(r2.NumDocs() >= lastNumDocs, "before=" + lastNumDocs + " after=" + r2.NumDocs());
-                    lastNumDocs = r2.NumDocs();
+                    Assert.IsTrue(r2.NumDocs >= lastNumDocs, "before=" + lastNumDocs + " after=" + r2.NumDocs);
+                    lastNumDocs = r2.NumDocs;
                     //System.out.println("numDocs=" + lastNumDocs);
                     dir.RandomIOExceptionRateOnOpen = rate;
 

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestIndexWriterReader.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestIndexWriterReader.cs b/src/Lucene.Net.Tests/core/Index/TestIndexWriterReader.cs
index 9a0c9d3..709b129 100644
--- a/src/Lucene.Net.Tests/core/Index/TestIndexWriterReader.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestIndexWriterReader.cs
@@ -235,8 +235,8 @@ namespace Lucene.Net.Index
 
             Assert.IsTrue(dirReader.Current);
             Assert.IsTrue(nrtReader.Current); // nothing was committed yet so we are still current
-            Assert.AreEqual(2, nrtReader.MaxDoc()); // sees the actual document added
-            Assert.AreEqual(1, dirReader.MaxDoc());
+            Assert.AreEqual(2, nrtReader.MaxDoc); // sees the actual document added
+            Assert.AreEqual(1, dirReader.MaxDoc);
             writer.Dispose(); // close is actually a commit both should see the changes
             Assert.IsTrue(nrtReader.Current);
             Assert.IsFalse(dirReader.Current); // this reader has been opened before the writer was closed / committed
@@ -293,7 +293,7 @@ namespace Lucene.Net.Index
             writer.Commit();
             Assert.IsTrue(r1.Current); // we have seen all changes - no change after opening the NRT reader
 
-            Assert.AreEqual(200, r1.MaxDoc());
+            Assert.AreEqual(200, r1.MaxDoc);
 
             int index2df = r1.DocFreq(new Term("indexname", "index2"));
 
@@ -356,7 +356,7 @@ namespace Lucene.Net.Index
             writer.AddIndexes(dir2);
 
             IndexReader r1 = writer.Reader;
-            Assert.AreEqual(500, r1.MaxDoc());
+            Assert.AreEqual(500, r1.MaxDoc);
 
             r1.Dispose();
             writer.Dispose();
@@ -434,7 +434,7 @@ namespace Lucene.Net.Index
             addDirThreads.JoinThreads();
 
             //Assert.AreEqual(100 + numDirs * (3 * numIter / 4) * addDirThreads.numThreads
-            //    * addDirThreads.NUM_INIT_DOCS, addDirThreads.mainWriter.NumDocs());
+            //    * addDirThreads.NUM_INIT_DOCS, addDirThreads.mainWriter.NumDocs);
             Assert.AreEqual(addDirThreads.Count.Get(), addDirThreads.MainWriter.NumDocs());
 
             addDirThreads.Close(true);
@@ -444,9 +444,9 @@ namespace Lucene.Net.Index
             TestUtil.CheckIndex(mainDir);
 
             IndexReader reader = DirectoryReader.Open(mainDir);
-            Assert.AreEqual(addDirThreads.Count.Get(), reader.NumDocs());
+            Assert.AreEqual(addDirThreads.Count.Get(), reader.NumDocs);
             //Assert.AreEqual(100 + numDirs * (3 * numIter / 4) * addDirThreads.numThreads
-            //    * addDirThreads.NUM_INIT_DOCS, reader.NumDocs());
+            //    * addDirThreads.NUM_INIT_DOCS, reader.NumDocs);
             reader.Dispose();
 
             addDirThreads.CloseDir();
@@ -649,15 +649,15 @@ namespace Lucene.Net.Index
             Directory dir1 = GetAssertNoDeletesDirectory(NewDirectory());
             IndexWriter writer = new IndexWriter(dir1, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())));
             IndexReader r1 = writer.Reader;
-            Assert.AreEqual(0, r1.MaxDoc());
+            Assert.AreEqual(0, r1.MaxDoc);
             CreateIndexNoClose(false, "index1", writer);
             writer.Flush(!doFullMerge, true);
 
             IndexReader iwr1 = writer.Reader;
-            Assert.AreEqual(100, iwr1.MaxDoc());
+            Assert.AreEqual(100, iwr1.MaxDoc);
 
             IndexReader r2 = writer.Reader;
-            Assert.AreEqual(r2.MaxDoc(), 100);
+            Assert.AreEqual(r2.MaxDoc, 100);
             // add 100 documents
             for (int x = 10000; x < 10000 + 100; x++)
             {
@@ -668,11 +668,11 @@ namespace Lucene.Net.Index
             // verify the reader was reopened internally
             IndexReader iwr2 = writer.Reader;
             Assert.IsTrue(iwr2 != r1);
-            Assert.AreEqual(200, iwr2.MaxDoc());
+            Assert.AreEqual(200, iwr2.MaxDoc);
             // should have flushed out a segment
             IndexReader r3 = writer.Reader;
             Assert.IsTrue(r2 != r3);
-            Assert.AreEqual(200, r3.MaxDoc());
+            Assert.AreEqual(200, r3.MaxDoc);
 
             // dec ref the readers rather than close them because
             // closing flushes changes to the writer
@@ -687,7 +687,7 @@ namespace Lucene.Net.Index
             writer = new IndexWriter(dir1, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())));
             IndexReader w2r1 = writer.Reader;
             // insure the deletes were actually flushed to the directory
-            Assert.AreEqual(200, w2r1.MaxDoc());
+            Assert.AreEqual(200, w2r1.MaxDoc);
             w2r1.Dispose();
             writer.Dispose();
 
@@ -789,7 +789,7 @@ namespace Lucene.Net.Index
             TestUtil.CheckIndex(dir1);
             writer.Commit();
             TestUtil.CheckIndex(dir1);
-            Assert.AreEqual(100, r1.NumDocs());
+            Assert.AreEqual(100, r1.NumDocs);
 
             for (int i = 0; i < 10; i++)
             {
@@ -803,7 +803,7 @@ namespace Lucene.Net.Index
                 r1.Dispose();
                 r1 = r2;
             }
-            Assert.AreEqual(110, r1.NumDocs());
+            Assert.AreEqual(110, r1.NumDocs);
             writer.Dispose();
             r1.Dispose();
             dir1.Dispose();
@@ -825,7 +825,7 @@ namespace Lucene.Net.Index
             TestUtil.CheckIndex(dir1);
 
             // reader should remain usable even after IndexWriter is closed:
-            Assert.AreEqual(100, r.NumDocs());
+            Assert.AreEqual(100, r.NumDocs);
             Query q = new TermQuery(new Term("indexname", "test"));
             IndexSearcher searcher = NewSearcher(r);
             Assert.AreEqual(100, searcher.Search(q, 10).TotalHits);
@@ -1098,8 +1098,8 @@ namespace Lucene.Net.Index
             w.Dispose();
             r.Dispose();
             r = DirectoryReader.Open(dir);
-            Assert.AreEqual(1, r.NumDocs());
-            Assert.IsFalse(r.HasDeletions());
+            Assert.AreEqual(1, r.NumDocs);
+            Assert.IsFalse(r.HasDeletions);
             r.Dispose();
             dir.Dispose();
         }
@@ -1118,17 +1118,17 @@ namespace Lucene.Net.Index
             id.StringValue = "1";
             w.AddDocument(doc);
             IndexReader r = w.Reader;
-            Assert.AreEqual(2, r.NumDocs());
+            Assert.AreEqual(2, r.NumDocs);
             r.Dispose();
 
             w.DeleteDocuments(new Term("id", "0"));
             r = w.Reader;
-            Assert.AreEqual(1, r.NumDocs());
+            Assert.AreEqual(1, r.NumDocs);
             r.Dispose();
 
             w.DeleteDocuments(new Term("id", "1"));
             r = w.Reader;
-            Assert.AreEqual(0, r.NumDocs());
+            Assert.AreEqual(0, r.NumDocs);
             r.Dispose();
 
             w.Dispose();
@@ -1142,7 +1142,7 @@ namespace Lucene.Net.Index
             Directory dir = NewDirectory();
             IndexWriter w = new IndexWriter(dir, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())));
             IndexReader r = w.Reader;
-            Assert.AreEqual(0, r.NumDocs());
+            Assert.AreEqual(0, r.NumDocs);
             r.Dispose();
             w.Dispose();
             dir.Dispose();
@@ -1410,7 +1410,7 @@ namespace Lucene.Net.Index
                 w.AddDocument(doc);
                 IndexReader r = DirectoryReader.Open(w, true);
                 // Make sure segment count never exceeds 100:
-                Assert.IsTrue(r.Leaves().Count < 100);
+                Assert.IsTrue(r.Leaves.Count < 100);
                 r.Dispose();
             }
             w.Dispose();

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestIndexWriterUnicode.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestIndexWriterUnicode.cs b/src/Lucene.Net.Tests/core/Index/TestIndexWriterUnicode.cs
index cf2051f..3120efd 100644
--- a/src/Lucene.Net.Tests/core/Index/TestIndexWriterUnicode.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestIndexWriterUnicode.cs
@@ -365,9 +365,9 @@ namespace Lucene.Net.Index
             IndexReader r = writer.Reader;
 
             // Test each sub-segment
-            foreach (AtomicReaderContext ctx in r.Leaves())
+            foreach (AtomicReaderContext ctx in r.Leaves)
             {
-                CheckTermsOrder(ctx.Reader(), allTerms, false);
+                CheckTermsOrder(ctx.Reader, allTerms, false);
             }
             CheckTermsOrder(r, allTerms, true);
 

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestIndexWriterWithThreads.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestIndexWriterWithThreads.cs b/src/Lucene.Net.Tests/core/Index/TestIndexWriterWithThreads.cs
index af34567..6e118c6 100644
--- a/src/Lucene.Net.Tests/core/Index/TestIndexWriterWithThreads.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestIndexWriterWithThreads.cs
@@ -337,7 +337,7 @@ namespace Lucene.Net.Index
                 {
                     IndexReader reader = DirectoryReader.Open(dir);
                     Bits delDocs = MultiFields.GetLiveDocs(reader);
-                    for (int j = 0; j < reader.MaxDoc(); j++)
+                    for (int j = 0; j < reader.MaxDoc; j++)
                     {
                         if (delDocs == null || !delDocs.Get(j))
                         {
@@ -574,7 +574,7 @@ namespace Lucene.Net.Index
                 Assert.IsFalse(thread2.Failed, "Failed due to: " + thread2.Failure);
                 // now verify that we have two documents in the index
                 IndexReader reader = DirectoryReader.Open(dir);
-                Assert.AreEqual(2, reader.NumDocs(), "IndexReader should have one document per thread running");
+                Assert.AreEqual(2, reader.NumDocs, "IndexReader should have one document per thread running");
 
                 reader.Dispose();
             }

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestLongPostings.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestLongPostings.cs b/src/Lucene.Net.Tests/core/Index/TestLongPostings.cs
index 38f3584..8afe0dc 100644
--- a/src/Lucene.Net.Tests/core/Index/TestLongPostings.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestLongPostings.cs
@@ -175,7 +175,7 @@ namespace Lucene.Net.Index
             }
             */
 
-            Assert.AreEqual(NUM_DOCS, r.NumDocs());
+            Assert.AreEqual(NUM_DOCS, r.NumDocs);
             Assert.IsTrue(r.DocFreq(new Term("field", s1)) > 0);
             Assert.IsTrue(r.DocFreq(new Term("field", s2)) > 0);
 
@@ -422,7 +422,7 @@ namespace Lucene.Net.Index
             }
             */
 
-            Assert.AreEqual(NUM_DOCS, r.NumDocs());
+            Assert.AreEqual(NUM_DOCS, r.NumDocs);
             Assert.IsTrue(r.DocFreq(new Term("field", s1)) > 0);
             Assert.IsTrue(r.DocFreq(new Term("field", s2)) > 0);
 

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestMaxTermFrequency.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestMaxTermFrequency.cs b/src/Lucene.Net.Tests/core/Index/TestMaxTermFrequency.cs
index 93f2751..fa66c94 100644
--- a/src/Lucene.Net.Tests/core/Index/TestMaxTermFrequency.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestMaxTermFrequency.cs
@@ -78,7 +78,7 @@ namespace Lucene.Net.Index
         public virtual void Test()
         {
             NumericDocValues fooNorms = MultiDocValues.GetNormValues(Reader, "foo");
-            for (int i = 0; i < Reader.MaxDoc(); i++)
+            for (int i = 0; i < Reader.MaxDoc; i++)
             {
                 Assert.AreEqual((int)Expected[i], fooNorms.Get(i) & 0xff);
             }

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestMixedCodecs.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestMixedCodecs.cs b/src/Lucene.Net.Tests/core/Index/TestMixedCodecs.cs
index 7f4a9fd..723bf74 100644
--- a/src/Lucene.Net.Tests/core/Index/TestMixedCodecs.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestMixedCodecs.cs
@@ -93,7 +93,7 @@ namespace Lucene.Net.Index
                     if (Random().Next(17) == 6)
                     {
                         IndexReader r = w.Reader;
-                        Assert.AreEqual(NUM_DOCS - deleted.Count, r.NumDocs());
+                        Assert.AreEqual(NUM_DOCS - deleted.Count, r.NumDocs);
                         r.Dispose();
                     }
                 }

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestMixedDocValuesUpdates.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestMixedDocValuesUpdates.cs b/src/Lucene.Net.Tests/core/Index/TestMixedDocValuesUpdates.cs
index 9118a17..8930728 100644
--- a/src/Lucene.Net.Tests/core/Index/TestMixedDocValuesUpdates.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestMixedDocValuesUpdates.cs
@@ -166,11 +166,11 @@ namespace Lucene.Net.Index
                 reader.Dispose();
                 reader = newReader;
                 //      System.out.println("[" + Thread.currentThread().getName() + "]: reopened reader: " + reader);
-                Assert.IsTrue(reader.NumDocs() > 0); // we delete at most one document per round
+                Assert.IsTrue(reader.NumDocs > 0); // we delete at most one document per round
                 BytesRef scratch = new BytesRef();
-                foreach (AtomicReaderContext context in reader.Leaves())
+                foreach (AtomicReaderContext context in reader.Leaves)
                 {
-                    AtomicReader r = (AtomicReader)context.Reader();
+                    AtomicReader r = context.AtomicReader;
                     //        System.out.println(((SegmentReader) r).getSegmentName());
                     Bits liveDocs = r.LiveDocs;
                     for (int field = 0; field < fieldValues.Length; field++)
@@ -189,7 +189,7 @@ namespace Lucene.Net.Index
                             Assert.IsNull(ndv);
                             Assert.IsNotNull(bdv);
                         }
-                        int maxDoc = r.MaxDoc();
+                        int maxDoc = r.MaxDoc;
                         for (int doc = 0; doc < maxDoc; doc++)
                         {
                             if (liveDocs == null || liveDocs.Get(doc))
@@ -284,9 +284,9 @@ namespace Lucene.Net.Index
 
             DirectoryReader reader = DirectoryReader.Open(dir);
             BytesRef scratch = new BytesRef();
-            foreach (AtomicReaderContext context in reader.Leaves())
+            foreach (AtomicReaderContext context in reader.Leaves)
             {
-                AtomicReader r = (AtomicReader)context.Reader();
+                AtomicReader r = context.AtomicReader;
                 for (int i = 0; i < numThreads; i++)
                 {
                     BinaryDocValues bdv = r.GetBinaryDocValues("f" + i);
@@ -294,7 +294,7 @@ namespace Lucene.Net.Index
                     Bits docsWithBdv = r.GetDocsWithField("f" + i);
                     Bits docsWithControl = r.GetDocsWithField("cf" + i);
                     Bits liveDocs = r.LiveDocs;
-                    for (int j = 0; j < r.MaxDoc(); j++)
+                    for (int j = 0; j < r.MaxDoc; j++)
                     {
                         if (liveDocs == null || liveDocs.Get(j))
                         {
@@ -472,12 +472,12 @@ namespace Lucene.Net.Index
                 writer.UpdateBinaryDocValue(t, "f", TestBinaryDocValuesUpdates.ToBytes(value));
                 writer.UpdateNumericDocValue(t, "cf", value * 2);
                 DirectoryReader reader = DirectoryReader.Open(writer, true);
-                foreach (AtomicReaderContext context in reader.Leaves())
+                foreach (AtomicReaderContext context in reader.Leaves)
                 {
-                    AtomicReader r = (AtomicReader)context.Reader();
+                    AtomicReader r = context.AtomicReader;
                     BinaryDocValues fbdv = r.GetBinaryDocValues("f");
                     NumericDocValues cfndv = r.GetNumericDocValues("cf");
-                    for (int j = 0; j < r.MaxDoc(); j++)
+                    for (int j = 0; j < r.MaxDoc; j++)
                     {
                         Assert.AreEqual(cfndv.Get(j), TestBinaryDocValuesUpdates.GetValue(fbdv, j, scratch) * 2);
                     }
@@ -549,14 +549,14 @@ namespace Lucene.Net.Index
 
             DirectoryReader reader = DirectoryReader.Open(dir);
             BytesRef scratch = new BytesRef();
-            foreach (AtomicReaderContext context in reader.Leaves())
+            foreach (AtomicReaderContext context in reader.Leaves)
             {
                 for (int i = 0; i < numBinaryFields; i++)
                 {
-                    AtomicReader r = (AtomicReader)context.Reader();
+                    AtomicReader r = context.AtomicReader;
                     BinaryDocValues f = r.GetBinaryDocValues("f" + i);
                     NumericDocValues cf = r.GetNumericDocValues("cf" + i);
-                    for (int j = 0; j < r.MaxDoc(); j++)
+                    for (int j = 0; j < r.MaxDoc; j++)
                     {
                         Assert.AreEqual(cf.Get(j), TestBinaryDocValuesUpdates.GetValue(f, j, scratch) * 2, "reader=" + r + ", field=f" + i + ", doc=" + j);
                     }

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestNRTThreads.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestNRTThreads.cs b/src/Lucene.Net.Tests/core/Index/TestNRTThreads.cs
index a23824d..0bea57a 100644
--- a/src/Lucene.Net.Tests/core/Index/TestNRTThreads.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestNRTThreads.cs
@@ -91,10 +91,10 @@ namespace Lucene.Net.Index
                 {
                     Console.WriteLine("TEST: got new reader=" + r);
                 }
-                //System.out.println("numDocs=" + r.NumDocs() + "
+                //System.out.println("numDocs=" + r.NumDocs + "
                 //openDelFileCount=" + dir.openDeleteFileCount());
 
-                if (r.NumDocs() > 0)
+                if (r.NumDocs > 0)
                 {
                     FixedSearcher = new IndexSearcher(r, es);
                     SmokeTestSearcher(FixedSearcher);
@@ -103,7 +103,7 @@ namespace Lucene.Net.Index
             }
             r.Dispose();
 
-            //System.out.println("numDocs=" + r.NumDocs() + " openDelFileCount=" + dir.openDeleteFileCount());
+            //System.out.println("numDocs=" + r.NumDocs + " openDelFileCount=" + dir.openDeleteFileCount());
             ISet<string> openDeletedFiles_ = ((MockDirectoryWrapper)Dir).OpenDeletedFiles;
             if (openDeletedFiles_.Count > 0)
             {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestNorms.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestNorms.cs b/src/Lucene.Net.Tests/core/Index/TestNorms.cs
index 4f42322..124d688 100644
--- a/src/Lucene.Net.Tests/core/Index/TestNorms.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestNorms.cs
@@ -130,13 +130,13 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             NumericDocValues fooNorms = MultiDocValues.GetNormValues(reader, "foo");
-            for (int i = 0; i < reader.MaxDoc(); i++)
+            for (int i = 0; i < reader.MaxDoc; i++)
             {
                 Assert.AreEqual(0, fooNorms.Get(i));
             }
 
             NumericDocValues barNorms = MultiDocValues.GetNormValues(reader, "bar");
-            for (int i = 0; i < reader.MaxDoc(); i++)
+            for (int i = 0; i < reader.MaxDoc; i++)
             {
                 Assert.AreEqual(1, barNorms.Get(i));
             }
@@ -153,7 +153,7 @@ namespace Lucene.Net.Index
             AtomicReader open = SlowCompositeReaderWrapper.Wrap(DirectoryReader.Open(dir));
             NumericDocValues normValues = open.GetNormValues(ByteTestField);
             Assert.IsNotNull(normValues);
-            for (int i = 0; i < open.MaxDoc(); i++)
+            for (int i = 0; i < open.MaxDoc; i++)
             {
                 Document document = open.Document(i);
                 int expected = Convert.ToInt32(document.Get(ByteTestField));

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestNumericDocValuesUpdates.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestNumericDocValuesUpdates.cs b/src/Lucene.Net.Tests/core/Index/TestNumericDocValuesUpdates.cs
index 88609ff..bf9d902 100644
--- a/src/Lucene.Net.Tests/core/Index/TestNumericDocValuesUpdates.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestNumericDocValuesUpdates.cs
@@ -115,8 +115,8 @@ namespace Lucene.Net.Index
                 writer.Dispose();
             }
 
-            Assert.AreEqual(1, reader.Leaves().Count);
-            AtomicReader r = (AtomicReader)reader.Leaves()[0].Reader();
+            Assert.AreEqual(1, reader.Leaves.Count);
+            AtomicReader r = (AtomicReader)reader.Leaves[0].Reader;
             NumericDocValues ndv = r.GetNumericDocValues("val");
             Assert.AreEqual(2, ndv.Get(0));
             Assert.AreEqual(2, ndv.Get(1));
@@ -165,12 +165,12 @@ namespace Lucene.Net.Index
                 writer.Dispose();
             }
 
-            foreach (AtomicReaderContext context in reader.Leaves())
+            foreach (AtomicReaderContext context in reader.Leaves)
             {
-                AtomicReader r = (AtomicReader)context.Reader();
+                AtomicReader r = context.AtomicReader;
                 NumericDocValues ndv = r.GetNumericDocValues("val");
                 Assert.IsNotNull(ndv);
-                for (int i = 0; i < r.MaxDoc(); i++)
+                for (int i = 0; i < r.MaxDoc; i++)
                 {
                     long expected = expectedValues[i + context.DocBase];
                     long actual = ndv.Get(i);
@@ -215,8 +215,8 @@ namespace Lucene.Net.Index
             Assert.IsNotNull(reader2);
             Assert.IsTrue(reader1 != reader2);
 
-            Assert.AreEqual(1, ((AtomicReader)reader1.Leaves()[0].Reader()).GetNumericDocValues("val").Get(0));
-            Assert.AreEqual(10, ((AtomicReader)reader2.Leaves()[0].Reader()).GetNumericDocValues("val").Get(0));
+            Assert.AreEqual(1, ((AtomicReader)reader1.Leaves[0].Reader).GetNumericDocValues("val").Get(0));
+            Assert.AreEqual(10, ((AtomicReader)reader2.Leaves[0].Reader).GetNumericDocValues("val").Get(0));
 
             IOUtils.Close(writer, reader1, reader2, dir);
         }
@@ -312,7 +312,7 @@ namespace Lucene.Net.Index
                 writer.Dispose();
             }
 
-            AtomicReader r = (AtomicReader)reader.Leaves()[0].Reader();
+            AtomicReader r = (AtomicReader)reader.Leaves[0].Reader;
             Assert.IsFalse(r.LiveDocs.Get(0));
             Assert.AreEqual(17, r.GetNumericDocValues("val").Get(1));
 
@@ -352,7 +352,7 @@ namespace Lucene.Net.Index
                 writer.Dispose();
             }
 
-            AtomicReader r = (AtomicReader)reader.Leaves()[0].Reader();
+            AtomicReader r = (AtomicReader)reader.Leaves[0].Reader;
             Assert.IsFalse(r.LiveDocs.Get(0));
             Assert.AreEqual(1, r.GetNumericDocValues("val").Get(0)); // deletes are currently applied first
 
@@ -386,13 +386,13 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             DirectoryReader reader = DirectoryReader.Open(dir);
-            AtomicReader r = (AtomicReader)reader.Leaves()[0].Reader();
+            AtomicReader r = (AtomicReader)reader.Leaves[0].Reader;
             NumericDocValues ndv = r.GetNumericDocValues("ndv");
             BinaryDocValues bdv = r.GetBinaryDocValues("bdv");
             SortedDocValues sdv = r.GetSortedDocValues("sdv");
             SortedSetDocValues ssdv = r.GetSortedSetDocValues("ssdv");
             BytesRef scratch = new BytesRef();
-            for (int i = 0; i < r.MaxDoc(); i++)
+            for (int i = 0; i < r.MaxDoc; i++)
             {
                 Assert.AreEqual(17, ndv.Get(i));
                 bdv.Get(i, scratch);
@@ -439,10 +439,10 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             DirectoryReader reader = DirectoryReader.Open(dir);
-            AtomicReader r = (AtomicReader)reader.Leaves()[0].Reader();
+            AtomicReader r = (AtomicReader)reader.Leaves[0].Reader;
             NumericDocValues ndv1 = r.GetNumericDocValues("ndv1");
             NumericDocValues ndv2 = r.GetNumericDocValues("ndv2");
-            for (int i = 0; i < r.MaxDoc(); i++)
+            for (int i = 0; i < r.MaxDoc; i++)
             {
                 Assert.AreEqual(17, ndv1.Get(i));
                 Assert.AreEqual(i, ndv2.Get(i));
@@ -476,9 +476,9 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             DirectoryReader reader = DirectoryReader.Open(dir);
-            AtomicReader r = (AtomicReader)reader.Leaves()[0].Reader();
+            AtomicReader r = (AtomicReader)reader.Leaves[0].Reader;
             NumericDocValues ndv = r.GetNumericDocValues("ndv");
-            for (int i = 0; i < r.MaxDoc(); i++)
+            for (int i = 0; i < r.MaxDoc; i++)
             {
                 Assert.AreEqual(17, ndv.Get(i));
             }
@@ -509,9 +509,9 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             DirectoryReader reader = DirectoryReader.Open(dir);
-            AtomicReader r = (AtomicReader)reader.Leaves()[0].Reader();
+            AtomicReader r = (AtomicReader)reader.Leaves[0].Reader;
             NumericDocValues ndv = r.GetNumericDocValues("ndv");
-            for (int i = 0; i < r.MaxDoc(); i++)
+            for (int i = 0; i < r.MaxDoc; i++)
             {
                 if (i == 0)
                 {
@@ -553,9 +553,9 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             DirectoryReader reader = DirectoryReader.Open(dir);
-            AtomicReader r = (AtomicReader)reader.Leaves()[0].Reader();
+            AtomicReader r = (AtomicReader)reader.Leaves[0].Reader;
             NumericDocValues ndv = r.GetNumericDocValues("ndv");
-            for (int i = 0; i < r.MaxDoc(); i++)
+            for (int i = 0; i < r.MaxDoc; i++)
             {
                 Assert.AreEqual(0, ndv.Get(i));
             }
@@ -633,7 +633,7 @@ namespace Lucene.Net.Index
             NumericDocValues ndv = r.GetNumericDocValues("ndv");
             SortedDocValues sdv = r.GetSortedDocValues("sorted");
             BytesRef scratch = new BytesRef();
-            for (int i = 0; i < r.MaxDoc(); i++)
+            for (int i = 0; i < r.MaxDoc; i++)
             {
                 Assert.AreEqual(17, ndv.Get(i));
                 sdv.Get(i, scratch);
@@ -680,7 +680,7 @@ namespace Lucene.Net.Index
             DirectoryReader reader = DirectoryReader.Open(dir);
             AtomicReader r = SlowCompositeReaderWrapper.Wrap(reader);
             NumericDocValues ndv = r.GetNumericDocValues("ndv");
-            for (int i = 0; i < r.MaxDoc(); i++)
+            for (int i = 0; i < r.MaxDoc; i++)
             {
                 Assert.AreEqual(3, ndv.Get(i));
             }
@@ -754,12 +754,12 @@ namespace Lucene.Net.Index
                     reader = DirectoryReader.Open(writer, true);
                 }
 
-                Assert.AreEqual(1, reader.Leaves().Count);
-                AtomicReader r = (AtomicReader)reader.Leaves()[0].Reader();
+                Assert.AreEqual(1, reader.Leaves.Count);
+                AtomicReader r = (AtomicReader)reader.Leaves[0].Reader;
                 Assert.IsNull(r.LiveDocs, "index should have no deletes after forceMerge");
                 NumericDocValues ndv = r.GetNumericDocValues("ndv");
                 Assert.IsNotNull(ndv);
-                for (int i = 0; i < r.MaxDoc(); i++)
+                for (int i = 0; i < r.MaxDoc; i++)
                 {
                     Assert.AreEqual(value, ndv.Get(i));
                 }
@@ -793,7 +793,7 @@ namespace Lucene.Net.Index
             DirectoryReader reader = DirectoryReader.Open(dir);
             AtomicReader r = SlowCompositeReaderWrapper.Wrap(reader);
             NumericDocValues ndv = r.GetNumericDocValues("ndv");
-            for (int i = 0; i < r.MaxDoc(); i++)
+            for (int i = 0; i < r.MaxDoc; i++)
             {
                 Assert.AreEqual(3, ndv.Get(i));
             }
@@ -896,10 +896,10 @@ namespace Lucene.Net.Index
                 reader.Dispose();
                 reader = newReader;
                 //      System.out.println("[" + Thread.currentThread().getName() + "]: reopened reader: " + reader);
-                Assert.IsTrue(reader.NumDocs() > 0); // we delete at most one document per round
-                foreach (AtomicReaderContext context in reader.Leaves())
+                Assert.IsTrue(reader.NumDocs > 0); // we delete at most one document per round
+                foreach (AtomicReaderContext context in reader.Leaves)
                 {
-                    AtomicReader r = (AtomicReader)context.Reader();
+                    AtomicReader r = context.AtomicReader;
                     //        System.out.println(((SegmentReader) r).getSegmentName());
                     Bits liveDocs = r.LiveDocs;
                     for (int field = 0; field < fieldValues.Length; field++)
@@ -908,7 +908,7 @@ namespace Lucene.Net.Index
                         NumericDocValues ndv = r.GetNumericDocValues(f);
                         Bits docsWithField = r.GetDocsWithField(f);
                         Assert.IsNotNull(ndv);
-                        int maxDoc = r.MaxDoc();
+                        int maxDoc = r.MaxDoc;
                         for (int doc = 0; doc < maxDoc; doc++)
                         {
                             if (liveDocs == null || liveDocs.Get(doc))
@@ -973,9 +973,9 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             DirectoryReader reader = DirectoryReader.Open(dir);
-            foreach (AtomicReaderContext context in reader.Leaves())
+            foreach (AtomicReaderContext context in reader.Leaves)
             {
-                AtomicReader r = (AtomicReader)context.Reader();
+                AtomicReader r = context.AtomicReader;
                 NumericDocValues ndv = r.GetNumericDocValues("ndv");
                 Bits docsWithField = r.GetDocsWithField("ndv");
                 Assert.IsNotNull(docsWithField);
@@ -1020,11 +1020,11 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             DirectoryReader reader = DirectoryReader.Open(dir);
-            foreach (AtomicReaderContext context in reader.Leaves())
+            foreach (AtomicReaderContext context in reader.Leaves)
             {
-                AtomicReader r = (AtomicReader)context.Reader();
+                AtomicReader r = context.AtomicReader;
                 NumericDocValues ndv = r.GetNumericDocValues("ndv");
-                for (int i = 0; i < r.MaxDoc(); i++)
+                for (int i = 0; i < r.MaxDoc; i++)
                 {
                     Assert.AreEqual(5L, ndv.Get(i));
                 }
@@ -1052,7 +1052,7 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             DirectoryReader r = DirectoryReader.Open(dir);
-            NumericDocValues ndv = ((AtomicReader)r.Leaves()[0].Reader()).GetNumericDocValues("f");
+            NumericDocValues ndv = ((AtomicReader)r.Leaves[0].Reader).GetNumericDocValues("f");
             Assert.AreEqual(17, ndv.Get(0));
             r.Dispose();
 
@@ -1160,9 +1160,9 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             DirectoryReader reader = DirectoryReader.Open(dir);
-            foreach (AtomicReaderContext context in reader.Leaves())
+            foreach (AtomicReaderContext context in reader.Leaves)
             {
-                AtomicReader r = (AtomicReader)context.Reader();
+                AtomicReader r = context.AtomicReader;
                 for (int i = 0; i < numThreads; i++)
                 {
                     NumericDocValues ndv = r.GetNumericDocValues("f" + i);
@@ -1170,7 +1170,7 @@ namespace Lucene.Net.Index
                     Bits docsWithNdv = r.GetDocsWithField("f" + i);
                     Bits docsWithControl = r.GetDocsWithField("cf" + i);
                     Bits liveDocs = r.LiveDocs;
-                    for (int j = 0; j < r.MaxDoc(); j++)
+                    for (int j = 0; j < r.MaxDoc; j++)
                     {
                         if (liveDocs == null || liveDocs.Get(j))
                         {
@@ -1340,12 +1340,12 @@ namespace Lucene.Net.Index
                 writer.UpdateNumericDocValue(t, "f", value);
                 writer.UpdateNumericDocValue(t, "cf", value * 2);
                 DirectoryReader reader = DirectoryReader.Open(writer, true);
-                foreach (AtomicReaderContext context in reader.Leaves())
+                foreach (AtomicReaderContext context in reader.Leaves)
                 {
-                    AtomicReader r = (AtomicReader)context.Reader();
+                    AtomicReader r = context.AtomicReader;
                     NumericDocValues fndv = r.GetNumericDocValues("f");
                     NumericDocValues cfndv = r.GetNumericDocValues("cf");
-                    for (int j = 0; j < r.MaxDoc(); j++)
+                    for (int j = 0; j < r.MaxDoc; j++)
                     {
                         Assert.AreEqual(cfndv.Get(j), fndv.Get(j) * 2);
                     }
@@ -1477,12 +1477,12 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             DirectoryReader reader_ = DirectoryReader.Open(dir2);
-            foreach (AtomicReaderContext context in reader_.Leaves())
+            foreach (AtomicReaderContext context in reader_.Leaves)
             {
-                AtomicReader r = (AtomicReader)context.Reader();
+                AtomicReader r = context.AtomicReader;
                 NumericDocValues ndv = r.GetNumericDocValues("ndv");
                 NumericDocValues control = r.GetNumericDocValues("control");
-                for (int i = 0; i < r.MaxDoc(); i++)
+                for (int i = 0; i < r.MaxDoc; i++)
                 {
                     Assert.AreEqual(ndv.Get(i) * 2, control.Get(i));
                 }
@@ -1510,7 +1510,7 @@ namespace Lucene.Net.Index
             int numFiles = dir.ListAll().Length;
 
             DirectoryReader r = DirectoryReader.Open(dir);
-            Assert.AreEqual(2L, ((AtomicReader)r.Leaves()[0].Reader()).GetNumericDocValues("f").Get(0));
+            Assert.AreEqual(2L, ((AtomicReader)r.Leaves[0].Reader).GetNumericDocValues("f").Get(0));
             r.Dispose();
 
             // create second gen of update files, first gen should be deleted
@@ -1519,7 +1519,7 @@ namespace Lucene.Net.Index
             Assert.AreEqual(numFiles, dir.ListAll().Length);
 
             r = DirectoryReader.Open(dir);
-            Assert.AreEqual(5L, ((AtomicReader)r.Leaves()[0].Reader()).GetNumericDocValues("f").Get(0));
+            Assert.AreEqual(5L, ((AtomicReader)r.Leaves[0].Reader).GetNumericDocValues("f").Get(0));
             r.Dispose();
 
             writer.Dispose();
@@ -1586,14 +1586,14 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             DirectoryReader reader = DirectoryReader.Open(dir);
-            foreach (AtomicReaderContext context in reader.Leaves())
+            foreach (AtomicReaderContext context in reader.Leaves)
             {
                 for (int i = 0; i < numNumericFields; i++)
                 {
-                    AtomicReader r = (AtomicReader)context.Reader();
+                    AtomicReader r = context.AtomicReader;
                     NumericDocValues f = r.GetNumericDocValues("f" + i);
                     NumericDocValues cf = r.GetNumericDocValues("cf" + i);
-                    for (int j = 0; j < r.MaxDoc(); j++)
+                    for (int j = 0; j < r.MaxDoc; j++)
                     {
                         Assert.AreEqual(cf.Get(j), f.Get(j) * 2, "reader=" + r + ", field=f" + i + ", doc=" + j);
                     }
@@ -1625,8 +1625,8 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             DirectoryReader reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(4, ((AtomicReader)reader.Leaves()[0].Reader()).GetNumericDocValues("f1").Get(0));
-            Assert.AreEqual(3, ((AtomicReader)reader.Leaves()[0].Reader()).GetNumericDocValues("f2").Get(0));
+            Assert.AreEqual(4, ((AtomicReader)reader.Leaves[0].Reader).GetNumericDocValues("f1").Get(0));
+            Assert.AreEqual(3, ((AtomicReader)reader.Leaves[0].Reader).GetNumericDocValues("f2").Get(0));
             reader.Dispose();
 
             dir.Dispose();
@@ -1651,8 +1651,8 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             DirectoryReader reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(1, reader.Leaves().Count);
-            Assert.AreEqual(2L, ((AtomicReader)reader.Leaves()[0].Reader()).GetNumericDocValues("f1").Get(0));
+            Assert.AreEqual(1, reader.Leaves.Count);
+            Assert.AreEqual(2L, ((AtomicReader)reader.Leaves[0].Reader).GetNumericDocValues("f1").Get(0));
             reader.Dispose();
 
             dir.Dispose();
@@ -1675,8 +1675,8 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             DirectoryReader reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(1, reader.Leaves().Count);
-            Assert.AreEqual(1L, ((AtomicReader)reader.Leaves()[0].Reader()).GetNumericDocValues("f1").Get(0));
+            Assert.AreEqual(1, reader.Leaves.Count);
+            Assert.AreEqual(1L, ((AtomicReader)reader.Leaves[0].Reader).GetNumericDocValues("f1").Get(0));
             reader.Dispose();
 
             dir.Dispose();

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestOmitNorms.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestOmitNorms.cs b/src/Lucene.Net.Tests/core/Index/TestOmitNorms.cs
index 9b9a833..85192b0 100644
--- a/src/Lucene.Net.Tests/core/Index/TestOmitNorms.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestOmitNorms.cs
@@ -316,7 +316,7 @@ namespace Lucene.Net.Index
             }
             else
             {
-                for (int docID = 0; docID < ir1.MaxDoc(); docID++)
+                for (int docID = 0; docID < ir1.MaxDoc; docID++)
                 {
                     Assert.AreEqual(norms1.Get(docID), norms2.Get(docID));
                 }

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestParallelCompositeReader.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestParallelCompositeReader.cs b/src/Lucene.Net.Tests/core/Index/TestParallelCompositeReader.cs
index 8d76978..473f8a5 100644
--- a/src/Lucene.Net.Tests/core/Index/TestParallelCompositeReader.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestParallelCompositeReader.cs
@@ -157,11 +157,11 @@ namespace Lucene.Net.Index
 
             int[] listenerClosedCount = new int[1];
 
-            Assert.AreEqual(3, pr.Leaves().Count);
+            Assert.AreEqual(3, pr.Leaves.Count);
 
-            foreach (AtomicReaderContext cxt in pr.Leaves())
+            foreach (AtomicReaderContext cxt in pr.Leaves)
             {
-                cxt.Reader().AddReaderClosedListener(new ReaderClosedListenerAnonymousInnerClassHelper(this, listenerClosedCount));
+                cxt.Reader.AddReaderClosedListener(new ReaderClosedListenerAnonymousInnerClassHelper(this, listenerClosedCount));
             }
             pr.Dispose();
             ir1.Dispose();
@@ -199,11 +199,11 @@ namespace Lucene.Net.Index
 
             int[] listenerClosedCount = new int[1];
 
-            Assert.AreEqual(3, pr.Leaves().Count);
+            Assert.AreEqual(3, pr.Leaves.Count);
 
-            foreach (AtomicReaderContext cxt in pr.Leaves())
+            foreach (AtomicReaderContext cxt in pr.Leaves)
             {
-                cxt.Reader().AddReaderClosedListener(new ReaderClosedListenerAnonymousInnerClassHelper2(this, listenerClosedCount));
+                cxt.Reader.AddReaderClosedListener(new ReaderClosedListenerAnonymousInnerClassHelper2(this, listenerClosedCount));
             }
             pr.Dispose();
             Assert.AreEqual(3, listenerClosedCount[0]);
@@ -549,15 +549,15 @@ namespace Lucene.Net.Index
             {
                 rd1 = new MultiReader(DirectoryReader.Open(Dir1), DirectoryReader.Open(Dir1));
                 rd2 = new MultiReader(DirectoryReader.Open(Dir2), DirectoryReader.Open(Dir2));
-                Assert.AreEqual(2, rd1.Context.Children().Count);
-                Assert.AreEqual(2, rd2.Context.Children().Count);
+                Assert.AreEqual(2, rd1.Context.Children.Count);
+                Assert.AreEqual(2, rd2.Context.Children.Count);
             }
             else
             {
                 rd1 = DirectoryReader.Open(Dir1);
                 rd2 = DirectoryReader.Open(Dir2);
-                Assert.AreEqual(3, rd1.Context.Children().Count);
-                Assert.AreEqual(3, rd2.Context.Children().Count);
+                Assert.AreEqual(3, rd1.Context.Children.Count);
+                Assert.AreEqual(3, rd2.Context.Children.Count);
             }
             ParallelCompositeReader pr = new ParallelCompositeReader(rd1, rd2);
             return NewSearcher(pr);

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestParallelReaderEmptyIndex.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestParallelReaderEmptyIndex.cs b/src/Lucene.Net.Tests/core/Index/TestParallelReaderEmptyIndex.cs
index c9d7160..2562f92 100644
--- a/src/Lucene.Net.Tests/core/Index/TestParallelReaderEmptyIndex.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestParallelReaderEmptyIndex.cs
@@ -118,8 +118,8 @@ namespace Lucene.Net.Index
                 writer.DeleteDocuments(new Term("id", "1"));
                 writer.Dispose();
                 IndexReader ir = DirectoryReader.Open(rd1);
-                Assert.AreEqual(2, ir.MaxDoc());
-                Assert.AreEqual(1, ir.NumDocs());
+                Assert.AreEqual(2, ir.MaxDoc);
+                Assert.AreEqual(1, ir.NumDocs);
                 ir.Dispose();
 
                 iw = new IndexWriter(rd1, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())).SetOpenMode(OpenMode_e.APPEND));

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestParallelTermEnum.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestParallelTermEnum.cs b/src/Lucene.Net.Tests/core/Index/TestParallelTermEnum.cs
index bd97439..9c509cd 100644
--- a/src/Lucene.Net.Tests/core/Index/TestParallelTermEnum.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestParallelTermEnum.cs
@@ -103,7 +103,7 @@ namespace Lucene.Net.Index
 
             Bits liveDocs = pr.LiveDocs;
 
-            Fields fields = pr.Fields();
+            Fields fields = pr.Fields;
             IEnumerator<string> fe = fields.GetEnumerator();
 
             fe.MoveNext();

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestPostingsOffsets.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestPostingsOffsets.cs b/src/Lucene.Net.Tests/core/Index/TestPostingsOffsets.cs
index d3c0a0f..26f0ffc 100644
--- a/src/Lucene.Net.Tests/core/Index/TestPostingsOffsets.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestPostingsOffsets.cs
@@ -321,12 +321,12 @@ namespace Lucene.Net.Index
             w.Dispose();
 
             string[] terms = new string[] { "a", "b", "c", "d" };
-            foreach (AtomicReaderContext ctx in r.Leaves())
+            foreach (AtomicReaderContext ctx in r.Leaves)
             {
                 // TODO: improve this
-                AtomicReader sub = (AtomicReader)ctx.Reader();
+                AtomicReader sub = (AtomicReader)ctx.Reader;
                 //System.out.println("\nsub=" + sub);
-                TermsEnum termsEnum = sub.Fields().Terms("content").Iterator(null);
+                TermsEnum termsEnum = sub.Fields.Terms("content").Iterator(null);
                 DocsEnum docs = null;
                 DocsAndPositionsEnum docsAndPositions = null;
                 DocsAndPositionsEnum docsAndPositionsAndOffsets = null;

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestRollback.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestRollback.cs b/src/Lucene.Net.Tests/core/Index/TestRollback.cs
index d591d75..42bd03c 100644
--- a/src/Lucene.Net.Tests/core/Index/TestRollback.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestRollback.cs
@@ -59,7 +59,7 @@ namespace Lucene.Net.Index
             w.Rollback();
 
             IndexReader r = DirectoryReader.Open(dir);
-            Assert.AreEqual(5, r.NumDocs(), "index should contain same number of docs post rollback");
+            Assert.AreEqual(5, r.NumDocs, "index should contain same number of docs post rollback");
             r.Dispose();
             dir.Dispose();
         }

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestRollingUpdates.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestRollingUpdates.cs b/src/Lucene.Net.Tests/core/Index/TestRollingUpdates.cs
index 6908c31..9f980f2 100644
--- a/src/Lucene.Net.Tests/core/Index/TestRollingUpdates.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestRollingUpdates.cs
@@ -149,7 +149,7 @@ namespace Lucene.Net.Index
                     {
                         s = null;
                     }
-                    Assert.IsTrue(!applyDeletions || r.NumDocs() == SIZE, "applyDeletions=" + applyDeletions + " r.NumDocs()=" + r.NumDocs() + " vs SIZE=" + SIZE);
+                    Assert.IsTrue(!applyDeletions || r.NumDocs == SIZE, "applyDeletions=" + applyDeletions + " r.NumDocs=" + r.NumDocs + " vs SIZE=" + SIZE);
                     updateCount = 0;
                 }
             }
@@ -215,7 +215,7 @@ namespace Lucene.Net.Index
             }
 
             IndexReader open = DirectoryReader.Open(dir);
-            Assert.AreEqual(1, open.NumDocs());
+            Assert.AreEqual(1, open.NumDocs);
             open.Dispose();
             docs.Dispose();
             dir.Dispose();
@@ -257,7 +257,7 @@ namespace Lucene.Net.Index
                                 open.Dispose();
                                 open = reader;
                             }
-                            Assert.AreEqual(1, open.NumDocs(), "iter: " + i + " numDocs: " + open.NumDocs() + " del: " + open.NumDeletedDocs() + " max: " + open.MaxDoc());
+                            Assert.AreEqual(1, open.NumDocs, "iter: " + i + " numDocs: " + open.NumDocs + " del: " + open.NumDeletedDocs + " max: " + open.MaxDoc);
                         }
                     }
                     if (open != null)

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestSegmentMerger.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestSegmentMerger.cs b/src/Lucene.Net.Tests/core/Index/TestSegmentMerger.cs
index c4b215b..b044411 100644
--- a/src/Lucene.Net.Tests/core/Index/TestSegmentMerger.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestSegmentMerger.cs
@@ -101,7 +101,7 @@ namespace Lucene.Net.Index
             //Should be able to open a new SegmentReader against the new directory
             SegmentReader mergedReader = new SegmentReader(new SegmentCommitInfo(new SegmentInfo(MergedDir, Constants.LUCENE_MAIN_VERSION, MergedSegment, docsMerged, false, codec, null), 0, -1L, -1L), DirectoryReader.DEFAULT_TERMS_INDEX_DIVISOR, NewIOContext(Random()));
             Assert.IsTrue(mergedReader != null);
-            Assert.IsTrue(mergedReader.NumDocs() == 2);
+            Assert.IsTrue(mergedReader.NumDocs == 2);
             Document newDoc1 = mergedReader.Document(0);
             Assert.IsTrue(newDoc1 != null);
             //There are 2 unstored fields on the document
@@ -148,11 +148,11 @@ namespace Lucene.Net.Index
 
         private static bool Equals(MergeState.DocMap map1, MergeState.DocMap map2)
         {
-            if (map1.MaxDoc() != map2.MaxDoc())
+            if (map1.MaxDoc != map2.MaxDoc)
             {
                 return false;
             }
-            for (int i = 0; i < map1.MaxDoc(); ++i)
+            for (int i = 0; i < map1.MaxDoc; ++i)
             {
                 if (map1.Get(i) != map2.Get(i))
                 {
@@ -184,9 +184,9 @@ namespace Lucene.Net.Index
 
             MergeState.DocMap docMap = MergeState.DocMap.Build(maxDoc, liveDocs);
 
-            Assert.AreEqual(maxDoc, docMap.MaxDoc());
-            Assert.AreEqual(numDocs, docMap.NumDocs());
-            Assert.AreEqual(numDeletedDocs, docMap.NumDeletedDocs());
+            Assert.AreEqual(maxDoc, docMap.MaxDoc);
+            Assert.AreEqual(numDocs, docMap.NumDocs);
+            Assert.AreEqual(numDeletedDocs, docMap.NumDeletedDocs);
             // assert the mapping is compact
             for (int i = 0, del = 0; i < maxDoc; ++i)
             {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestSegmentReader.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestSegmentReader.cs b/src/Lucene.Net.Tests/core/Index/TestSegmentReader.cs
index a28f97e..d90e8cb 100644
--- a/src/Lucene.Net.Tests/core/Index/TestSegmentReader.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestSegmentReader.cs
@@ -67,8 +67,8 @@ namespace Lucene.Net.Index
         [Test]
         public virtual void TestDocument()
         {
-            Assert.IsTrue(Reader.NumDocs() == 1);
-            Assert.IsTrue(Reader.MaxDoc() >= 1);
+            Assert.IsTrue(Reader.NumDocs == 1);
+            Assert.IsTrue(Reader.MaxDoc >= 1);
             Document result = Reader.Document(0);
             Assert.IsTrue(result != null);
             //There are 2 unstored fields on the document that are not preserved across writing
@@ -220,13 +220,13 @@ namespace Lucene.Net.Index
 
             Fields results = Reader.GetTermVectors(0);
             Assert.IsTrue(results != null);
-            Assert.AreEqual(3, results.Size(), "We do not have 3 term freq vectors");
+            Assert.AreEqual(3, results.Size, "We do not have 3 term freq vectors");
         }
 
         [Test]
         public virtual void TestOutOfBoundsAccess()
         {
-            int numDocs = Reader.MaxDoc();
+            int numDocs = Reader.MaxDoc;
             try
             {
                 Reader.Document(-1);

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestSegmentTermDocs.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestSegmentTermDocs.cs b/src/Lucene.Net.Tests/core/Index/TestSegmentTermDocs.cs
index 161e6ae..301c64f 100644
--- a/src/Lucene.Net.Tests/core/Index/TestSegmentTermDocs.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestSegmentTermDocs.cs
@@ -72,7 +72,7 @@ namespace Lucene.Net.Index
             Assert.IsTrue(reader != null);
             Assert.AreEqual(indexDivisor, reader.TermInfosIndexDivisor);
 
-            TermsEnum terms = reader.Fields().Terms(DocHelper.TEXT_FIELD_2_KEY).Iterator(null);
+            TermsEnum terms = reader.Fields.Terms(DocHelper.TEXT_FIELD_2_KEY).Iterator(null);
             terms.SeekCeil(new BytesRef("field"));
             DocsEnum termDocs = TestUtil.Docs(Random(), terms, reader.LiveDocs, null, DocsEnum.FLAG_FREQS);
             if (termDocs.NextDoc() != DocIdSetIterator.NO_MORE_DOCS)

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestSegmentTermEnum.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestSegmentTermEnum.cs b/src/Lucene.Net.Tests/core/Index/TestSegmentTermEnum.cs
index 529d9f2..a4a7d19 100644
--- a/src/Lucene.Net.Tests/core/Index/TestSegmentTermEnum.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestSegmentTermEnum.cs
@@ -87,7 +87,7 @@ namespace Lucene.Net.Index
             AddDoc(writer, "aaa bbb");
             writer.Dispose();
             SegmentReader reader = GetOnlySegmentReader(DirectoryReader.Open(Dir));
-            TermsEnum terms = reader.Fields().Terms("content").Iterator(null);
+            TermsEnum terms = reader.Fields.Terms("content").Iterator(null);
             Assert.IsNotNull(terms.Next());
             Assert.AreEqual("aaa", terms.Term().Utf8ToString());
             Assert.IsNotNull(terms.Next());

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestSnapshotDeletionPolicy.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestSnapshotDeletionPolicy.cs b/src/Lucene.Net.Tests/core/Index/TestSnapshotDeletionPolicy.cs
index eddd3bb..eb6d125 100644
--- a/src/Lucene.Net.Tests/core/Index/TestSnapshotDeletionPolicy.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestSnapshotDeletionPolicy.cs
@@ -64,7 +64,7 @@ namespace Lucene.Net.Index
             IndexReader reader = DirectoryReader.Open(commit);
             try
             {
-                Assert.AreEqual(expectedMaxDoc, reader.MaxDoc());
+                Assert.AreEqual(expectedMaxDoc, reader.MaxDoc);
             }
             finally
             {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestStressAdvance.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestStressAdvance.cs b/src/Lucene.Net.Tests/core/Index/TestStressAdvance.cs
index 66e43a0..9f88a40 100644
--- a/src/Lucene.Net.Tests/core/Index/TestStressAdvance.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestStressAdvance.cs
@@ -78,7 +78,7 @@ namespace Lucene.Net.Index
                 IList<int> bDocIDs = new List<int>();
 
                 DirectoryReader r = w.Reader;
-                int[] idToDocID = new int[r.MaxDoc()];
+                int[] idToDocID = new int[r.MaxDoc];
                 for (int docID = 0; docID < idToDocID.Length; docID++)
                 {
                     int id = Convert.ToInt32(r.Document(docID).Get("id"));
@@ -91,7 +91,7 @@ namespace Lucene.Net.Index
                         bDocIDs.Add(docID);
                     }
                 }
-                TermsEnum te = GetOnlySegmentReader(r).Fields().Terms("field").Iterator(null);
+                TermsEnum te = GetOnlySegmentReader(r).Fields.Terms("field").Iterator(null);
 
                 DocsEnum de = null;
                 for (int iter2 = 0; iter2 < 10; iter2++)


[5/7] .NETification

Posted by sy...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Index/ParallelCompositeReader.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Index/ParallelCompositeReader.cs b/src/Lucene.Net.Core/Index/ParallelCompositeReader.cs
index c52292a..2db3861 100644
--- a/src/Lucene.Net.Core/Index/ParallelCompositeReader.cs
+++ b/src/Lucene.Net.Core/Index/ParallelCompositeReader.cs
@@ -107,13 +107,13 @@ namespace Lucene.Net.Index
                 IList<IndexReader> firstSubReaders = readers[0].GetSequentialSubReaders();
 
                 // check compatibility:
-                int maxDoc = readers[0].MaxDoc(), noSubs = firstSubReaders.Count;
+                int maxDoc = readers[0].MaxDoc, noSubs = firstSubReaders.Count;
                 int[] childMaxDoc = new int[noSubs];
                 bool[] childAtomic = new bool[noSubs];
                 for (int i = 0; i < noSubs; i++)
                 {
                     IndexReader r = firstSubReaders[i];
-                    childMaxDoc[i] = r.MaxDoc();
+                    childMaxDoc[i] = r.MaxDoc;
                     childAtomic[i] = r is AtomicReader;
                 }
                 Validate(readers, maxDoc, childMaxDoc, childAtomic);
@@ -191,9 +191,9 @@ namespace Lucene.Net.Index
             {
                 CompositeReader reader = readers[i];
                 IList<IndexReader> subs = reader.GetSequentialSubReaders();
-                if (reader.MaxDoc() != maxDoc)
+                if (reader.MaxDoc != maxDoc)
                 {
-                    throw new System.ArgumentException("All readers must have same maxDoc: " + maxDoc + "!=" + reader.MaxDoc());
+                    throw new System.ArgumentException("All readers must have same maxDoc: " + maxDoc + "!=" + reader.MaxDoc);
                 }
                 int noSubs = subs.Count;
                 if (noSubs != childMaxDoc.Length)
@@ -203,7 +203,7 @@ namespace Lucene.Net.Index
                 for (int subIDX = 0; subIDX < noSubs; subIDX++)
                 {
                     IndexReader r = subs[subIDX];
-                    if (r.MaxDoc() != childMaxDoc[subIDX])
+                    if (r.MaxDoc != childMaxDoc[subIDX])
                     {
                         throw new System.ArgumentException("All readers must have same corresponding subReader maxDoc");
                     }

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Index/ReadersAndUpdates.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Index/ReadersAndUpdates.cs b/src/Lucene.Net.Core/Index/ReadersAndUpdates.cs
index d1026af..a779eab 100644
--- a/src/Lucene.Net.Core/Index/ReadersAndUpdates.cs
+++ b/src/Lucene.Net.Core/Index/ReadersAndUpdates.cs
@@ -671,7 +671,7 @@ namespace Lucene.Net.Index
 
         private IEnumerable<long> GetLongEnumerable(SegmentReader reader, string field, NumericDocValuesFieldUpdates fieldUpdates)
         {
-            int maxDoc = reader.MaxDoc();
+            int maxDoc = reader.MaxDoc;
             Bits DocsWithField = reader.GetDocsWithField(field);
             NumericDocValues currentValues = reader.GetNumericDocValues(field);
             NumericDocValuesFieldUpdates.Iterator iter = (NumericDocValuesFieldUpdates.Iterator)fieldUpdates.GetIterator();
@@ -704,8 +704,8 @@ namespace Lucene.Net.Index
         {
             BinaryDocValues currentValues = reader.GetBinaryDocValues(field);
             Bits DocsWithField = reader.GetDocsWithField(field);
-            int maxDoc = reader.MaxDoc();
-            BinaryDocValuesFieldUpdates.Iterator iter = (BinaryDocValuesFieldUpdates.Iterator)fieldUpdates.GetIterator();
+            int maxDoc = reader.MaxDoc;
+            var iter = (BinaryDocValuesFieldUpdates.Iterator)fieldUpdates.GetIterator();
             BytesRef scratch = new BytesRef();
             int updateDoc = iter.NextDoc();
 
@@ -750,7 +750,7 @@ namespace Lucene.Net.Index
 			  this.FieldUpdates = fieldUpdates;
 			  currentValues = reader.GetNumericDocValues(field);
 			  docsWithField = reader.GetDocsWithField(field);
-			  maxDoc = reader.MaxDoc();
+			  maxDoc = reader.MaxDoc;
 			  updatesIter = fieldUpdates.Iterator();
 		  }
 
@@ -834,7 +834,7 @@ namespace Lucene.Net.Index
 			  this.DvFieldUpdates = dvFieldUpdates;
 			  currentValues = reader.GetBinaryDocValues(field);
 			  docsWithField = reader.GetDocsWithField(field);
-			  maxDoc = reader.MaxDoc();
+			  maxDoc = reader.MaxDoc;
 			  updatesIter = dvFieldUpdates.Iterator();
 		  }
 

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Index/SegmentMerger.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Index/SegmentMerger.cs b/src/Lucene.Net.Core/Index/SegmentMerger.cs
index f8893bf..bb7e444 100644
--- a/src/Lucene.Net.Core/Index/SegmentMerger.cs
+++ b/src/Lucene.Net.Core/Index/SegmentMerger.cs
@@ -197,7 +197,7 @@ namespace Lucene.Net.Index
                                 if (values == null)
                                 {
                                     values = DocValues.EMPTY_NUMERIC;
-                                    bits = new Lucene.Net.Util.Bits_MatchNoBits(reader.MaxDoc());
+                                    bits = new Lucene.Net.Util.Bits_MatchNoBits(reader.MaxDoc);
                                 }
                                 toMerge.Add(values);
                                 //docsWithField.Add(bits);
@@ -215,7 +215,7 @@ namespace Lucene.Net.Index
                                 if (values == null)
                                 {
                                     values = DocValues.EMPTY_BINARY;
-                                    bits = new Lucene.Net.Util.Bits_MatchNoBits(reader.MaxDoc());
+                                    bits = new Lucene.Net.Util.Bits_MatchNoBits(reader.MaxDoc);
                                 }
                                 toMerge.Add(values);
                                 //docsWithField.Add(bits);
@@ -291,7 +291,7 @@ namespace Lucene.Net.Index
                                 norms = DocValues.EMPTY_NUMERIC;
                             }
                             toMerge.Add(norms);
-                            //docsWithField.Add(new Lucene.Net.Util.Bits_MatchAllBits(reader.MaxDoc()));
+                            //docsWithField.Add(new Lucene.Net.Util.Bits_MatchAllBits(reader.MaxDoc));
                         }
                         consumer.MergeNumericField(field, MergeState, toMerge/*, docsWithField*/);
                     }
@@ -430,7 +430,7 @@ namespace Lucene.Net.Index
                 MergeState.DocBase[i] = docBase;
                 MergeState.DocMap docMap = MergeState.DocMap.Build(reader);
                 MergeState.DocMaps[i] = docMap;
-                docBase += docMap.NumDocs();
+                docBase += docMap.NumDocs;
 
                 i++;
             }
@@ -448,8 +448,8 @@ namespace Lucene.Net.Index
             for (int readerIndex = 0; readerIndex < MergeState.Readers.Count; readerIndex++)
             {
                 AtomicReader reader = MergeState.Readers[readerIndex];
-                Fields f = reader.Fields();
-                int maxDoc = reader.MaxDoc();
+                Fields f = reader.Fields;
+                int maxDoc = reader.MaxDoc;
                 if (f != null)
                 {
                     slices.Add(new ReaderSlice(docBase, maxDoc, readerIndex));

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Index/SegmentReader.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Index/SegmentReader.cs b/src/Lucene.Net.Core/Index/SegmentReader.cs
index bf9aef7..7b417b4 100644
--- a/src/Lucene.Net.Core/Index/SegmentReader.cs
+++ b/src/Lucene.Net.Core/Index/SegmentReader.cs
@@ -53,7 +53,7 @@ namespace Lucene.Net.Index
         // Normally set to si.docCount - si.delDocCount, unless we
         // were created as an NRT reader from IW, in which case IW
         // tells us the docCount:
-        private readonly int NumDocs_Renamed;
+        private readonly int numDocs;
 
         internal readonly SegmentCoreReaders Core;
         internal readonly SegmentDocValues SegDocValues;
@@ -125,7 +125,7 @@ namespace Lucene.Net.Index
                     Debug.Assert(si.DelCount == 0);
                     LiveDocs_Renamed = null;
                 }
-                NumDocs_Renamed = si.Info.DocCount - si.DelCount;
+                numDocs = si.Info.DocCount - si.DelCount;
 
                 if (FieldInfos_Renamed.HasDocValues())
                 {
@@ -168,7 +168,7 @@ namespace Lucene.Net.Index
         {
             this.Si = si;
             this.LiveDocs_Renamed = liveDocs;
-            this.NumDocs_Renamed = numDocs;
+            this.numDocs = numDocs;
             this.Core = sr.Core;
             Core.IncRef();
             this.SegDocValues = sr.SegDocValues;
@@ -351,22 +351,31 @@ namespace Lucene.Net.Index
             FieldsReader.VisitDocument(docID, visitor);
         }
 
-        public override Fields Fields()
+        public override Fields Fields
         {
-            EnsureOpen();
-            return Core.Fields;
+            get
+            {
+                EnsureOpen();
+                return Core.Fields;
+            }
         }
 
-        public override int NumDocs()
+        public override int NumDocs
         {
-            // Don't call ensureOpen() here (it could affect performance)
-            return NumDocs_Renamed;
+            get
+            {
+                // Don't call ensureOpen() here (it could affect performance)
+                return numDocs;
+            }
         }
 
-        public override int MaxDoc()
+        public override int MaxDoc
         {
-            // Don't call ensureOpen() here (it could affect performance)
-            return Si.Info.DocCount;
+            get
+            {
+                // Don't call ensureOpen() here (it could affect performance)
+                return Si.Info.DocCount;
+            }
         }
 
         /// <summary>
@@ -396,9 +405,9 @@ namespace Lucene.Net.Index
 
         private void CheckBounds(int docID)
         {
-            if (docID < 0 || docID >= MaxDoc())
+            if (docID < 0 || docID >= MaxDoc)
             {
-                throw new System.IndexOutOfRangeException("docID must be >= 0 and < maxDoc=" + MaxDoc() + " (got docID=" + docID + ")");
+                throw new System.IndexOutOfRangeException("docID must be >= 0 and < maxDoc=" + MaxDoc + " (got docID=" + docID + ")");
             }
         }
 
@@ -406,7 +415,7 @@ namespace Lucene.Net.Index
         {
             // SegmentInfo.toString takes dir and number of
             // *pending* deletions; so we reverse compute that here:
-            return Si.ToString(Si.Info.Dir, Si.Info.DocCount - NumDocs_Renamed - Si.DelCount);
+            return Si.ToString(Si.Info.Dir, Si.Info.DocCount - numDocs - Si.DelCount);
         }
 
         /// <summary>

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Index/SlowCompositeReaderWrapper.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Index/SlowCompositeReaderWrapper.cs b/src/Lucene.Net.Core/Index/SlowCompositeReaderWrapper.cs
index 9a6920f..cab9e74 100644
--- a/src/Lucene.Net.Core/Index/SlowCompositeReaderWrapper.cs
+++ b/src/Lucene.Net.Core/Index/SlowCompositeReaderWrapper.cs
@@ -81,10 +81,13 @@ namespace Lucene.Net.Index
             return "SlowCompositeReaderWrapper(" + @in + ")";
         }
 
-        public override Fields Fields()
+        public override Fields Fields
         {
-            EnsureOpen();
-            return fields;
+            get
+            {
+                EnsureOpen();
+                return fields;
+            }
         }
 
         public override NumericDocValues GetNumericDocValues(string field)
@@ -132,17 +135,17 @@ namespace Lucene.Net.Index
             {
                 return null;
             }
-            int size = @in.Leaves().Count;
+            int size = @in.Leaves.Count;
             SortedDocValues[] values = new SortedDocValues[size];
             int[] starts = new int[size + 1];
             for (int i = 0; i < size; i++)
             {
-                AtomicReaderContext context = @in.Leaves()[i];
+                AtomicReaderContext context = @in.Leaves[i];
                 SortedDocValues v = context.AtomicReader.GetSortedDocValues(field) ?? DocValues.EMPTY_SORTED;
                 values[i] = v;
                 starts[i] = context.DocBase;
             }
-            starts[size] = MaxDoc();
+            starts[size] = MaxDoc;
             return new MultiSortedDocValues(values, starts, map);
         }
 
@@ -174,17 +177,17 @@ namespace Lucene.Net.Index
                 return null;
             }
             Debug.Assert(map != null);
-            int size = @in.Leaves().Count;
-            SortedSetDocValues[] values = new SortedSetDocValues[size];
+            int size = @in.Leaves.Count;
+            var values = new SortedSetDocValues[size];
             int[] starts = new int[size + 1];
             for (int i = 0; i < size; i++)
             {
-                AtomicReaderContext context = @in.Leaves()[i];
+                AtomicReaderContext context = @in.Leaves[i];
                 SortedSetDocValues v = context.AtomicReader.GetSortedSetDocValues(field) ?? DocValues.EMPTY_SORTED_SET;
                 values[i] = v;
                 starts[i] = context.DocBase;
             }
-            starts[size] = MaxDoc();
+            starts[size] = MaxDoc;
             return new MultiSortedSetDocValues(values, starts, map);
         }
 
@@ -204,16 +207,22 @@ namespace Lucene.Net.Index
             return @in.GetTermVectors(docID);
         }
 
-        public override int NumDocs()
+        public override int NumDocs
         {
-            // Don't call ensureOpen() here (it could affect performance)
-            return @in.NumDocs();
+            get
+            {
+                // Don't call ensureOpen() here (it could affect performance)
+                return @in.NumDocs;
+            }
         }
 
-        public override int MaxDoc()
+        public override int MaxDoc
         {
-            // Don't call ensureOpen() here (it could affect performance)
-            return @in.MaxDoc();
+            get
+            {
+                // Don't call ensureOpen() here (it could affect performance)
+                return @in.MaxDoc;
+            }
         }
 
         public override void Document(int docID, StoredFieldVisitor visitor)
@@ -265,7 +274,7 @@ namespace Lucene.Net.Index
         public override void CheckIntegrity()
         {
             EnsureOpen();
-            foreach (AtomicReaderContext ctx in @in.Leaves())
+            foreach (AtomicReaderContext ctx in @in.Leaves)
             {
                 ctx.AtomicReader.CheckIntegrity();
             }

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Index/StandardDirectoryReader.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Index/StandardDirectoryReader.cs b/src/Lucene.Net.Core/Index/StandardDirectoryReader.cs
index 586a8cd..c256d7b 100644
--- a/src/Lucene.Net.Core/Index/StandardDirectoryReader.cs
+++ b/src/Lucene.Net.Core/Index/StandardDirectoryReader.cs
@@ -124,7 +124,7 @@ namespace Lucene.Net.Index
                     try
                     {
                         SegmentReader reader = rld.GetReadOnlyClone(IOContext.READ);
-                        if (reader.NumDocs() > 0 || writer.KeepFullyDeletedSegments)
+                        if (reader.NumDocs > 0 || writer.KeepFullyDeletedSegments)
                         {
                             // Steal the ref:
                             readers.Add(reader);
@@ -240,7 +240,7 @@ namespace Lucene.Net.Index
                             if (newReaders[i].SegmentInfo.DelGen == infos.Info(i).DelGen)
                             {
                                 // only DV updates
-                                newReaders[i] = new SegmentReader(infos.Info(i), newReaders[i], newReaders[i].LiveDocs, newReaders[i].NumDocs());
+                                newReaders[i] = new SegmentReader(infos.Info(i), newReaders[i], newReaders[i].LiveDocs, newReaders[i].NumDocs);
                             }
                             else
                             {
@@ -592,7 +592,7 @@ namespace Lucene.Net.Index
 
             public override void Delete()
             {
-                throw new System.NotSupportedException("this IndexCommit does not support deletions");
+                throw new NotSupportedException("this IndexCommit does not support deletions");
             }
         }
     }

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Index/TermContext.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Index/TermContext.cs b/src/Lucene.Net.Core/Index/TermContext.cs
index 7ce0ba3..bb4b275 100644
--- a/src/Lucene.Net.Core/Index/TermContext.cs
+++ b/src/Lucene.Net.Core/Index/TermContext.cs
@@ -58,13 +58,13 @@ namespace Lucene.Net.Index
             TopReaderContext = context;
             docFreq = 0;
             int len;
-            if (context.Leaves() == null)
+            if (context.Leaves == null)
             {
                 len = 1;
             }
             else
             {
-                len = context.Leaves().Count;
+                len = context.Leaves.Count;
             }
             States = new TermState[len];
         }
@@ -94,10 +94,10 @@ namespace Lucene.Net.Index
             BytesRef bytes = term.Bytes();
             TermContext perReaderTermState = new TermContext(context);
             //if (DEBUG) System.out.println("prts.build term=" + term);
-            foreach (AtomicReaderContext ctx in context.Leaves())
+            foreach (AtomicReaderContext ctx in context.Leaves)
             {
                 //if (DEBUG) System.out.println("  r=" + leaves[i].reader);
-                Fields fields = ctx.AtomicReader.Fields();
+                Fields fields = ctx.AtomicReader.Fields;
                 if (fields != null)
                 {
                     Terms terms = fields.Terms(field);

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Search/BooleanQuery.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Search/BooleanQuery.cs b/src/Lucene.Net.Core/Search/BooleanQuery.cs
index d3e2aa7..155d56f 100644
--- a/src/Lucene.Net.Core/Search/BooleanQuery.cs
+++ b/src/Lucene.Net.Core/Search/BooleanQuery.cs
@@ -310,7 +310,7 @@ namespace Lucene.Net.Search
                     Weight w = wIter.Current;
                     cIter.MoveNext();
                     BooleanClause c = cIter.Current;
-                    if (w.Scorer(context, ((AtomicReader)context.Reader()).LiveDocs) == null)
+                    if (w.Scorer(context, context.AtomicReader.LiveDocs) == null)
                     {
                         if (c.Required)
                         {
@@ -481,7 +481,7 @@ namespace Lucene.Net.Search
                 // simple disjunction
                 if (required.Count == 0 && prohibited.Count == 0 && OuterInstance.MinNrShouldMatch <= 1 && optional.Count > 1)
                 {
-                    float[] coord = new float[optional.Count + 1];
+                    var coord = new float[optional.Count + 1];
                     for (int i = 0; i < coord.Length; i++)
                     {
                         coord[i] = DisableCoord ? 1.0f : Coord(i, maxCoord);

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Search/CachingWrapperFilter.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Search/CachingWrapperFilter.cs b/src/Lucene.Net.Core/Search/CachingWrapperFilter.cs
index 14bf937..2f2acca 100644
--- a/src/Lucene.Net.Core/Search/CachingWrapperFilter.cs
+++ b/src/Lucene.Net.Core/Search/CachingWrapperFilter.cs
@@ -101,7 +101,7 @@ namespace Lucene.Net.Search
         /// </summary>
         protected internal virtual DocIdSet CacheImpl(DocIdSetIterator iterator, AtomicReader reader)
         {
-            WAH8DocIdSet.Builder builder = new WAH8DocIdSet.Builder();
+            var builder = new WAH8DocIdSet.Builder();
             builder.Add(iterator);
             return builder.Build();
         }
@@ -111,7 +111,7 @@ namespace Lucene.Net.Search
 
         public override DocIdSet GetDocIdSet(AtomicReaderContext context, Bits acceptDocs)
         {
-            AtomicReader reader = (AtomicReader)context.Reader();
+            var reader = context.AtomicReader;
             object key = reader.CoreCacheKey;
 
             DocIdSet docIdSet = Cache[key];
@@ -137,11 +137,11 @@ namespace Lucene.Net.Search
 
         public override bool Equals(object o)
         {
-            if (o == null || !this.GetType().Equals(o.GetType()))
+            var other = o as CachingWrapperFilter;
+            if (other == null)
             {
                 return false;
             }
-            CachingWrapperFilter other = (CachingWrapperFilter)o;
             return this.Filter_Renamed.Equals(other.Filter_Renamed);
         }
 

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Search/CollectionStatistics.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Search/CollectionStatistics.cs b/src/Lucene.Net.Core/Search/CollectionStatistics.cs
index 5c7218b..51d421c 100644
--- a/src/Lucene.Net.Core/Search/CollectionStatistics.cs
+++ b/src/Lucene.Net.Core/Search/CollectionStatistics.cs
@@ -58,9 +58,9 @@ namespace Lucene.Net.Search
         /// returns the total number of documents, regardless of
         /// whether they all contain values for this field. </summary>
         /// <seealso cref= IndexReader#maxDoc()  </seealso>
-        public long MaxDoc()
+        public long MaxDoc
         {
-            return MaxDoc_Renamed;
+            get { return MaxDoc_Renamed; }
         }
 
         /// <summary>

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Search/ConstantScoreAutoRewrite.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Search/ConstantScoreAutoRewrite.cs b/src/Lucene.Net.Core/Search/ConstantScoreAutoRewrite.cs
index 360698f..4693447 100644
--- a/src/Lucene.Net.Core/Search/ConstantScoreAutoRewrite.cs
+++ b/src/Lucene.Net.Core/Search/ConstantScoreAutoRewrite.cs
@@ -100,7 +100,7 @@ namespace Lucene.Net.Search
             // exhaust the enum before hitting either of the
             // cutoffs, we use ConstantBooleanQueryRewrite; else,
             // ConstantFilterRewrite:
-            int docCountCutoff = (int)((DocCountPercent_Renamed / 100.0) * reader.MaxDoc());
+            int docCountCutoff = (int)((DocCountPercent_Renamed / 100.0) * reader.MaxDoc);
             int termCountLimit = Math.Min(BooleanQuery.MaxClauseCount, TermCountCutoff_Renamed);
 
             CutOffTermCollector col = new CutOffTermCollector(docCountCutoff, termCountLimit);

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Search/ConstantScoreQuery.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Search/ConstantScoreQuery.cs b/src/Lucene.Net.Core/Search/ConstantScoreQuery.cs
index a2c226e..13dc876 100644
--- a/src/Lucene.Net.Core/Search/ConstantScoreQuery.cs
+++ b/src/Lucene.Net.Core/Search/ConstantScoreQuery.cs
@@ -231,7 +231,7 @@ namespace Lucene.Net.Search
 
             public override Explanation Explain(AtomicReaderContext context, int doc)
             {
-                Scorer cs = Scorer(context, ((AtomicReader)context.Reader()).LiveDocs);
+                Scorer cs = Scorer(context, (context.AtomicReader).LiveDocs);
                 bool exists = (cs != null && cs.Advance(doc) == doc);
 
                 ComplexExplanation result = new ComplexExplanation();

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Search/DocTermOrdsRangeFilter.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Search/DocTermOrdsRangeFilter.cs b/src/Lucene.Net.Core/Search/DocTermOrdsRangeFilter.cs
index 4b0e073..8da560c 100644
--- a/src/Lucene.Net.Core/Search/DocTermOrdsRangeFilter.cs
+++ b/src/Lucene.Net.Core/Search/DocTermOrdsRangeFilter.cs
@@ -87,7 +87,7 @@ namespace Lucene.Net.Search
 
             public override DocIdSet GetDocIdSet(AtomicReaderContext context, Bits acceptDocs)
             {
-                SortedSetDocValues docTermOrds = FieldCache_Fields.DEFAULT.GetDocTermOrds(((AtomicReader)context.Reader()), Field);
+                SortedSetDocValues docTermOrds = FieldCache_Fields.DEFAULT.GetDocTermOrds(context.AtomicReader, Field);
                 long lowerPoint = LowerVal == null ? -1 : docTermOrds.LookupTerm(LowerVal);
                 long upperPoint = UpperVal == null ? -1 : docTermOrds.LookupTerm(UpperVal);
 
@@ -138,16 +138,16 @@ namespace Lucene.Net.Search
 
                 Debug.Assert(inclusiveLowerPoint >= 0 && inclusiveUpperPoint >= 0);
 
-                return new FieldCacheDocIdSetAnonymousInnerClassHelper(this, context.Reader().MaxDoc(), acceptDocs, docTermOrds, inclusiveLowerPoint, inclusiveUpperPoint);
+                return new FieldCacheDocIdSetAnonymousInnerClassHelper(this, context.AtomicReader.MaxDoc, acceptDocs, docTermOrds, inclusiveLowerPoint, inclusiveUpperPoint);
             }
 
             private class FieldCacheDocIdSetAnonymousInnerClassHelper : FieldCacheDocIdSet
             {
                 private readonly DocTermOrdsRangeFilterAnonymousInnerClassHelper OuterInstance;
 
-                private SortedSetDocValues DocTermOrds;
-                private long InclusiveLowerPoint;
-                private long InclusiveUpperPoint;
+                private readonly SortedSetDocValues DocTermOrds;
+                private readonly long InclusiveLowerPoint;
+                private readonly long InclusiveUpperPoint;
 
                 public FieldCacheDocIdSetAnonymousInnerClassHelper(DocTermOrdsRangeFilterAnonymousInnerClassHelper outerInstance, int maxDoc, Bits acceptDocs, SortedSetDocValues docTermOrds, long inclusiveLowerPoint, long inclusiveUpperPoint)
                     : base(maxDoc, acceptDocs)

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Search/DocTermOrdsRewriteMethod.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Search/DocTermOrdsRewriteMethod.cs b/src/Lucene.Net.Core/Search/DocTermOrdsRewriteMethod.cs
index cc8d0c4..28fae0f 100644
--- a/src/Lucene.Net.Core/Search/DocTermOrdsRewriteMethod.cs
+++ b/src/Lucene.Net.Core/Search/DocTermOrdsRewriteMethod.cs
@@ -102,7 +102,7 @@ namespace Lucene.Net.Search
             /// </summary>
             public override DocIdSet GetDocIdSet(AtomicReaderContext context, Bits acceptDocs)
             {
-                SortedSetDocValues docTermOrds = FieldCache_Fields.DEFAULT.GetDocTermOrds(((AtomicReader)context.Reader()), Query.field);
+                SortedSetDocValues docTermOrds = FieldCache_Fields.DEFAULT.GetDocTermOrds((context.AtomicReader), Query.field);
                 // Cannot use FixedBitSet because we require long index (ord):
                 LongBitSet termSet = new LongBitSet(docTermOrds.ValueCount);
                 TermsEnum termsEnum = Query.GetTermsEnum(new TermsAnonymousInnerClassHelper(this, docTermOrds));
@@ -121,7 +121,7 @@ namespace Lucene.Net.Search
                     return null;
                 }
 
-                return new FieldCacheDocIdSetAnonymousInnerClassHelper(this, context.Reader().MaxDoc(), acceptDocs, docTermOrds, termSet);
+                return new FieldCacheDocIdSetAnonymousInnerClassHelper(this, context.Reader.MaxDoc, acceptDocs, docTermOrds, termSet);
             }
 
             private class TermsAnonymousInnerClassHelper : Terms

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Search/FieldCacheImpl.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Search/FieldCacheImpl.cs b/src/Lucene.Net.Core/Search/FieldCacheImpl.cs
index 668ab40..c191344 100644
--- a/src/Lucene.Net.Core/Search/FieldCacheImpl.cs
+++ b/src/Lucene.Net.Core/Search/FieldCacheImpl.cs
@@ -384,7 +384,7 @@ namespace Lucene.Net.Search
 
             public virtual void DoUninvert(AtomicReader reader, string field, bool setDocsWithField)
             {
-                int maxDoc = reader.MaxDoc();
+                int maxDoc = reader.MaxDoc;
                 Terms terms = reader.Terms(field);
                 if (terms != null)
                 {
@@ -445,7 +445,7 @@ namespace Lucene.Net.Search
         // null Bits means no docs matched
         internal virtual void SetDocsWithField(AtomicReader reader, string field, Bits docsWithField)
         {
-            int maxDoc = reader.MaxDoc();
+            int maxDoc = reader.MaxDoc;
             Bits bits;
             if (docsWithField == null)
             {
@@ -548,7 +548,7 @@ namespace Lucene.Net.Search
 
             protected internal override object CreateValue(AtomicReader reader, CacheKey key, bool setDocsWithField)
             {
-                int maxDoc = reader.MaxDoc();
+                int maxDoc = reader.MaxDoc;
                 sbyte[] values;
                 FieldCache_Fields.IByteParser parser = (FieldCache_Fields.IByteParser)key.Custom;
                 if (parser == null)
@@ -683,7 +683,7 @@ namespace Lucene.Net.Search
 
             protected internal override object CreateValue(AtomicReader reader, CacheKey key, bool setDocsWithField)
             {
-                int maxDoc = reader.MaxDoc();
+                int maxDoc = reader.MaxDoc;
                 short[] values;
                 FieldCache_Fields.IShortParser parser = (FieldCache_Fields.IShortParser)key.Custom;
                 if (parser == null)
@@ -877,7 +877,7 @@ namespace Lucene.Net.Search
                 GrowableWriterAndMinValue values = valuesRef.Get();
                 if (values == null)
                 {
-                    return new IntsFromArray(new PackedInts.NullReader(reader.MaxDoc()), 0);
+                    return new IntsFromArray(new PackedInts.NullReader(reader.MaxDoc), 0);
                 }
                 return new IntsFromArray(values.Writer.Mutable, (int)values.MinValue);
             }
@@ -923,7 +923,7 @@ namespace Lucene.Net.Search
                             minValue = 0;
                             startBitsPerValue = PackedInts.BitsRequired(currentValue);
                         }
-                        values = new GrowableWriter(startBitsPerValue, Reader.MaxDoc(), PackedInts.FAST);
+                        values = new GrowableWriter(startBitsPerValue, Reader.MaxDoc, PackedInts.FAST);
                         if (minValue != 0)
                         {
                             values.Fill(0, values.Size(), (-minValue) & 0xFFFFFFFFL); // default value must be 0
@@ -950,7 +950,7 @@ namespace Lucene.Net.Search
             if (fieldInfo == null)
             {
                 // field does not exist or has no value
-                return new Lucene.Net.Util.Bits_MatchNoBits(reader.MaxDoc());
+                return new Lucene.Net.Util.Bits_MatchNoBits(reader.MaxDoc);
             }
             else if (fieldInfo.HasDocValues())
             {
@@ -958,7 +958,7 @@ namespace Lucene.Net.Search
             }
             else if (!fieldInfo.Indexed)
             {
-                return new Lucene.Net.Util.Bits_MatchNoBits(reader.MaxDoc());
+                return new Lucene.Net.Util.Bits_MatchNoBits(reader.MaxDoc);
             }
             return (Bits)Caches[typeof(DocsWithFieldCache)].Get(reader, new CacheKey(field, null), false);
         }
@@ -973,7 +973,7 @@ namespace Lucene.Net.Search
             protected internal override object CreateValue(AtomicReader reader, CacheKey key, bool setDocsWithField) // ignored
             {
                 string field = key.Field;
-                int maxDoc = reader.MaxDoc();
+                int maxDoc = reader.MaxDoc;
 
                 // Visit all docs that have terms for this field
                 FixedBitSet res = null;
@@ -1137,7 +1137,7 @@ namespace Lucene.Net.Search
                 float[] values = valuesRef.Get();
                 if (values == null)
                 {
-                    values = new float[reader.MaxDoc()];
+                    values = new float[reader.MaxDoc];
                 }
                 return new FloatsFromArray(values);
             }
@@ -1170,7 +1170,7 @@ namespace Lucene.Net.Search
                         // (which will hit a System.FormatException
                         // when we first try the DEFAULT_INT_PARSER),
                         // we don't double-alloc:
-                        values = new float[Reader.MaxDoc()];
+                        values = new float[Reader.MaxDoc];
                         ValuesRef.Set(values);
                     }
                 }
@@ -1295,7 +1295,7 @@ namespace Lucene.Net.Search
                 GrowableWriterAndMinValue values = valuesRef.Get();
                 if (values == null)
                 {
-                    return new LongsFromArray(new PackedInts.NullReader(reader.MaxDoc()), 0L);
+                    return new LongsFromArray(new PackedInts.NullReader(reader.MaxDoc), 0L);
                 }
                 return new LongsFromArray(values.Writer.Mutable, values.MinValue);
             }
@@ -1341,7 +1341,7 @@ namespace Lucene.Net.Search
                             minValue = 0;
                             startBitsPerValue = PackedInts.BitsRequired(currentValue);
                         }
-                        values = new GrowableWriter(startBitsPerValue, Reader.MaxDoc(), PackedInts.FAST);
+                        values = new GrowableWriter(startBitsPerValue, Reader.MaxDoc, PackedInts.FAST);
                         if (minValue != 0)
                         {
                             values.Fill(0, values.Size(), -minValue); // default value must be 0
@@ -1468,7 +1468,7 @@ namespace Lucene.Net.Search
                 double[] values = valuesRef.Get();
                 if (values == null)
                 {
-                    values = new double[reader.MaxDoc()];
+                    values = new double[reader.MaxDoc];
                 }
                 return new DoublesFromArray(values);
             }
@@ -1501,7 +1501,7 @@ namespace Lucene.Net.Search
                         // (which will hit a System.FormatException
                         // when we first try the DEFAULT_INT_PARSER),
                         // we don't double-alloc:
-                        values = new double[Reader.MaxDoc()];
+                        values = new double[Reader.MaxDoc];
                         ValuesRef.Set(values);
                     }
                 }
@@ -1603,7 +1603,7 @@ namespace Lucene.Net.Search
 
             protected internal override object CreateValue(AtomicReader reader, CacheKey key, bool setDocsWithField) // ignored
             {
-                int maxDoc = reader.MaxDoc();
+                int maxDoc = reader.MaxDoc;
 
                 Terms terms = reader.Terms(key.Field);
 
@@ -1777,7 +1777,7 @@ namespace Lucene.Net.Search
                 // was already cached for this field and then return
                 // that instead, to avoid insanity
 
-                int maxDoc = reader.MaxDoc();
+                int maxDoc = reader.MaxDoc;
                 Terms terms = reader.Terms(key.Field);
 
                 float acceptableOverheadRatio = (float)((float?)key.Custom);

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Search/FieldCacheRangeFilter.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Search/FieldCacheRangeFilter.cs b/src/Lucene.Net.Core/Search/FieldCacheRangeFilter.cs
index b14bca8..7ee7f77 100644
--- a/src/Lucene.Net.Core/Search/FieldCacheRangeFilter.cs
+++ b/src/Lucene.Net.Core/Search/FieldCacheRangeFilter.cs
@@ -96,7 +96,7 @@ namespace Lucene.Net.Search
 
             public override DocIdSet GetDocIdSet(AtomicReaderContext context, Bits acceptDocs)
             {
-                SortedDocValues fcsi = FieldCache_Fields.DEFAULT.GetTermsIndex((AtomicReader)context.Reader(), field);
+                SortedDocValues fcsi = FieldCache_Fields.DEFAULT.GetTermsIndex(context.AtomicReader, field);
                 int lowerPoint = lowerVal == null ? -1 : fcsi.LookupTerm(new BytesRef(lowerVal));
                 int upperPoint = upperVal == null ? -1 : fcsi.LookupTerm(new BytesRef(upperVal));
 
@@ -147,7 +147,7 @@ namespace Lucene.Net.Search
 
                 Debug.Assert(inclusiveLowerPoint > 0 && inclusiveUpperPoint > 0);
 
-                return new AnonymousClassFieldCacheDocIdSet(fcsi, inclusiveLowerPoint, inclusiveUpperPoint, context.Reader().MaxDoc(), acceptDocs);
+                return new AnonymousClassFieldCacheDocIdSet(fcsi, inclusiveLowerPoint, inclusiveUpperPoint, context.Reader.MaxDoc, acceptDocs);
             }
         }
 
@@ -182,7 +182,7 @@ namespace Lucene.Net.Search
 
             public override DocIdSet GetDocIdSet(AtomicReaderContext context, Bits acceptDocs)
             {
-                SortedDocValues fcsi = FieldCache_Fields.DEFAULT.GetTermsIndex((AtomicReader)context.Reader(), field);
+                SortedDocValues fcsi = FieldCache_Fields.DEFAULT.GetTermsIndex(context.AtomicReader, field);
                 int lowerPoint = lowerVal == null ? -1 : fcsi.LookupTerm(lowerVal);
                 int upperPoint = upperVal == null ? -1 : fcsi.LookupTerm(upperVal);
 
@@ -232,7 +232,7 @@ namespace Lucene.Net.Search
                 }
 
                 //assert inclusiveLowerPoint >= 0 && inclusiveUpperPoint >= 0;
-                return new AnonymousClassFieldCacheDocIdSet(fcsi, inclusiveLowerPoint, inclusiveUpperPoint, context.Reader().MaxDoc(), acceptDocs);
+                return new AnonymousClassFieldCacheDocIdSet(fcsi, inclusiveLowerPoint, inclusiveUpperPoint, context.AtomicReader.MaxDoc, acceptDocs);
             }
         }
 
@@ -294,10 +294,10 @@ namespace Lucene.Net.Search
                 if (inclusiveLowerPoint > inclusiveUpperPoint)
                     return null;
 
-                FieldCache_Fields.Bytes values = FieldCache_Fields.DEFAULT.GetBytes((AtomicReader)context.Reader(), field, (FieldCache_Fields.IByteParser)parser, false);
+                var values = FieldCache_Fields.DEFAULT.GetBytes(context.AtomicReader, field, (FieldCache_Fields.IByteParser)parser, false);
 
                 // we only request the usage of termDocs, if the range contains 0
-                return new AnonymousClassFieldCacheDocIdSet(values, inclusiveLowerPoint, inclusiveUpperPoint, context.Reader().MaxDoc(), acceptDocs);
+                return new AnonymousClassFieldCacheDocIdSet(values, inclusiveLowerPoint, inclusiveUpperPoint, context.AtomicReader.MaxDoc, acceptDocs);
             }
         }
 
@@ -360,10 +360,10 @@ namespace Lucene.Net.Search
                 if (inclusiveLowerPoint > inclusiveUpperPoint)
                     return null;
 
-                FieldCache_Fields.Shorts values = FieldCache_Fields.DEFAULT.GetShorts((AtomicReader)context.Reader(), field, (FieldCache_Fields.IShortParser)parser, false);
+                FieldCache_Fields.Shorts values = FieldCache_Fields.DEFAULT.GetShorts(context.AtomicReader, field, (FieldCache_Fields.IShortParser)parser, false);
 
                 // we only request the usage of termDocs, if the range contains 0
-                return new AnonymousClassFieldCacheDocIdSet(values, inclusiveLowerPoint, inclusiveUpperPoint, context.Reader().MaxDoc(), acceptDocs);
+                return new AnonymousClassFieldCacheDocIdSet(values, inclusiveLowerPoint, inclusiveUpperPoint, context.Reader.MaxDoc, acceptDocs);
             }
         }
 
@@ -426,9 +426,9 @@ namespace Lucene.Net.Search
                 if (inclusiveLowerPoint > inclusiveUpperPoint)
                     return null;
 
-                FieldCache_Fields.Ints values = FieldCache_Fields.DEFAULT.GetInts((AtomicReader)context.Reader(), field, (FieldCache_Fields.IIntParser)parser, false);
+                FieldCache_Fields.Ints values = FieldCache_Fields.DEFAULT.GetInts(context.AtomicReader, field, (FieldCache_Fields.IIntParser)parser, false);
                 // we only request the usage of termDocs, if the range contains 0
-                return new AnonymousClassFieldCacheDocIdSet(values, inclusiveLowerPoint, inclusiveUpperPoint, context.Reader().MaxDoc(), acceptDocs);
+                return new AnonymousClassFieldCacheDocIdSet(values, inclusiveLowerPoint, inclusiveUpperPoint, context.Reader.MaxDoc, acceptDocs);
             }
         }
 
@@ -491,9 +491,9 @@ namespace Lucene.Net.Search
                 if (inclusiveLowerPoint > inclusiveUpperPoint)
                     return null;
 
-                FieldCache_Fields.Longs values = FieldCache_Fields.DEFAULT.GetLongs((AtomicReader)context.Reader(), field, (FieldCache_Fields.ILongParser)parser, false);
+                FieldCache_Fields.Longs values = FieldCache_Fields.DEFAULT.GetLongs(context.AtomicReader, field, (FieldCache_Fields.ILongParser)parser, false);
                 // we only request the usage of termDocs, if the range contains 0
-                return new AnonymousClassFieldCacheDocIdSet(values, inclusiveLowerPoint, inclusiveUpperPoint, context.Reader().MaxDoc(), acceptDocs);
+                return new AnonymousClassFieldCacheDocIdSet(values, inclusiveLowerPoint, inclusiveUpperPoint, context.Reader.MaxDoc, acceptDocs);
             }
         }
 
@@ -560,10 +560,10 @@ namespace Lucene.Net.Search
                 if (inclusiveLowerPoint > inclusiveUpperPoint)
                     return null;
 
-                FieldCache_Fields.Floats values = FieldCache_Fields.DEFAULT.GetFloats((AtomicReader)context.Reader(), field, (FieldCache_Fields.IFloatParser)parser, false);
+                FieldCache_Fields.Floats values = FieldCache_Fields.DEFAULT.GetFloats(context.AtomicReader, field, (FieldCache_Fields.IFloatParser)parser, false);
 
                 // we only request the usage of termDocs, if the range contains 0
-                return new AnonymousClassFieldCacheDocIdSet(values, inclusiveLowerPoint, inclusiveUpperPoint, context.Reader().MaxDoc(), acceptDocs);
+                return new AnonymousClassFieldCacheDocIdSet(values, inclusiveLowerPoint, inclusiveUpperPoint, context.Reader.MaxDoc, acceptDocs);
             }
         }
 
@@ -630,10 +630,10 @@ namespace Lucene.Net.Search
                 if (inclusiveLowerPoint > inclusiveUpperPoint)
                     return null;
 
-                FieldCache_Fields.Doubles values = FieldCache_Fields.DEFAULT.GetDoubles((AtomicReader)context.Reader(), field, (FieldCache_Fields.IDoubleParser)parser, false);
+                FieldCache_Fields.Doubles values = FieldCache_Fields.DEFAULT.GetDoubles(context.AtomicReader, field, (FieldCache_Fields.IDoubleParser)parser, false);
 
                 // we only request the usage of termDocs, if the range contains 0
-                return new AnonymousClassFieldCacheDocIdSet(values, inclusiveLowerPoint, inclusiveUpperPoint, context.Reader().MaxDoc(), acceptDocs);
+                return new AnonymousClassFieldCacheDocIdSet(values, inclusiveLowerPoint, inclusiveUpperPoint, context.Reader.MaxDoc, acceptDocs);
             }
         }
 
@@ -838,7 +838,7 @@ namespace Lucene.Net.Search
 
 		  public override DocIdSet GetDocIdSet(AtomicReaderContext context, Bits acceptDocs)
 		  {
-			SortedDocValues fcsi = FieldCache_Fields.DEFAULT.GetTermsIndex(((AtomicReader)context.Reader()), Field);
+			SortedDocValues fcsi = FieldCache_Fields.DEFAULT.GetTermsIndex((context.AtomicReader), Field);
 			int lowerPoint = LowerVal == null ? - 1 : fcsi.LookupTerm(new BytesRef(LowerVal));
 			int upperPoint = UpperVal == null ? - 1 : fcsi.LookupTerm(new BytesRef(UpperVal));
 
@@ -889,7 +889,7 @@ namespace Lucene.Net.Search
 
 			Debug.Assert(inclusiveLowerPoint >= 0 && inclusiveUpperPoint >= 0);
 
-			return new FieldCacheDocIdSetAnonymousInnerClassHelper(this, context.Reader().MaxDoc(), acceptDocs, fcsi, inclusiveLowerPoint, inclusiveUpperPoint);
+			return new FieldCacheDocIdSetAnonymousInnerClassHelper(this, context.Reader.MaxDoc, acceptDocs, fcsi, inclusiveLowerPoint, inclusiveUpperPoint);
 		  }
 
 		  private class FieldCacheDocIdSetAnonymousInnerClassHelper : FieldCacheDocIdSet
@@ -946,7 +946,7 @@ namespace Lucene.Net.Search
 
 		  public override DocIdSet GetDocIdSet(AtomicReaderContext context, Bits acceptDocs)
 		  {
-			SortedDocValues fcsi = FieldCache_Fields.DEFAULT.GetTermsIndex(((AtomicReader)context.Reader()), Field);
+			SortedDocValues fcsi = FieldCache_Fields.DEFAULT.GetTermsIndex((context.AtomicReader), Field);
 			int lowerPoint = LowerVal == null ? - 1 : fcsi.LookupTerm(LowerVal);
 			int upperPoint = UpperVal == null ? - 1 : fcsi.LookupTerm(UpperVal);
 
@@ -997,7 +997,7 @@ namespace Lucene.Net.Search
 
 			Debug.Assert(inclusiveLowerPoint >= 0 && inclusiveUpperPoint >= 0);
 
-			return new FieldCacheDocIdSetAnonymousInnerClassHelper2(this, context.Reader().MaxDoc(), acceptDocs, fcsi, inclusiveLowerPoint, inclusiveUpperPoint);
+			return new FieldCacheDocIdSetAnonymousInnerClassHelper2(this, context.Reader.MaxDoc, acceptDocs, fcsi, inclusiveLowerPoint, inclusiveUpperPoint);
 		  }
 
 		  private class FieldCacheDocIdSetAnonymousInnerClassHelper2 : FieldCacheDocIdSet
@@ -1101,8 +1101,8 @@ namespace Lucene.Net.Search
 			  return null;
 			}
 
-            FieldCache_Fields.Bytes values = FieldCache_Fields.DEFAULT.GetBytes(((AtomicReader)context.Reader()), Field, (FieldCache_Fields.IByteParser)Parser, false);
-			return new FieldCacheDocIdSetAnonymousInnerClassHelper3(this, context.Reader().MaxDoc(), acceptDocs, inclusiveLowerPoint, inclusiveUpperPoint, values);
+            FieldCache_Fields.Bytes values = FieldCache_Fields.DEFAULT.GetBytes((context.AtomicReader), Field, (FieldCache_Fields.IByteParser)Parser, false);
+			return new FieldCacheDocIdSetAnonymousInnerClassHelper3(this, context.Reader.MaxDoc, acceptDocs, inclusiveLowerPoint, inclusiveUpperPoint, values);
 		  }
 
 		  private class FieldCacheDocIdSetAnonymousInnerClassHelper3 : FieldCacheDocIdSet
@@ -1207,8 +1207,8 @@ namespace Lucene.Net.Search
 			  return null;
 			}
 
-            FieldCache_Fields.Shorts values = FieldCache_Fields.DEFAULT.GetShorts(((AtomicReader)context.Reader()), Field, (FieldCache_Fields.IShortParser)Parser, false);
-			return new FieldCacheDocIdSetAnonymousInnerClassHelper4(this, context.Reader().MaxDoc(), acceptDocs, inclusiveLowerPoint, inclusiveUpperPoint, values);
+            FieldCache_Fields.Shorts values = FieldCache_Fields.DEFAULT.GetShorts((context.AtomicReader), Field, (FieldCache_Fields.IShortParser)Parser, false);
+			return new FieldCacheDocIdSetAnonymousInnerClassHelper4(this, context.Reader.MaxDoc, acceptDocs, inclusiveLowerPoint, inclusiveUpperPoint, values);
 		  }
 
 		  private class FieldCacheDocIdSetAnonymousInnerClassHelper4 : FieldCacheDocIdSet
@@ -1311,8 +1311,8 @@ namespace Lucene.Net.Search
 			  return null;
 			}
 
-            FieldCache_Fields.Ints values = FieldCache_Fields.DEFAULT.GetInts(((AtomicReader)context.Reader()), Field, (FieldCache_Fields.IIntParser)Parser, false);
-			return new FieldCacheDocIdSetAnonymousInnerClassHelper5(this, context.Reader().MaxDoc(), acceptDocs, inclusiveLowerPoint, inclusiveUpperPoint, values);
+            FieldCache_Fields.Ints values = FieldCache_Fields.DEFAULT.GetInts((context.AtomicReader), Field, (FieldCache_Fields.IIntParser)Parser, false);
+			return new FieldCacheDocIdSetAnonymousInnerClassHelper5(this, context.Reader.MaxDoc, acceptDocs, inclusiveLowerPoint, inclusiveUpperPoint, values);
 		  }
 
 		  private class FieldCacheDocIdSetAnonymousInnerClassHelper5 : FieldCacheDocIdSet
@@ -1415,8 +1415,8 @@ namespace Lucene.Net.Search
 			  return null;
 			}
 
-            FieldCache_Fields.Longs values = FieldCache_Fields.DEFAULT.GetLongs(((AtomicReader)context.Reader()), Field, (FieldCache_Fields.ILongParser)Parser, false);
-			return new FieldCacheDocIdSetAnonymousInnerClassHelper6(this, context.Reader().MaxDoc(), acceptDocs, inclusiveLowerPoint, inclusiveUpperPoint, values);
+            FieldCache_Fields.Longs values = FieldCache_Fields.DEFAULT.GetLongs((context.AtomicReader), Field, (FieldCache_Fields.ILongParser)Parser, false);
+			return new FieldCacheDocIdSetAnonymousInnerClassHelper6(this, context.Reader.MaxDoc, acceptDocs, inclusiveLowerPoint, inclusiveUpperPoint, values);
 		  }
 
 		  private class FieldCacheDocIdSetAnonymousInnerClassHelper6 : FieldCacheDocIdSet
@@ -1523,8 +1523,8 @@ namespace Lucene.Net.Search
 			  return null;
 			}
 
-            FieldCache_Fields.Floats values = FieldCache_Fields.DEFAULT.GetFloats(((AtomicReader)context.Reader()), Field, (FieldCache_Fields.IFloatParser)Parser, false);
-			return new FieldCacheDocIdSetAnonymousInnerClassHelper7(this, context.Reader().MaxDoc(), acceptDocs, inclusiveLowerPoint, inclusiveUpperPoint, values);
+            FieldCache_Fields.Floats values = FieldCache_Fields.DEFAULT.GetFloats((context.AtomicReader), Field, (FieldCache_Fields.IFloatParser)Parser, false);
+			return new FieldCacheDocIdSetAnonymousInnerClassHelper7(this, context.Reader.MaxDoc, acceptDocs, inclusiveLowerPoint, inclusiveUpperPoint, values);
 		  }
 
 		  private class FieldCacheDocIdSetAnonymousInnerClassHelper7 : FieldCacheDocIdSet
@@ -1631,9 +1631,9 @@ namespace Lucene.Net.Search
 			  return null;
 			}
 
-            FieldCache_Fields.Doubles values = FieldCache_Fields.DEFAULT.GetDoubles(((AtomicReader)context.Reader()), Field, (FieldCache_Fields.IDoubleParser)Parser, false);
+            FieldCache_Fields.Doubles values = FieldCache_Fields.DEFAULT.GetDoubles((context.AtomicReader), Field, (FieldCache_Fields.IDoubleParser)Parser, false);
 			// ignore deleted docs if range doesn't contain 0
-			return new FieldCacheDocIdSetAnonymousInnerClassHelper8(this, context.Reader().MaxDoc(), acceptDocs, inclusiveLowerPoint, inclusiveUpperPoint, values);
+			return new FieldCacheDocIdSetAnonymousInnerClassHelper8(this, context.Reader.MaxDoc, acceptDocs, inclusiveLowerPoint, inclusiveUpperPoint, values);
 		  }
 
 		  private class FieldCacheDocIdSetAnonymousInnerClassHelper8 : FieldCacheDocIdSet

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Search/FieldCacheRewriteMethod.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Search/FieldCacheRewriteMethod.cs b/src/Lucene.Net.Core/Search/FieldCacheRewriteMethod.cs
index ccf7547..2b7848d 100644
--- a/src/Lucene.Net.Core/Search/FieldCacheRewriteMethod.cs
+++ b/src/Lucene.Net.Core/Search/FieldCacheRewriteMethod.cs
@@ -102,7 +102,7 @@ namespace Lucene.Net.Search
             /// </summary>
             public override DocIdSet GetDocIdSet(AtomicReaderContext context, Bits acceptDocs)
             {
-                SortedDocValues fcsi = FieldCache_Fields.DEFAULT.GetTermsIndex(((AtomicReader)context.Reader()), Query.field);
+                SortedDocValues fcsi = FieldCache_Fields.DEFAULT.GetTermsIndex((context.AtomicReader), Query.field);
                 // Cannot use FixedBitSet because we require long index (ord):
                 LongBitSet termSet = new LongBitSet(fcsi.ValueCount);
                 TermsEnum termsEnum = Query.GetTermsEnum(new TermsAnonymousInnerClassHelper(this, fcsi));
@@ -125,7 +125,7 @@ namespace Lucene.Net.Search
                     return null;
                 }
 
-                return new FieldCacheDocIdSetAnonymousInnerClassHelper(this, context.Reader().MaxDoc(), acceptDocs, fcsi, termSet);
+                return new FieldCacheDocIdSetAnonymousInnerClassHelper(this, context.Reader.MaxDoc, acceptDocs, fcsi, termSet);
             }
 
             private class TermsAnonymousInnerClassHelper : Terms

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Search/FieldCacheTermsFilter.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Search/FieldCacheTermsFilter.cs b/src/Lucene.Net.Core/Search/FieldCacheTermsFilter.cs
index 9f252f2..c9c7a00 100644
--- a/src/Lucene.Net.Core/Search/FieldCacheTermsFilter.cs
+++ b/src/Lucene.Net.Core/Search/FieldCacheTermsFilter.cs
@@ -128,7 +128,7 @@ namespace Lucene.Net.Search
 
         public override DocIdSet GetDocIdSet(AtomicReaderContext context, Bits acceptDocs)
         {
-            SortedDocValues fcsi = FieldCache.GetTermsIndex(((AtomicReader)context.Reader()), Field);
+            SortedDocValues fcsi = FieldCache.GetTermsIndex((context.AtomicReader), Field);
             FixedBitSet bits = new FixedBitSet(fcsi.ValueCount);
             for (int i = 0; i < Terms.Length; i++)
             {
@@ -138,7 +138,7 @@ namespace Lucene.Net.Search
                     bits.Set(ord);
                 }
             }
-            return new FieldCacheDocIdSetAnonymousInnerClassHelper(this, context.Reader().MaxDoc(), acceptDocs, fcsi, bits);
+            return new FieldCacheDocIdSetAnonymousInnerClassHelper(this, context.Reader.MaxDoc, acceptDocs, fcsi, bits);
         }
 
         private class FieldCacheDocIdSetAnonymousInnerClassHelper : FieldCacheDocIdSet

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Search/FieldComparator.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Search/FieldComparator.cs b/src/Lucene.Net.Core/Search/FieldComparator.cs
index dc040b4..3ebadff 100644
--- a/src/Lucene.Net.Core/Search/FieldComparator.cs
+++ b/src/Lucene.Net.Core/Search/FieldComparator.cs
@@ -338,7 +338,7 @@ namespace Lucene.Net.Search
             {
                 if (MissingValue != null)
                 {
-                    DocsWithField = FieldCache_Fields.DEFAULT.GetDocsWithField(((AtomicReader)context.Reader()), Field);
+                    DocsWithField = FieldCache_Fields.DEFAULT.GetDocsWithField((context.AtomicReader), Field);
                     // optimization to remove unneeded checks on the bit interface:
                     if (DocsWithField is Lucene.Net.Util.Bits_MatchAllBits)
                     {
@@ -408,7 +408,7 @@ namespace Lucene.Net.Search
             {
                 // NOTE: must do this before calling super otherwise
                 // we compute the docsWithField Bits twice!
-                CurrentReaderValues = FieldCache_Fields.DEFAULT.GetBytes(((AtomicReader)context.Reader()), Field, Parser, MissingValue != null);
+                CurrentReaderValues = FieldCache_Fields.DEFAULT.GetBytes((context.AtomicReader), Field, Parser, MissingValue != null);
                 return base.SetNextReader(context);
             }
 
@@ -501,7 +501,7 @@ namespace Lucene.Net.Search
             {
                 // NOTE: must do this before calling super otherwise
                 // we compute the docsWithField Bits twice!
-                CurrentReaderValues = FieldCache_Fields.DEFAULT.GetDoubles(((AtomicReader)context.Reader()), Field, Parser, MissingValue != null);
+                CurrentReaderValues = FieldCache_Fields.DEFAULT.GetDoubles((context.AtomicReader), Field, Parser, MissingValue != null);
                 return base.SetNextReader(context);
             }
 
@@ -594,7 +594,7 @@ namespace Lucene.Net.Search
             {
                 // NOTE: must do this before calling super otherwise
                 // we compute the docsWithField Bits twice!
-                CurrentReaderValues = FieldCache_Fields.DEFAULT.GetFloats(((AtomicReader)context.Reader()), Field, Parser, MissingValue != null);
+                CurrentReaderValues = FieldCache_Fields.DEFAULT.GetFloats((context.AtomicReader), Field, Parser, MissingValue != null);
                 return base.SetNextReader(context);
             }
 
@@ -689,7 +689,7 @@ namespace Lucene.Net.Search
             {
                 // NOTE: must do this before calling super otherwise
                 // we compute the docsWithField Bits twice!
-                CurrentReaderValues = FieldCache_Fields.DEFAULT.GetShorts(((AtomicReader)context.Reader()), Field, Parser, MissingValue != null);
+                CurrentReaderValues = FieldCache_Fields.DEFAULT.GetShorts((context.AtomicReader), Field, Parser, MissingValue != null);
                 return base.SetNextReader(context);
             }
 
@@ -780,7 +780,7 @@ namespace Lucene.Net.Search
             {
                 // NOTE: must do this before calling super otherwise
                 // we compute the docsWithField Bits twice!
-                CurrentReaderValues = FieldCache_Fields.DEFAULT.GetInts(((AtomicReader)context.Reader()), Field, Parser, MissingValue != null);
+                CurrentReaderValues = FieldCache_Fields.DEFAULT.GetInts((context.AtomicReader), Field, Parser, MissingValue != null);
                 return base.SetNextReader(context);
             }
 
@@ -874,7 +874,7 @@ namespace Lucene.Net.Search
             {
                 // NOTE: must do this before calling super otherwise
                 // we compute the docsWithField Bits twice!
-                CurrentReaderValues = FieldCache_Fields.DEFAULT.GetLongs(((AtomicReader)context.Reader()), Field, Parser, MissingValue != null);
+                CurrentReaderValues = FieldCache_Fields.DEFAULT.GetLongs((context.AtomicReader), Field, Parser, MissingValue != null);
                 return base.SetNextReader(context);
             }
 
@@ -1259,7 +1259,7 @@ namespace Lucene.Net.Search
             /// Retrieves the SortedDocValues for the field in this segment </summary>
             protected internal virtual SortedDocValues GetSortedDocValues(AtomicReaderContext context, string field)
             {
-                return FieldCache_Fields.DEFAULT.GetTermsIndex(((AtomicReader)context.Reader()), field);
+                return FieldCache_Fields.DEFAULT.GetTermsIndex((context.AtomicReader), field);
             }
 
             public override FieldComparator SetNextReader(AtomicReaderContext context)
@@ -1473,8 +1473,8 @@ namespace Lucene.Net.Search
 
             public override FieldComparator SetNextReader(AtomicReaderContext context)
             {
-                DocTerms = FieldCache_Fields.DEFAULT.GetTerms(((AtomicReader)context.Reader()), Field, true);
-                DocsWithField = FieldCache_Fields.DEFAULT.GetDocsWithField(((AtomicReader)context.Reader()), Field);
+                DocTerms = FieldCache_Fields.DEFAULT.GetTerms((context.AtomicReader), Field, true);
+                DocsWithField = FieldCache_Fields.DEFAULT.GetDocsWithField((context.AtomicReader), Field);
                 return this;
             }
 

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Search/FieldValueFilter.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Search/FieldValueFilter.cs b/src/Lucene.Net.Core/Search/FieldValueFilter.cs
index ba53495..9b78022 100644
--- a/src/Lucene.Net.Core/Search/FieldValueFilter.cs
+++ b/src/Lucene.Net.Core/Search/FieldValueFilter.cs
@@ -77,14 +77,14 @@ namespace Lucene.Net.Search
 
         public override DocIdSet GetDocIdSet(AtomicReaderContext context, Bits acceptDocs)
         {
-            Bits docsWithField = FieldCache_Fields.DEFAULT.GetDocsWithField(((AtomicReader)context.Reader()), Field_Renamed);
+            Bits docsWithField = FieldCache_Fields.DEFAULT.GetDocsWithField(((AtomicReader)context.Reader), Field_Renamed);
             if (Negate_Renamed)
             {
                 if (docsWithField is Bits_MatchAllBits)
                 {
                     return null;
                 }
-                return new FieldCacheDocIdSetAnonymousInnerClassHelper(this, context.Reader().MaxDoc(), acceptDocs, docsWithField);
+                return new FieldCacheDocIdSetAnonymousInnerClassHelper(this, context.AtomicReader.MaxDoc, acceptDocs, docsWithField);
             }
             else
             {
@@ -98,7 +98,7 @@ namespace Lucene.Net.Search
                     // :-)
                     return BitsFilteredDocIdSet.Wrap((DocIdSet)docsWithField, acceptDocs);
                 }
-                return new FieldCacheDocIdSetAnonymousInnerClassHelper2(this, context.Reader().MaxDoc(), acceptDocs, docsWithField);
+                return new FieldCacheDocIdSetAnonymousInnerClassHelper2(this, context.AtomicReader.MaxDoc, acceptDocs, docsWithField);
             }
         }
 
@@ -125,7 +125,7 @@ namespace Lucene.Net.Search
         {
             private readonly FieldValueFilter OuterInstance;
 
-            private Bits DocsWithField;
+            private readonly Bits DocsWithField;
 
             public FieldCacheDocIdSetAnonymousInnerClassHelper2(FieldValueFilter outerInstance, int maxDoc, Bits acceptDocs, Bits docsWithField)
                 : base(maxDoc, acceptDocs)

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Search/FilteredQuery.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Search/FilteredQuery.cs b/src/Lucene.Net.Core/Search/FilteredQuery.cs
index 4a59d7d..a995456 100644
--- a/src/Lucene.Net.Core/Search/FilteredQuery.cs
+++ b/src/Lucene.Net.Core/Search/FilteredQuery.cs
@@ -121,7 +121,7 @@ namespace Lucene.Net.Search
             {
                 Explanation inner = Weight.Explain(ir, i);
                 Filter f = OuterInstance.Filter_Renamed;
-                DocIdSet docIdSet = f.GetDocIdSet(ir, ((AtomicReader)ir.Reader()).LiveDocs);
+                DocIdSet docIdSet = f.GetDocIdSet(ir, ir.AtomicReader.LiveDocs);
                 DocIdSetIterator docIdSetIterator = docIdSet == null ? DocIdSetIterator.Empty() : docIdSet.GetIterator();
                 if (docIdSetIterator == null)
                 {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Search/IndexSearcher.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Search/IndexSearcher.cs b/src/Lucene.Net.Core/Search/IndexSearcher.cs
index 2740a8a..973202b 100644
--- a/src/Lucene.Net.Core/Search/IndexSearcher.cs
+++ b/src/Lucene.Net.Core/Search/IndexSearcher.cs
@@ -149,11 +149,11 @@ namespace Lucene.Net.Search
         /// @lucene.experimental </seealso>
         public IndexSearcher(IndexReaderContext context, TaskScheduler executor)
         {
-            Debug.Assert(context.IsTopLevel, "IndexSearcher's ReaderContext must be topLevel for reader" + context.Reader());
-            Reader = context.Reader();
+            Debug.Assert(context.IsTopLevel, "IndexSearcher's ReaderContext must be topLevel for reader" + context.Reader);
+            Reader = context.Reader;
             this.Executor = executor;
             this.ReaderContext = context;
-            LeafContexts = context.Leaves();
+            LeafContexts = context.Leaves;
             this.LeafSlices = executor == null ? null : Slices(LeafContexts);
         }
 
@@ -458,7 +458,7 @@ namespace Lucene.Net.Search
         ///         <seealso cref="BooleanQuery#getMaxClauseCount()"/> clauses. </exception>
         protected internal virtual TopDocs Search(Weight weight, ScoreDoc after, int nDocs)
         {
-            int limit = Reader.MaxDoc();
+            int limit = Reader.MaxDoc;
             if (limit == 0)
             {
                 limit = 1;
@@ -495,7 +495,7 @@ namespace Lucene.Net.Search
                     }
                 }
 
-                ScoreDoc[] scoreDocs = new ScoreDoc[hq.Size()];
+                var scoreDocs = new ScoreDoc[hq.Size()];
                 for (int i = hq.Size() - 1; i >= 0; i--) // put docs in array
                 {
                     scoreDocs[i] = hq.Pop();
@@ -516,7 +516,7 @@ namespace Lucene.Net.Search
         protected internal virtual TopDocs Search(IList<AtomicReaderContext> leaves, Weight weight, ScoreDoc after, int nDocs)
         {
             // single thread
-            int limit = Reader.MaxDoc();
+            int limit = Reader.MaxDoc;
             if (limit == 0)
             {
                 limit = 1;
@@ -556,7 +556,7 @@ namespace Lucene.Net.Search
                 throw new System.NullReferenceException("Sort must not be null");
             }
 
-            int limit = Reader.MaxDoc();
+            int limit = Reader.MaxDoc;
             if (limit == 0)
             {
                 limit = 1;
@@ -603,7 +603,7 @@ namespace Lucene.Net.Search
         protected internal virtual TopFieldDocs Search(IList<AtomicReaderContext> leaves, Weight weight, FieldDoc after, int nDocs, Sort sort, bool fillFields, bool doDocScores, bool doMaxScore)
         {
             // single thread
-            int limit = Reader.MaxDoc();
+            int limit = Reader.MaxDoc;
             if (limit == 0)
             {
                 limit = 1;
@@ -650,7 +650,7 @@ namespace Lucene.Net.Search
                     // continue with the following leaf
                     continue;
                 }
-                BulkScorer scorer = weight.BulkScorer(ctx, !collector.AcceptsDocsOutOfOrder(), ((AtomicReader)ctx.Reader()).LiveDocs);
+                BulkScorer scorer = weight.BulkScorer(ctx, !collector.AcceptsDocsOutOfOrder(), ctx.AtomicReader.LiveDocs);
                 if (scorer != null)
                 {
                     try
@@ -1031,7 +1031,7 @@ namespace Lucene.Net.Search
                 sumTotalTermFreq = terms.SumTotalTermFreq;
                 sumDocFreq = terms.SumDocFreq;
             }
-            return new CollectionStatistics(field, Reader.MaxDoc(), docCount, sumTotalTermFreq, sumDocFreq);
+            return new CollectionStatistics(field, Reader.MaxDoc, docCount, sumTotalTermFreq, sumDocFreq);
         }
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Search/MatchAllDocsQuery.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Search/MatchAllDocsQuery.cs b/src/Lucene.Net.Core/Search/MatchAllDocsQuery.cs
index 405bfef..ae6d15c 100644
--- a/src/Lucene.Net.Core/Search/MatchAllDocsQuery.cs
+++ b/src/Lucene.Net.Core/Search/MatchAllDocsQuery.cs
@@ -49,7 +49,7 @@ namespace Lucene.Net.Search
                 this.OuterInstance = outerInstance;
                 this.LiveDocs = liveDocs;
                 this.Score_Renamed = score;
-                MaxDoc = reader.MaxDoc();
+                MaxDoc = reader.MaxDoc;
             }
 
             public override int DocID()
@@ -135,7 +135,7 @@ namespace Lucene.Net.Search
 
             public override Scorer Scorer(AtomicReaderContext context, Bits acceptDocs)
             {
-                return new MatchAllScorer(OuterInstance, context.Reader(), acceptDocs, this, QueryWeight);
+                return new MatchAllScorer(OuterInstance, context.Reader, acceptDocs, this, QueryWeight);
             }
 
             public override Explanation Explain(AtomicReaderContext context, int doc)

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Search/MultiPhraseQuery.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Search/MultiPhraseQuery.cs b/src/Lucene.Net.Core/Search/MultiPhraseQuery.cs
index ec4c8bc..9946385 100644
--- a/src/Lucene.Net.Core/Search/MultiPhraseQuery.cs
+++ b/src/Lucene.Net.Core/Search/MultiPhraseQuery.cs
@@ -223,7 +223,7 @@ namespace Lucene.Net.Search
             public override Scorer Scorer(AtomicReaderContext context, Bits acceptDocs)
             {
                 Debug.Assert(OuterInstance.termArrays.Count > 0);
-                AtomicReader reader = ((AtomicReader)context.Reader());
+                AtomicReader reader = (context.AtomicReader);
                 Bits liveDocs = acceptDocs;
 
                 PhraseQuery.PostingsAndFreq[] postingsFreqs = new PhraseQuery.PostingsAndFreq[OuterInstance.termArrays.Count];
@@ -321,7 +321,7 @@ namespace Lucene.Net.Search
 
             public override Explanation Explain(AtomicReaderContext context, int doc)
             {
-                Scorer scorer = Scorer(context, ((AtomicReader)context.Reader()).LiveDocs);
+                Scorer scorer = Scorer(context, (context.AtomicReader).LiveDocs);
                 if (scorer != null)
                 {
                     int newDoc = scorer.Advance(doc);

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Search/MultiTermQueryWrapperFilter.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Search/MultiTermQueryWrapperFilter.cs b/src/Lucene.Net.Core/Search/MultiTermQueryWrapperFilter.cs
index f97818c..9b3de74 100644
--- a/src/Lucene.Net.Core/Search/MultiTermQueryWrapperFilter.cs
+++ b/src/Lucene.Net.Core/Search/MultiTermQueryWrapperFilter.cs
@@ -99,8 +99,8 @@ namespace Lucene.Net.Search
         /// </summary>
         public override DocIdSet GetDocIdSet(AtomicReaderContext context, Bits acceptDocs)
         {
-            AtomicReader reader = ((AtomicReader)context.Reader());
-            Fields fields = reader.Fields();
+            AtomicReader reader = (context.AtomicReader);
+            Fields fields = reader.Fields;
             if (fields == null)
             {
                 // reader has no fields
@@ -119,7 +119,7 @@ namespace Lucene.Net.Search
             if (termsEnum.Next() != null)
             {
                 // fill into a FixedBitSet
-                FixedBitSet bitSet = new FixedBitSet(context.Reader().MaxDoc());
+                FixedBitSet bitSet = new FixedBitSet(context.AtomicReader.MaxDoc);
                 DocsEnum docsEnum = null;
                 do
                 {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Search/Payloads/PayloadNearQuery.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Search/Payloads/PayloadNearQuery.cs b/src/Lucene.Net.Core/Search/Payloads/PayloadNearQuery.cs
index cf6043f..081a19d 100644
--- a/src/Lucene.Net.Core/Search/Payloads/PayloadNearQuery.cs
+++ b/src/Lucene.Net.Core/Search/Payloads/PayloadNearQuery.cs
@@ -176,7 +176,7 @@ namespace Lucene.Net.Search.Payloads
 
             public override Explanation Explain(AtomicReaderContext context, int doc)
             {
-                PayloadNearSpanScorer scorer = (PayloadNearSpanScorer)Scorer(context, ((AtomicReader)context.Reader()).LiveDocs);
+                PayloadNearSpanScorer scorer = (PayloadNearSpanScorer)Scorer(context, (context.AtomicReader).LiveDocs);
                 if (scorer != null)
                 {
                     int newDoc = scorer.Advance(doc);

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Search/Payloads/PayloadSpanUtil.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Search/Payloads/PayloadSpanUtil.cs b/src/Lucene.Net.Core/Search/Payloads/PayloadSpanUtil.cs
index 7a66964..3772a1d 100644
--- a/src/Lucene.Net.Core/Search/Payloads/PayloadSpanUtil.cs
+++ b/src/Lucene.Net.Core/Search/Payloads/PayloadSpanUtil.cs
@@ -192,9 +192,9 @@ namespace Lucene.Net.Search.Payloads
             {
                 termContexts[term] = TermContext.Build(Context, term);
             }
-            foreach (AtomicReaderContext atomicReaderContext in Context.Leaves())
+            foreach (AtomicReaderContext atomicReaderContext in Context.Leaves)
             {
-                Spans spans = query.GetSpans(atomicReaderContext, ((AtomicReader)atomicReaderContext.Reader()).LiveDocs, termContexts);
+                Spans spans = query.GetSpans(atomicReaderContext, atomicReaderContext.AtomicReader.LiveDocs, termContexts);
                 while (spans.Next() == true)
                 {
                     if (spans.PayloadAvailable)

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Search/Payloads/PayloadTermQuery.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Search/Payloads/PayloadTermQuery.cs b/src/Lucene.Net.Core/Search/Payloads/PayloadTermQuery.cs
index 9a66351..8dd443f 100644
--- a/src/Lucene.Net.Core/Search/Payloads/PayloadTermQuery.cs
+++ b/src/Lucene.Net.Core/Search/Payloads/PayloadTermQuery.cs
@@ -185,7 +185,7 @@ namespace Lucene.Net.Search.Payloads
 
             public override Explanation Explain(AtomicReaderContext context, int doc)
             {
-                PayloadTermSpanScorer scorer = (PayloadTermSpanScorer)Scorer(context, ((AtomicReader)context.Reader()).LiveDocs);
+                PayloadTermSpanScorer scorer = (PayloadTermSpanScorer)Scorer(context, (context.AtomicReader).LiveDocs);
                 if (scorer != null)
                 {
                     int newDoc = scorer.Advance(doc);

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Search/PhraseQuery.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Search/PhraseQuery.cs b/src/Lucene.Net.Core/Search/PhraseQuery.cs
index 17083e0..b41f253 100644
--- a/src/Lucene.Net.Core/Search/PhraseQuery.cs
+++ b/src/Lucene.Net.Core/Search/PhraseQuery.cs
@@ -343,7 +343,7 @@ namespace Lucene.Net.Search
             public override Scorer Scorer(AtomicReaderContext context, Bits acceptDocs)
             {
                 Debug.Assert(OuterInstance.Terms_Renamed.Count > 0);
-                AtomicReader reader = ((AtomicReader)context.Reader());
+                AtomicReader reader = context.AtomicReader;
                 Bits liveDocs = acceptDocs;
                 PostingsAndFreq[] postingsFreqs = new PostingsAndFreq[OuterInstance.Terms_Renamed.Count];
 

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Search/QueryRescorer.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Search/QueryRescorer.cs b/src/Lucene.Net.Core/Search/QueryRescorer.cs
index 2f97c30..b9a568e 100644
--- a/src/Lucene.Net.Core/Search/QueryRescorer.cs
+++ b/src/Lucene.Net.Core/Search/QueryRescorer.cs
@@ -56,7 +56,7 @@ namespace Lucene.Net.Search
             ScoreDoc[] hits = (ScoreDoc[])firstPassTopDocs.ScoreDocs.Clone();
             Array.Sort(hits, new ComparatorAnonymousInnerClassHelper(this));
 
-            IList<AtomicReaderContext> leaves = searcher.IndexReader.Leaves();
+            IList<AtomicReaderContext> leaves = searcher.IndexReader.Leaves;
 
             Weight weight = searcher.CreateNormalizedWeight(Query);
 
@@ -76,7 +76,7 @@ namespace Lucene.Net.Search
                 {
                     readerUpto++;
                     readerContext = leaves[readerUpto];
-                    endDoc = readerContext.DocBase + readerContext.Reader().MaxDoc();
+                    endDoc = readerContext.DocBase + readerContext.Reader.MaxDoc;
                 }
 
                 if (readerContext != null)

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Search/Similarities/BM25Similarity.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Search/Similarities/BM25Similarity.cs b/src/Lucene.Net.Core/Search/Similarities/BM25Similarity.cs
index 3812dcf..962a984 100644
--- a/src/Lucene.Net.Core/Search/Similarities/BM25Similarity.cs
+++ b/src/Lucene.Net.Core/Search/Similarities/BM25Similarity.cs
@@ -98,7 +98,7 @@ namespace Lucene.Net.Search.Similarities
             }
             else
             {
-                return (float)(sumTotalTermFreq / (double)collectionStats.MaxDoc());
+                return (float)(sumTotalTermFreq / (double)collectionStats.MaxDoc);
             }
         }
 
@@ -188,7 +188,7 @@ namespace Lucene.Net.Search.Similarities
         public virtual Explanation IdfExplain(CollectionStatistics collectionStats, TermStatistics termStats)
         {
             long df = termStats.DocFreq();
-            long max = collectionStats.MaxDoc();
+            long max = collectionStats.MaxDoc;
             float idf = Idf(df, max);
             return new Explanation(idf, "idf(docFreq=" + df + ", maxDocs=" + max + ")");
         }
@@ -207,7 +207,7 @@ namespace Lucene.Net.Search.Similarities
         ///         for each term. </returns>
         public virtual Explanation IdfExplain(CollectionStatistics collectionStats, TermStatistics[] termStats)
         {
-            long max = collectionStats.MaxDoc();
+            long max = collectionStats.MaxDoc;
             float idf = 0.0f;
             Explanation exp = new Explanation();
             exp.Description = "idf(), sum of:";
@@ -240,7 +240,7 @@ namespace Lucene.Net.Search.Similarities
         public override sealed SimScorer DoSimScorer(SimWeight stats, AtomicReaderContext context)
         {
             BM25Stats bm25stats = (BM25Stats)stats;
-            return new BM25DocScorer(this, bm25stats, ((AtomicReader)context.Reader()).GetNormValues(bm25stats.Field));
+            return new BM25DocScorer(this, bm25stats, context.AtomicReader.GetNormValues(bm25stats.Field));
         }
 
         private class BM25DocScorer : SimScorer

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Search/Similarities/SimilarityBase.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Search/Similarities/SimilarityBase.cs b/src/Lucene.Net.Core/Search/Similarities/SimilarityBase.cs
index 3d9a270..cba8439 100644
--- a/src/Lucene.Net.Core/Search/Similarities/SimilarityBase.cs
+++ b/src/Lucene.Net.Core/Search/Similarities/SimilarityBase.cs
@@ -107,7 +107,7 @@ namespace Lucene.Net.Search.Similarities
         {
             // #positions(field) must be >= #positions(term)
             Debug.Assert(collectionStats.SumTotalTermFreq() == -1 || collectionStats.SumTotalTermFreq() >= termStats.TotalTermFreq());
-            long numberOfDocuments = collectionStats.MaxDoc();
+            long numberOfDocuments = collectionStats.MaxDoc;
 
             long docFreq = termStats.DocFreq();
             long totalTermFreq = termStats.TotalTermFreq();

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Search/Similarities/TFIDFSimilarity.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Search/Similarities/TFIDFSimilarity.cs b/src/Lucene.Net.Core/Search/Similarities/TFIDFSimilarity.cs
index 782e80f..230ffbc 100644
--- a/src/Lucene.Net.Core/Search/Similarities/TFIDFSimilarity.cs
+++ b/src/Lucene.Net.Core/Search/Similarities/TFIDFSimilarity.cs
@@ -574,7 +574,7 @@ namespace Lucene.Net.Search.Similarities
         public virtual Explanation IdfExplain(CollectionStatistics collectionStats, TermStatistics termStats)
         {
             long df = termStats.DocFreq();
-            long max = collectionStats.MaxDoc();
+            long max = collectionStats.MaxDoc;
             float idf = Idf(df, max);
             return new Explanation(idf, "idf(docFreq=" + df + ", maxDocs=" + max + ")");
         }
@@ -593,7 +593,7 @@ namespace Lucene.Net.Search.Similarities
         ///         for each term. </returns>
         public virtual Explanation IdfExplain(CollectionStatistics collectionStats, TermStatistics[] termStats)
         {
-            long max = collectionStats.MaxDoc();
+            long max = collectionStats.MaxDoc;
             float idf = 0.0f;
             Explanation exp = new Explanation();
             exp.Description = "idf(), sum of:";

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Search/SortRescorer.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Search/SortRescorer.cs b/src/Lucene.Net.Core/Search/SortRescorer.cs
index 303e65e..59c25e6 100644
--- a/src/Lucene.Net.Core/Search/SortRescorer.cs
+++ b/src/Lucene.Net.Core/Search/SortRescorer.cs
@@ -46,7 +46,7 @@ namespace Lucene.Net.Search
             ScoreDoc[] hits = (ScoreDoc[])firstPassTopDocs.ScoreDocs.Clone();
             Array.Sort(hits, new ComparatorAnonymousInnerClassHelper(this));
 
-            IList<AtomicReaderContext> leaves = searcher.IndexReader.Leaves();
+            IList<AtomicReaderContext> leaves = searcher.IndexReader.Leaves;
 
             TopFieldCollector collector = TopFieldCollector.Create(sort, topN, true, true, true, false);
 
@@ -67,7 +67,7 @@ namespace Lucene.Net.Search
                 {
                     readerUpto++;
                     readerContext = leaves[readerUpto];
-                    endDoc = readerContext.DocBase + readerContext.Reader().MaxDoc();
+                    endDoc = readerContext.DocBase + readerContext.Reader.MaxDoc;
                 }
 
                 if (readerContext != null)

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Search/Spans/SpanTermQuery.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Search/Spans/SpanTermQuery.cs b/src/Lucene.Net.Core/Search/Spans/SpanTermQuery.cs
index 69f70be..e6e7567 100644
--- a/src/Lucene.Net.Core/Search/Spans/SpanTermQuery.cs
+++ b/src/Lucene.Net.Core/Search/Spans/SpanTermQuery.cs
@@ -130,7 +130,7 @@ namespace Lucene.Net.Search.Spans
             {
                 // this happens with span-not query, as it doesn't include the NOT side in extractTerms()
                 // so we seek to the term now in this segment..., this sucks because its ugly mostly!
-                Fields fields = context.AtomicReader.Fields();
+                Fields fields = context.AtomicReader.Fields;
                 if (fields != null)
                 {
                     Terms terms = fields.Terms(term.Field());

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Search/TermCollectingRewrite.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Search/TermCollectingRewrite.cs b/src/Lucene.Net.Core/Search/TermCollectingRewrite.cs
index c2cf294..b25de4d 100644
--- a/src/Lucene.Net.Core/Search/TermCollectingRewrite.cs
+++ b/src/Lucene.Net.Core/Search/TermCollectingRewrite.cs
@@ -51,9 +51,9 @@ namespace Lucene.Net.Search
         {
             IndexReaderContext topReaderContext = reader.Context;
             IComparer<BytesRef> lastTermComp = null;
-            foreach (AtomicReaderContext context in topReaderContext.Leaves())
+            foreach (AtomicReaderContext context in topReaderContext.Leaves)
             {
-                Fields fields = context.AtomicReader.Fields();
+                Fields fields = context.AtomicReader.Fields;
                 if (fields == null)
                 {
                     // reader has no fields

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Util/FieldCacheSanityChecker.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Util/FieldCacheSanityChecker.cs b/src/Lucene.Net.Core/Util/FieldCacheSanityChecker.cs
index 362a546..81b746a 100644
--- a/src/Lucene.Net.Core/Util/FieldCacheSanityChecker.cs
+++ b/src/Lucene.Net.Core/Util/FieldCacheSanityChecker.cs
@@ -296,12 +296,12 @@ namespace Lucene.Net.Util
                 {
                     try
                     {
-                        IList<IndexReaderContext> childs = reader.Context.Children();
+                        IList<IndexReaderContext> childs = reader.Context.Children;
                         if (childs != null) // it is composite reader
                         {
                             foreach (IndexReaderContext ctx in childs)
                             {
-                                all.Add(ctx.Reader().CoreCacheKey);
+                                all.Add(ctx.Reader.CoreCacheKey);
                             }
                         }
                     }

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.TestFramework/Codecs/asserting/AssertingPostingsFormat.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.TestFramework/Codecs/asserting/AssertingPostingsFormat.cs b/src/Lucene.Net.TestFramework/Codecs/asserting/AssertingPostingsFormat.cs
index 9b1c404..c05a914 100644
--- a/src/Lucene.Net.TestFramework/Codecs/asserting/AssertingPostingsFormat.cs
+++ b/src/Lucene.Net.TestFramework/Codecs/asserting/AssertingPostingsFormat.cs
@@ -85,9 +85,9 @@ namespace Lucene.Net.Codecs.asserting
                 return terms == null ? null : new AssertingAtomicReader.AssertingTerms(terms);
             }
 
-            public override int Size()
+            public override int Size
             {
-                return @in.Size();
+                get { return @in.Size; }
             }
 
             public override long UniqueTermCount

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.TestFramework/Codecs/ramonly/RAMOnlyPostingsFormat.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.TestFramework/Codecs/ramonly/RAMOnlyPostingsFormat.cs b/src/Lucene.Net.TestFramework/Codecs/ramonly/RAMOnlyPostingsFormat.cs
index 009ed6b..455e8dc 100644
--- a/src/Lucene.Net.TestFramework/Codecs/ramonly/RAMOnlyPostingsFormat.cs
+++ b/src/Lucene.Net.TestFramework/Codecs/ramonly/RAMOnlyPostingsFormat.cs
@@ -111,9 +111,9 @@ namespace Lucene.Net.Codecs.ramonly
                 return FieldToTerms[field];
             }
 
-            public override int Size()
+            public override int Size
             {
-                return FieldToTerms.Count;
+                get { return FieldToTerms.Count; }
             }
 
             public override IEnumerator<string> GetEnumerator()

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.TestFramework/Index/AllDeletedFilterReader.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.TestFramework/Index/AllDeletedFilterReader.cs b/src/Lucene.Net.TestFramework/Index/AllDeletedFilterReader.cs
index 877d8a3..a14432c 100644
--- a/src/Lucene.Net.TestFramework/Index/AllDeletedFilterReader.cs
+++ b/src/Lucene.Net.TestFramework/Index/AllDeletedFilterReader.cs
@@ -31,8 +31,8 @@ namespace Lucene.Net.Index
         public AllDeletedFilterReader(AtomicReader @in)
             : base(@in)
         {
-            LiveDocs_Renamed = new Bits_MatchNoBits(@in.MaxDoc());
-            Debug.Assert(MaxDoc() == 0 || HasDeletions());
+            LiveDocs_Renamed = new Bits_MatchNoBits(@in.MaxDoc);
+            Debug.Assert(MaxDoc == 0 || HasDeletions);
         }
 
         public override Bits LiveDocs
@@ -43,9 +43,9 @@ namespace Lucene.Net.Index
             }
         }
 
-        public override int NumDocs()
+        public override int NumDocs
         {
-            return 0;
+            get { return 0; }
         }
     }
 }
\ No newline at end of file


[3/7] .NETification

Posted by sy...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestAddIndexes.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestAddIndexes.cs b/src/Lucene.Net.Tests/core/Index/TestAddIndexes.cs
index 2e5b133..ff95cca 100644
--- a/src/Lucene.Net.Tests/core/Index/TestAddIndexes.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestAddIndexes.cs
@@ -68,27 +68,27 @@ namespace Lucene.Net.Index
             writer = NewWriter(dir, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())).SetOpenMode(OpenMode_e.CREATE));
             // add 100 documents
             AddDocs(writer, 100);
-            Assert.AreEqual(100, writer.MaxDoc());
+            Assert.AreEqual(100, writer.MaxDoc);
             writer.Dispose();
             TestUtil.CheckIndex(dir);
 
             writer = NewWriter(aux, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())).SetOpenMode(OpenMode_e.CREATE).SetMergePolicy(NewLogMergePolicy(false)));
             // add 40 documents in separate files
             AddDocs(writer, 40);
-            Assert.AreEqual(40, writer.MaxDoc());
+            Assert.AreEqual(40, writer.MaxDoc);
             writer.Dispose();
 
             writer = NewWriter(aux2, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())).SetOpenMode(OpenMode_e.CREATE));
             // add 50 documents in compound files
             AddDocs2(writer, 50);
-            Assert.AreEqual(50, writer.MaxDoc());
+            Assert.AreEqual(50, writer.MaxDoc);
             writer.Dispose();
 
             // test doc count before segments are merged
             writer = NewWriter(dir, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())).SetOpenMode(OpenMode_e.APPEND));
-            Assert.AreEqual(100, writer.MaxDoc());
+            Assert.AreEqual(100, writer.MaxDoc);
             writer.AddIndexes(aux, aux2);
-            Assert.AreEqual(190, writer.MaxDoc());
+            Assert.AreEqual(190, writer.MaxDoc);
             writer.Dispose();
             TestUtil.CheckIndex(dir);
 
@@ -103,14 +103,14 @@ namespace Lucene.Net.Index
             writer = NewWriter(aux3, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())));
             // add 40 documents
             AddDocs(writer, 40);
-            Assert.AreEqual(40, writer.MaxDoc());
+            Assert.AreEqual(40, writer.MaxDoc);
             writer.Dispose();
 
             // test doc count before segments are merged
             writer = NewWriter(dir, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())).SetOpenMode(OpenMode_e.APPEND));
-            Assert.AreEqual(190, writer.MaxDoc());
+            Assert.AreEqual(190, writer.MaxDoc);
             writer.AddIndexes(aux3);
-            Assert.AreEqual(230, writer.MaxDoc());
+            Assert.AreEqual(230, writer.MaxDoc);
             writer.Dispose();
 
             // make sure the new index is correct
@@ -139,9 +139,9 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             writer = NewWriter(dir, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())).SetOpenMode(OpenMode_e.APPEND));
-            Assert.AreEqual(230, writer.MaxDoc());
+            Assert.AreEqual(230, writer.MaxDoc);
             writer.AddIndexes(aux4);
-            Assert.AreEqual(231, writer.MaxDoc());
+            Assert.AreEqual(231, writer.MaxDoc);
             writer.Dispose();
 
             VerifyNumDocs(dir, 231);
@@ -289,7 +289,7 @@ namespace Lucene.Net.Index
             writer = NewWriter(dir, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())));
             // add 100 documents
             AddDocs(writer, 100);
-            Assert.AreEqual(100, writer.MaxDoc());
+            Assert.AreEqual(100, writer.MaxDoc);
             writer.Dispose();
 
             writer = NewWriter(aux, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())).SetOpenMode(OpenMode_e.CREATE).SetMaxBufferedDocs(1000).SetMergePolicy(NewLogMergePolicy(false)));
@@ -309,7 +309,7 @@ namespace Lucene.Net.Index
             }
             catch (System.ArgumentException e)
             {
-                Assert.AreEqual(100, writer.MaxDoc());
+                Assert.AreEqual(100, writer.MaxDoc);
             }
             writer.Dispose();
 
@@ -336,7 +336,7 @@ namespace Lucene.Net.Index
             AddDocs(writer, 10);
 
             writer.AddIndexes(aux);
-            Assert.AreEqual(1040, writer.MaxDoc());
+            Assert.AreEqual(1040, writer.MaxDoc);
             Assert.AreEqual(1000, writer.GetDocCount(0));
             writer.Dispose();
 
@@ -361,7 +361,7 @@ namespace Lucene.Net.Index
             AddDocs(writer, 2);
 
             writer.AddIndexes(aux);
-            Assert.AreEqual(1032, writer.MaxDoc());
+            Assert.AreEqual(1032, writer.MaxDoc);
             Assert.AreEqual(1000, writer.GetDocCount(0));
             writer.Dispose();
 
@@ -385,7 +385,7 @@ namespace Lucene.Net.Index
             IndexWriter writer = NewWriter(dir, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())).SetOpenMode(OpenMode_e.APPEND).SetMaxBufferedDocs(10).SetMergePolicy(NewLogMergePolicy(4)));
 
             writer.AddIndexes(aux, new MockDirectoryWrapper(Random(), new RAMDirectory(aux, NewIOContext(Random()))));
-            Assert.AreEqual(1060, writer.MaxDoc());
+            Assert.AreEqual(1060, writer.MaxDoc);
             Assert.AreEqual(1000, writer.GetDocCount(0));
             writer.Dispose();
 
@@ -414,7 +414,7 @@ namespace Lucene.Net.Index
             }
             writer.Dispose();
             IndexReader reader = DirectoryReader.Open(aux);
-            Assert.AreEqual(10, reader.NumDocs());
+            Assert.AreEqual(10, reader.NumDocs);
             reader.Dispose();
 
             writer = NewWriter(dir, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())).SetOpenMode(OpenMode_e.APPEND).SetMaxBufferedDocs(4).SetMergePolicy(NewLogMergePolicy(4)));
@@ -424,7 +424,7 @@ namespace Lucene.Net.Index
                 Console.WriteLine("\nTEST: now addIndexes");
             }
             writer.AddIndexes(aux, new MockDirectoryWrapper(Random(), new RAMDirectory(aux, NewIOContext(Random()))));
-            Assert.AreEqual(1020, writer.MaxDoc());
+            Assert.AreEqual(1020, writer.MaxDoc);
             Assert.AreEqual(1000, writer.GetDocCount(0));
             writer.Dispose();
             dir.Dispose();
@@ -445,7 +445,7 @@ namespace Lucene.Net.Index
 
             IndexWriter writer = NewWriter(aux2, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())).SetOpenMode(OpenMode_e.CREATE).SetMaxBufferedDocs(100).SetMergePolicy(NewLogMergePolicy(10)));
             writer.AddIndexes(aux);
-            Assert.AreEqual(30, writer.MaxDoc());
+            Assert.AreEqual(30, writer.MaxDoc);
             Assert.AreEqual(3, writer.SegmentCount);
             writer.Dispose();
 
@@ -457,7 +457,7 @@ namespace Lucene.Net.Index
             }
             writer.Dispose();
             IndexReader reader = DirectoryReader.Open(aux);
-            Assert.AreEqual(3, reader.NumDocs());
+            Assert.AreEqual(3, reader.NumDocs);
             reader.Dispose();
 
             dontMergeConfig = (new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random()))).SetMergePolicy(NoMergePolicy.COMPOUND_FILES);
@@ -468,13 +468,13 @@ namespace Lucene.Net.Index
             }
             writer.Dispose();
             reader = DirectoryReader.Open(aux2);
-            Assert.AreEqual(22, reader.NumDocs());
+            Assert.AreEqual(22, reader.NumDocs);
             reader.Dispose();
 
             writer = NewWriter(dir, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())).SetOpenMode(OpenMode_e.APPEND).SetMaxBufferedDocs(6).SetMergePolicy(NewLogMergePolicy(4)));
 
             writer.AddIndexes(aux, aux2);
-            Assert.AreEqual(1040, writer.MaxDoc());
+            Assert.AreEqual(1040, writer.MaxDoc);
             Assert.AreEqual(1000, writer.GetDocCount(0));
             writer.Dispose();
             dir.Dispose();
@@ -512,8 +512,8 @@ namespace Lucene.Net.Index
         private void VerifyNumDocs(Directory dir, int numDocs)
         {
             IndexReader reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(numDocs, reader.MaxDoc());
-            Assert.AreEqual(numDocs, reader.NumDocs());
+            Assert.AreEqual(numDocs, reader.MaxDoc);
+            Assert.AreEqual(numDocs, reader.NumDocs);
             reader.Dispose();
         }
 
@@ -549,7 +549,7 @@ namespace Lucene.Net.Index
             {
                 AddDocs(writer, 1000);
             }
-            Assert.AreEqual(1000, writer.MaxDoc());
+            Assert.AreEqual(1000, writer.MaxDoc);
             Assert.AreEqual(1, writer.SegmentCount);
             writer.Dispose();
 
@@ -568,7 +568,7 @@ namespace Lucene.Net.Index
                 writer.Dispose();
                 writer = NewWriter(aux, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())).SetOpenMode(OpenMode_e.APPEND).SetMaxBufferedDocs(1000).SetMergePolicy(NewLogMergePolicy(false, 10)));
             }
-            Assert.AreEqual(30, writer.MaxDoc());
+            Assert.AreEqual(30, writer.MaxDoc);
             Assert.AreEqual(3, writer.SegmentCount);
             writer.Dispose();
         }
@@ -840,7 +840,7 @@ namespace Lucene.Net.Index
             Assert.IsTrue(c.Failures.Count == 0, "found unexpected failures: " + c.Failures);
 
             IndexReader reader = DirectoryReader.Open(c.Dir2);
-            Assert.AreEqual(expectedNumDocs, reader.NumDocs());
+            Assert.AreEqual(expectedNumDocs, reader.NumDocs);
             reader.Dispose();
 
             c.CloseDir();
@@ -1096,7 +1096,7 @@ namespace Lucene.Net.Index
             writer = NewWriter(dir, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())).SetOpenMode(OpenMode_e.CREATE).SetCodec(codec));
             // add 100 documents
             AddDocsWithID(writer, 100, 0);
-            Assert.AreEqual(100, writer.MaxDoc());
+            Assert.AreEqual(100, writer.MaxDoc);
             writer.Commit();
             writer.Dispose();
             TestUtil.CheckIndex(dir);
@@ -1104,22 +1104,22 @@ namespace Lucene.Net.Index
             writer = NewWriter(aux, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())).SetOpenMode(OpenMode_e.CREATE).SetCodec(codec).SetMaxBufferedDocs(10).SetMergePolicy(NewLogMergePolicy(false)));
             // add 40 documents in separate files
             AddDocs(writer, 40);
-            Assert.AreEqual(40, writer.MaxDoc());
+            Assert.AreEqual(40, writer.MaxDoc);
             writer.Commit();
             writer.Dispose();
 
             writer = NewWriter(aux2, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())).SetOpenMode(OpenMode_e.CREATE).SetCodec(codec));
             // add 40 documents in compound files
             AddDocs2(writer, 50);
-            Assert.AreEqual(50, writer.MaxDoc());
+            Assert.AreEqual(50, writer.MaxDoc);
             writer.Commit();
             writer.Dispose();
 
             // test doc count before segments are merged
             writer = NewWriter(dir, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())).SetOpenMode(OpenMode_e.APPEND).SetCodec(codec));
-            Assert.AreEqual(100, writer.MaxDoc());
+            Assert.AreEqual(100, writer.MaxDoc);
             writer.AddIndexes(aux, aux2);
-            Assert.AreEqual(190, writer.MaxDoc());
+            Assert.AreEqual(190, writer.MaxDoc);
             writer.Dispose();
 
             dir.Dispose();
@@ -1243,7 +1243,7 @@ namespace Lucene.Net.Index
                 }
                 w.Dispose();
                 IndexReader open = DirectoryReader.Open(dir);
-                Assert.AreEqual(0, open.NumDocs());
+                Assert.AreEqual(0, open.NumDocs);
                 open.Dispose();
                 dir.Dispose();
             }*/
@@ -1292,7 +1292,7 @@ namespace Lucene.Net.Index
 
             IndexReader r3 = w.Reader;
             w.Dispose();
-            Assert.AreEqual(2, r3.NumDocs());
+            Assert.AreEqual(2, r3.NumDocs);
             for (int docID = 0; docID < 2; docID++)
             {
                 Document d = r3.Document(docID);
@@ -1318,9 +1318,9 @@ namespace Lucene.Net.Index
             w.AddIndexes(empty);
             w.Dispose();
             DirectoryReader dr = DirectoryReader.Open(d1);
-            foreach (AtomicReaderContext ctx in dr.Leaves())
+            foreach (AtomicReaderContext ctx in dr.Leaves)
             {
-                Assert.IsTrue(ctx.Reader().MaxDoc() > 0, "empty segments should be dropped by addIndexes");
+                Assert.IsTrue(ctx.Reader.MaxDoc > 0, "empty segments should be dropped by addIndexes");
             }
             dr.Dispose();
             d1.Dispose();
@@ -1336,16 +1336,16 @@ namespace Lucene.Net.Index
             Directory src = NewDirectory(), dest = NewDirectory();
             RandomIndexWriter w = new RandomIndexWriter(Random(), src);
             w.AddDocument(new Document());
-            IndexReader allDeletedReader = new AllDeletedFilterReader((AtomicReader)w.Reader.Leaves()[0].Reader());
+            IndexReader allDeletedReader = new AllDeletedFilterReader((AtomicReader)w.Reader.Leaves[0].Reader);
             w.Dispose();
 
             w = new RandomIndexWriter(Random(), dest);
             w.AddIndexes(allDeletedReader);
             w.Dispose();
             DirectoryReader dr = DirectoryReader.Open(src);
-            foreach (AtomicReaderContext ctx in dr.Leaves())
+            foreach (AtomicReaderContext ctx in dr.Leaves)
             {
-                Assert.IsTrue(ctx.Reader().MaxDoc() > 0, "empty segments should be dropped by addIndexes");
+                Assert.IsTrue(ctx.Reader.MaxDoc > 0, "empty segments should be dropped by addIndexes");
             }
             dr.Dispose();
             allDeletedReader.Dispose();

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestAtomicUpdate.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestAtomicUpdate.cs b/src/Lucene.Net.Tests/core/Index/TestAtomicUpdate.cs
index d662e56..41b63b2 100644
--- a/src/Lucene.Net.Tests/core/Index/TestAtomicUpdate.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestAtomicUpdate.cs
@@ -121,7 +121,7 @@ namespace Lucene.Net.Index
             public override void DoWork()
             {
                 IndexReader r = DirectoryReader.Open(Directory);
-                Assert.AreEqual(100, r.NumDocs());
+                Assert.AreEqual(100, r.NumDocs);
                 r.Dispose();
             }
         }
@@ -154,7 +154,7 @@ namespace Lucene.Net.Index
             writer.Commit();
 
             IndexReader r = DirectoryReader.Open(directory);
-            Assert.AreEqual(100, r.NumDocs());
+            Assert.AreEqual(100, r.NumDocs);
             r.Dispose();
 
             IndexerThread indexerThread = new IndexerThread(writer, threads);

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestBagOfPositions.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestBagOfPositions.cs b/src/Lucene.Net.Tests/core/Index/TestBagOfPositions.cs
index 3579f5a..e7cf985 100644
--- a/src/Lucene.Net.Tests/core/Index/TestBagOfPositions.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestBagOfPositions.cs
@@ -128,8 +128,8 @@ namespace Lucene.Net.Index
 
             iw.ForceMerge(1);
             DirectoryReader ir = iw.Reader;
-            Assert.AreEqual(1, ir.Leaves().Count);
-            AtomicReader air = (AtomicReader)ir.Leaves()[0].Reader();
+            Assert.AreEqual(1, ir.Leaves.Count);
+            AtomicReader air = (AtomicReader)ir.Leaves[0].Reader;
             Terms terms = air.Terms("field");
             // numTerms-1 because there cannot be a term 0 with 0 postings:
             Assert.AreEqual(numTerms - 1, terms.Size());

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestBagOfPostings.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestBagOfPostings.cs b/src/Lucene.Net.Tests/core/Index/TestBagOfPostings.cs
index b1a0c67..38d6886 100644
--- a/src/Lucene.Net.Tests/core/Index/TestBagOfPostings.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestBagOfPostings.cs
@@ -104,11 +104,11 @@ namespace Lucene.Net.Index
 
             iw.ForceMerge(1);
             DirectoryReader ir = iw.Reader;
-            Assert.AreEqual(1, ir.Leaves().Count);
-            AtomicReader air = (AtomicReader)ir.Leaves()[0].Reader();
+            Assert.AreEqual(1, ir.Leaves.Count);
+            AtomicReader air = (AtomicReader)ir.Leaves[0].Reader;
             Terms terms = air.Terms("field");
             // numTerms-1 because there cannot be a term 0 with 0 postings:
-            Assert.AreEqual(numTerms - 1, air.Fields().UniqueTermCount);
+            Assert.AreEqual(numTerms - 1, air.Fields.UniqueTermCount);
             if (iwc.Codec is Lucene3xCodec == false)
             {
                 Assert.AreEqual(numTerms - 1, terms.Size());

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestBinaryDocValuesUpdates.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestBinaryDocValuesUpdates.cs b/src/Lucene.Net.Tests/core/Index/TestBinaryDocValuesUpdates.cs
index 4af1950..9cc5f21 100644
--- a/src/Lucene.Net.Tests/core/Index/TestBinaryDocValuesUpdates.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestBinaryDocValuesUpdates.cs
@@ -143,8 +143,8 @@ namespace Lucene.Net.Index
                 writer.Dispose();
             }
 
-            Assert.AreEqual(1, reader.Leaves().Count);
-            AtomicReader r = (AtomicReader)reader.Leaves()[0].Reader();
+            Assert.AreEqual(1, reader.Leaves.Count);
+            AtomicReader r = (AtomicReader)reader.Leaves[0].Reader;
             BinaryDocValues bdv = r.GetBinaryDocValues("val");
             BytesRef scratch = new BytesRef();
             Assert.AreEqual(2, GetValue(bdv, 0, scratch));
@@ -195,12 +195,12 @@ namespace Lucene.Net.Index
             }
 
             BytesRef scratch = new BytesRef();
-            foreach (AtomicReaderContext context in reader.Leaves())
+            foreach (AtomicReaderContext context in reader.Leaves)
             {
-                AtomicReader r = (AtomicReader)context.Reader();
+                AtomicReader r = context.AtomicReader;
                 BinaryDocValues bdv = r.GetBinaryDocValues("val");
                 Assert.IsNotNull(bdv);
-                for (int i = 0; i < r.MaxDoc(); i++)
+                for (int i = 0; i < r.MaxDoc; i++)
                 {
                     long expected = expectedValues[i + context.DocBase];
                     long actual = GetValue(bdv, i, scratch);
@@ -246,8 +246,8 @@ namespace Lucene.Net.Index
             Assert.IsTrue(reader1 != reader2);
 
             BytesRef scratch = new BytesRef();
-            BinaryDocValues bdv1 = ((AtomicReader)reader1.Leaves()[0].Reader()).GetBinaryDocValues("val");
-            BinaryDocValues bdv2 = ((AtomicReader)reader2.Leaves()[0].Reader()).GetBinaryDocValues("val");
+            BinaryDocValues bdv1 = ((AtomicReader)reader1.Leaves[0].Reader).GetBinaryDocValues("val");
+            BinaryDocValues bdv2 = ((AtomicReader)reader2.Leaves[0].Reader).GetBinaryDocValues("val");
             Assert.AreEqual(1, GetValue(bdv1, 0, scratch));
             Assert.AreEqual(10, GetValue(bdv2, 0, scratch));
 
@@ -346,7 +346,7 @@ namespace Lucene.Net.Index
                 writer.Dispose();
             }
 
-            AtomicReader r = (AtomicReader)reader.Leaves()[0].Reader();
+            AtomicReader r = (AtomicReader)reader.Leaves[0].Reader;
             Assert.IsFalse(r.LiveDocs.Get(0));
             Assert.AreEqual(17, GetValue(r.GetBinaryDocValues("val"), 1, new BytesRef()));
 
@@ -386,7 +386,7 @@ namespace Lucene.Net.Index
                 writer.Dispose();
             }
 
-            AtomicReader r = (AtomicReader)reader.Leaves()[0].Reader();
+            AtomicReader r = (AtomicReader)reader.Leaves[0].Reader;
             Assert.IsFalse(r.LiveDocs.Get(0));
             Assert.AreEqual(1, GetValue(r.GetBinaryDocValues("val"), 0, new BytesRef())); // deletes are currently applied first
 
@@ -420,13 +420,13 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             DirectoryReader reader = DirectoryReader.Open(dir);
-            AtomicReader r = (AtomicReader)reader.Leaves()[0].Reader();
+            AtomicReader r = (AtomicReader)reader.Leaves[0].Reader;
             NumericDocValues ndv = r.GetNumericDocValues("ndv");
             BinaryDocValues bdv = r.GetBinaryDocValues("bdv");
             SortedDocValues sdv = r.GetSortedDocValues("sdv");
             SortedSetDocValues ssdv = r.GetSortedSetDocValues("ssdv");
             BytesRef scratch = new BytesRef();
-            for (int i = 0; i < r.MaxDoc(); i++)
+            for (int i = 0; i < r.MaxDoc; i++)
             {
                 Assert.AreEqual(i, ndv.Get(i));
                 Assert.AreEqual(17, GetValue(bdv, i, scratch));
@@ -472,12 +472,12 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             DirectoryReader reader = DirectoryReader.Open(dir);
-            AtomicReader r = (AtomicReader)reader.Leaves()[0].Reader();
+            AtomicReader r = (AtomicReader)reader.Leaves[0].Reader;
 
             BinaryDocValues bdv1 = r.GetBinaryDocValues("bdv1");
             BinaryDocValues bdv2 = r.GetBinaryDocValues("bdv2");
             BytesRef scratch = new BytesRef();
-            for (int i = 0; i < r.MaxDoc(); i++)
+            for (int i = 0; i < r.MaxDoc; i++)
             {
                 Assert.AreEqual(17, GetValue(bdv1, i, scratch));
                 Assert.AreEqual(i, GetValue(bdv2, i, scratch));
@@ -511,10 +511,10 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             DirectoryReader reader = DirectoryReader.Open(dir);
-            AtomicReader r = (AtomicReader)reader.Leaves()[0].Reader();
+            AtomicReader r = (AtomicReader)reader.Leaves[0].Reader;
             BinaryDocValues bdv = r.GetBinaryDocValues("bdv");
             BytesRef scratch = new BytesRef();
-            for (int i = 0; i < r.MaxDoc(); i++)
+            for (int i = 0; i < r.MaxDoc; i++)
             {
                 Assert.AreEqual(17, GetValue(bdv, i, scratch));
             }
@@ -545,10 +545,10 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             DirectoryReader reader = DirectoryReader.Open(dir);
-            AtomicReader r = (AtomicReader)reader.Leaves()[0].Reader();
+            AtomicReader r = (AtomicReader)reader.Leaves[0].Reader;
             BinaryDocValues bdv = r.GetBinaryDocValues("bdv");
             BytesRef scratch = new BytesRef();
-            for (int i = 0; i < r.MaxDoc(); i++)
+            for (int i = 0; i < r.MaxDoc; i++)
             {
                 if (i == 0)
                 {
@@ -591,10 +591,10 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             DirectoryReader reader = DirectoryReader.Open(dir);
-            AtomicReader r = (AtomicReader)reader.Leaves()[0].Reader();
+            AtomicReader r = (AtomicReader)reader.Leaves[0].Reader;
             BinaryDocValues bdv = r.GetBinaryDocValues("bdv");
             BytesRef scratch = new BytesRef();
-            for (int i = 0; i < r.MaxDoc(); i++)
+            for (int i = 0; i < r.MaxDoc; i++)
             {
                 bdv.Get(i, scratch);
                 Assert.AreEqual(0, scratch.Length);
@@ -673,7 +673,7 @@ namespace Lucene.Net.Index
             BinaryDocValues bdv = r.GetBinaryDocValues("bdv");
             SortedDocValues sdv = r.GetSortedDocValues("sorted");
             BytesRef scratch = new BytesRef();
-            for (int i = 0; i < r.MaxDoc(); i++)
+            for (int i = 0; i < r.MaxDoc; i++)
             {
                 Assert.AreEqual(17, GetValue(bdv, i, scratch));
                 sdv.Get(i, scratch);
@@ -721,7 +721,7 @@ namespace Lucene.Net.Index
             AtomicReader r = SlowCompositeReaderWrapper.Wrap(reader);
             BinaryDocValues bdv = r.GetBinaryDocValues("bdv");
             BytesRef scratch = new BytesRef();
-            for (int i = 0; i < r.MaxDoc(); i++)
+            for (int i = 0; i < r.MaxDoc; i++)
             {
                 Assert.AreEqual(3, GetValue(bdv, i, scratch));
             }
@@ -795,13 +795,13 @@ namespace Lucene.Net.Index
                     reader = DirectoryReader.Open(writer, true);
                 }
 
-                Assert.AreEqual(1, reader.Leaves().Count);
-                AtomicReader r = (AtomicReader)reader.Leaves()[0].Reader();
+                Assert.AreEqual(1, reader.Leaves.Count);
+                AtomicReader r = (AtomicReader)reader.Leaves[0].Reader;
                 Assert.IsNull(r.LiveDocs, "index should have no deletes after forceMerge");
                 BinaryDocValues bdv = r.GetBinaryDocValues("bdv");
                 Assert.IsNotNull(bdv);
                 BytesRef scratch = new BytesRef();
-                for (int i = 0; i < r.MaxDoc(); i++)
+                for (int i = 0; i < r.MaxDoc; i++)
                 {
                     Assert.AreEqual(value, GetValue(bdv, i, scratch));
                 }
@@ -836,7 +836,7 @@ namespace Lucene.Net.Index
             AtomicReader r = SlowCompositeReaderWrapper.Wrap(reader);
             BinaryDocValues bdv = r.GetBinaryDocValues("bdv");
             BytesRef scratch = new BytesRef();
-            for (int i = 0; i < r.MaxDoc(); i++)
+            for (int i = 0; i < r.MaxDoc; i++)
             {
                 Assert.AreEqual(3, GetValue(bdv, i, scratch));
             }
@@ -939,11 +939,11 @@ namespace Lucene.Net.Index
                 reader.Dispose();
                 reader = newReader;
                 //      System.out.println("[" + Thread.currentThread().getName() + "]: reopened reader: " + reader);
-                Assert.IsTrue(reader.NumDocs() > 0); // we delete at most one document per round
+                Assert.IsTrue(reader.NumDocs > 0); // we delete at most one document per round
                 BytesRef scratch = new BytesRef();
-                foreach (AtomicReaderContext context in reader.Leaves())
+                foreach (AtomicReaderContext context in reader.Leaves)
                 {
-                    AtomicReader r = (AtomicReader)context.Reader();
+                    AtomicReader r = context.AtomicReader;
                     //        System.out.println(((SegmentReader) r).getSegmentName());
                     Bits liveDocs = r.LiveDocs;
                     for (int field = 0; field < fieldValues.Length; field++)
@@ -952,7 +952,7 @@ namespace Lucene.Net.Index
                         BinaryDocValues bdv = r.GetBinaryDocValues(f);
                         Bits docsWithField = r.GetDocsWithField(f);
                         Assert.IsNotNull(bdv);
-                        int maxDoc = r.MaxDoc();
+                        int maxDoc = r.MaxDoc;
                         for (int doc = 0; doc < maxDoc; doc++)
                         {
                             if (liveDocs == null || liveDocs.Get(doc))
@@ -1018,9 +1018,9 @@ namespace Lucene.Net.Index
 
             DirectoryReader reader = DirectoryReader.Open(dir);
             BytesRef scratch = new BytesRef();
-            foreach (AtomicReaderContext context in reader.Leaves())
+            foreach (AtomicReaderContext context in reader.Leaves)
             {
-                AtomicReader r = (AtomicReader)context.Reader();
+                AtomicReader r = context.AtomicReader;
                 BinaryDocValues bdv = r.GetBinaryDocValues("bdv");
                 Bits docsWithField = r.GetDocsWithField("bdv");
                 Assert.IsNotNull(docsWithField);
@@ -1066,11 +1066,11 @@ namespace Lucene.Net.Index
 
             DirectoryReader reader = DirectoryReader.Open(dir);
             BytesRef scratch = new BytesRef();
-            foreach (AtomicReaderContext context in reader.Leaves())
+            foreach (AtomicReaderContext context in reader.Leaves)
             {
-                AtomicReader r = (AtomicReader)context.Reader();
+                AtomicReader r = context.AtomicReader;
                 BinaryDocValues bdv = r.GetBinaryDocValues("bdv");
-                for (int i = 0; i < r.MaxDoc(); i++)
+                for (int i = 0; i < r.MaxDoc; i++)
                 {
                     Assert.AreEqual(5L, GetValue(bdv, i, scratch));
                 }
@@ -1098,7 +1098,7 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             DirectoryReader r = DirectoryReader.Open(dir);
-            BinaryDocValues bdv = ((AtomicReader)r.Leaves()[0].Reader()).GetBinaryDocValues("f");
+            BinaryDocValues bdv = ((AtomicReader)r.Leaves[0].Reader).GetBinaryDocValues("f");
             Assert.AreEqual(17, GetValue(bdv, 0, new BytesRef()));
             r.Dispose();
 
@@ -1207,9 +1207,9 @@ namespace Lucene.Net.Index
 
             DirectoryReader reader = DirectoryReader.Open(dir);
             BytesRef scratch = new BytesRef();
-            foreach (AtomicReaderContext context in reader.Leaves())
+            foreach (AtomicReaderContext context in reader.Leaves)
             {
-                AtomicReader r = (AtomicReader)context.Reader();
+                AtomicReader r = context.AtomicReader;
                 for (int i = 0; i < numThreads; i++)
                 {
                     BinaryDocValues bdv = r.GetBinaryDocValues("f" + i);
@@ -1217,7 +1217,7 @@ namespace Lucene.Net.Index
                     Bits docsWithBdv = r.GetDocsWithField("f" + i);
                     Bits docsWithControl = r.GetDocsWithField("cf" + i);
                     Bits liveDocs = r.LiveDocs;
-                    for (int j = 0; j < r.MaxDoc(); j++)
+                    for (int j = 0; j < r.MaxDoc; j++)
                     {
                         if (liveDocs == null || liveDocs.Get(j))
                         {
@@ -1388,12 +1388,12 @@ namespace Lucene.Net.Index
                 writer.UpdateBinaryDocValue(t, "f", ToBytes(value));
                 writer.UpdateBinaryDocValue(t, "cf", ToBytes(value * 2));
                 DirectoryReader reader = DirectoryReader.Open(writer, true);
-                foreach (AtomicReaderContext context in reader.Leaves())
+                foreach (AtomicReaderContext context in reader.Leaves)
                 {
-                    AtomicReader r = (AtomicReader)context.Reader();
+                    AtomicReader r = context.AtomicReader;
                     BinaryDocValues fbdv = r.GetBinaryDocValues("f");
                     BinaryDocValues cfbdv = r.GetBinaryDocValues("cf");
-                    for (int j = 0; j < r.MaxDoc(); j++)
+                    for (int j = 0; j < r.MaxDoc; j++)
                     {
                         Assert.AreEqual(GetValue(cfbdv, j, scratch), GetValue(fbdv, j, scratch) * 2);
                     }
@@ -1527,12 +1527,12 @@ namespace Lucene.Net.Index
 
             DirectoryReader reader_ = DirectoryReader.Open(dir2);
             BytesRef scratch = new BytesRef();
-            foreach (AtomicReaderContext context in reader_.Leaves())
+            foreach (AtomicReaderContext context in reader_.Leaves)
             {
-                AtomicReader r = (AtomicReader)context.Reader();
+                AtomicReader r = context.AtomicReader;
                 BinaryDocValues bdv = r.GetBinaryDocValues("bdv");
                 BinaryDocValues control = r.GetBinaryDocValues("control");
-                for (int i = 0; i < r.MaxDoc(); i++)
+                for (int i = 0; i < r.MaxDoc; i++)
                 {
                     Assert.AreEqual(GetValue(bdv, i, scratch) * 2, GetValue(control, i, scratch));
                 }
@@ -1561,7 +1561,7 @@ namespace Lucene.Net.Index
 
             DirectoryReader r = DirectoryReader.Open(dir);
             BytesRef scratch = new BytesRef();
-            Assert.AreEqual(2L, GetValue(((AtomicReader)r.Leaves()[0].Reader()).GetBinaryDocValues("f"), 0, scratch));
+            Assert.AreEqual(2L, GetValue(((AtomicReader)r.Leaves[0].Reader).GetBinaryDocValues("f"), 0, scratch));
             r.Dispose();
 
             // create second gen of update files, first gen should be deleted
@@ -1570,7 +1570,7 @@ namespace Lucene.Net.Index
             Assert.AreEqual(numFiles, dir.ListAll().Length);
 
             r = DirectoryReader.Open(dir);
-            Assert.AreEqual(5L, GetValue(((AtomicReader)r.Leaves()[0].Reader()).GetBinaryDocValues("f"), 0, scratch));
+            Assert.AreEqual(5L, GetValue(((AtomicReader)r.Leaves[0].Reader).GetBinaryDocValues("f"), 0, scratch));
             r.Dispose();
 
             writer.Dispose();
@@ -1638,14 +1638,14 @@ namespace Lucene.Net.Index
 
             DirectoryReader reader = DirectoryReader.Open(dir);
             BytesRef scratch = new BytesRef();
-            foreach (AtomicReaderContext context in reader.Leaves())
+            foreach (AtomicReaderContext context in reader.Leaves)
             {
                 for (int i = 0; i < numBinaryFields; i++)
                 {
-                    AtomicReader r = (AtomicReader)context.Reader();
+                    AtomicReader r = context.AtomicReader;
                     BinaryDocValues f = r.GetBinaryDocValues("f" + i);
                     BinaryDocValues cf = r.GetBinaryDocValues("cf" + i);
-                    for (int j = 0; j < r.MaxDoc(); j++)
+                    for (int j = 0; j < r.MaxDoc; j++)
                     {
                         Assert.AreEqual(GetValue(cf, j, scratch), GetValue(f, j, scratch) * 2, "reader=" + r + ", field=f" + i + ", doc=" + j);
                     }
@@ -1678,8 +1678,8 @@ namespace Lucene.Net.Index
 
             DirectoryReader reader = DirectoryReader.Open(dir);
             BytesRef scratch = new BytesRef();
-            Assert.AreEqual(4, GetValue(((AtomicReader)reader.Leaves()[0].Reader()).GetBinaryDocValues("f1"), 0, scratch));
-            Assert.AreEqual(3, GetValue(((AtomicReader)reader.Leaves()[0].Reader()).GetBinaryDocValues("f2"), 0, scratch));
+            Assert.AreEqual(4, GetValue(((AtomicReader)reader.Leaves[0].Reader).GetBinaryDocValues("f1"), 0, scratch));
+            Assert.AreEqual(3, GetValue(((AtomicReader)reader.Leaves[0].Reader).GetBinaryDocValues("f2"), 0, scratch));
             reader.Dispose();
 
             dir.Dispose();
@@ -1704,8 +1704,8 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             DirectoryReader reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(1, reader.Leaves().Count);
-            Assert.AreEqual(2L, GetValue(((AtomicReader)reader.Leaves()[0].Reader()).GetBinaryDocValues("f1"), 0, new BytesRef()));
+            Assert.AreEqual(1, reader.Leaves.Count);
+            Assert.AreEqual(2L, GetValue(((AtomicReader)reader.Leaves[0].Reader).GetBinaryDocValues("f1"), 0, new BytesRef()));
             reader.Dispose();
 
             dir.Dispose();
@@ -1728,8 +1728,8 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             DirectoryReader reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(1, reader.Leaves().Count);
-            Assert.AreEqual(1L, GetValue(((AtomicReader)reader.Leaves()[0].Reader()).GetBinaryDocValues("f1"), 0, new BytesRef()));
+            Assert.AreEqual(1, reader.Leaves.Count);
+            Assert.AreEqual(1L, GetValue(((AtomicReader)reader.Leaves[0].Reader).GetBinaryDocValues("f1"), 0, new BytesRef()));
             reader.Dispose();
 
             dir.Dispose();

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestCodecHoldsOpenFiles.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestCodecHoldsOpenFiles.cs b/src/Lucene.Net.Tests/core/Index/TestCodecHoldsOpenFiles.cs
index 5e2446c..db7e926 100644
--- a/src/Lucene.Net.Tests/core/Index/TestCodecHoldsOpenFiles.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestCodecHoldsOpenFiles.cs
@@ -60,9 +60,9 @@ namespace Lucene.Net.Index
                 }
             }
 
-            foreach (AtomicReaderContext cxt in r.Leaves())
+            foreach (AtomicReaderContext cxt in r.Leaves)
             {
-                TestUtil.CheckReader(cxt.Reader());
+                TestUtil.CheckReader(cxt.Reader);
             }
 
             r.Dispose();
@@ -99,9 +99,9 @@ namespace Lucene.Net.Index
                 }
             }
 
-            foreach (AtomicReaderContext cxt in r.Leaves())
+            foreach (AtomicReaderContext cxt in r.Leaves)
             {
-                TestUtil.CheckReader(cxt.Reader());
+                TestUtil.CheckReader(cxt.Reader);
             }
 
             r.Dispose();

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestCodecs.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestCodecs.cs b/src/Lucene.Net.Tests/core/Index/TestCodecs.cs
index 6c0804e..c54c2d3 100644
--- a/src/Lucene.Net.Tests/core/Index/TestCodecs.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestCodecs.cs
@@ -874,9 +874,9 @@ namespace Lucene.Net.Index
 
             Term term = new Term("f", new BytesRef("doc"));
             DirectoryReader reader = DirectoryReader.Open(dir);
-            foreach (AtomicReaderContext ctx in reader.Leaves())
+            foreach (AtomicReaderContext ctx in reader.Leaves)
             {
-                DocsEnum de = ((AtomicReader)ctx.Reader()).TermDocsEnum(term);
+                DocsEnum de = ((AtomicReader)ctx.Reader).TermDocsEnum(term);
                 while (de.NextDoc() != DocIdSetIterator.NO_MORE_DOCS)
                 {
                     Assert.AreEqual(1, de.Freq(), "wrong freq for doc " + de.DocID());

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestConcurrentMergeScheduler.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestConcurrentMergeScheduler.cs b/src/Lucene.Net.Tests/core/Index/TestConcurrentMergeScheduler.cs
index 13c7370..dc9d644 100644
--- a/src/Lucene.Net.Tests/core/Index/TestConcurrentMergeScheduler.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestConcurrentMergeScheduler.cs
@@ -159,7 +159,7 @@ namespace Lucene.Net.Index
 
             writer.Dispose();
             IndexReader reader = DirectoryReader.Open(directory);
-            Assert.AreEqual(200 + extraCount, reader.NumDocs());
+            Assert.AreEqual(200 + extraCount, reader.NumDocs);
             reader.Dispose();
             directory.Dispose();
         }
@@ -210,7 +210,7 @@ namespace Lucene.Net.Index
             writer.Dispose();
             IndexReader reader = DirectoryReader.Open(directory);
             // Verify that we did not lose any deletes...
-            Assert.AreEqual(450, reader.NumDocs());
+            Assert.AreEqual(450, reader.NumDocs);
             reader.Dispose();
             directory.Dispose();
         }
@@ -281,7 +281,7 @@ namespace Lucene.Net.Index
                 writer.Dispose(false);
 
                 IndexReader reader = DirectoryReader.Open(directory);
-                Assert.AreEqual((1 + iter) * 182, reader.NumDocs());
+                Assert.AreEqual((1 + iter) * 182, reader.NumDocs);
                 reader.Dispose();
 
                 // Reopen

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestCrash.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestCrash.cs b/src/Lucene.Net.Tests/core/Index/TestCrash.cs
index d6e8456..5447e03 100644
--- a/src/Lucene.Net.Tests/core/Index/TestCrash.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestCrash.cs
@@ -86,7 +86,7 @@ namespace Lucene.Net.Index
             Crash(writer);
 
             IndexReader reader = DirectoryReader.Open(dir);
-            Assert.IsTrue(reader.NumDocs() < 157);
+            Assert.IsTrue(reader.NumDocs < 157);
             reader.Dispose();
 
             // Make a new dir, copying from the crashed dir, and
@@ -121,7 +121,7 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             IndexReader reader = DirectoryReader.Open(dir);
-            Assert.IsTrue(reader.NumDocs() < 314);
+            Assert.IsTrue(reader.NumDocs < 314);
             reader.Dispose();
 
             // Make a new dir, copying from the crashed dir, and
@@ -146,7 +146,7 @@ namespace Lucene.Net.Index
 
             writer.Dispose();
             writer = InitIndex(Random(), dir, false);
-            Assert.AreEqual(314, writer.MaxDoc());
+            Assert.AreEqual(314, writer.MaxDoc);
             Crash(writer);
 
             /*
@@ -159,7 +159,7 @@ namespace Lucene.Net.Index
             */
 
             IndexReader reader = DirectoryReader.Open(dir);
-            Assert.IsTrue(reader.NumDocs() >= 157);
+            Assert.IsTrue(reader.NumDocs >= 157);
             reader.Dispose();
 
             // Make a new dir, copying from the crashed dir, and
@@ -189,7 +189,7 @@ namespace Lucene.Net.Index
             */
 
             IndexReader reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(157, reader.NumDocs());
+            Assert.AreEqual(157, reader.NumDocs);
             reader.Dispose();
             dir.Dispose();
         }
@@ -211,7 +211,7 @@ namespace Lucene.Net.Index
               System.out.println("file " + i + " = " + l[i] + " " + dir.FileLength(l[i]) + " bytes");
             */
             IndexReader reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(157, reader.NumDocs());
+            Assert.AreEqual(157, reader.NumDocs);
             reader.Dispose();
             dir.Dispose();
         }

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestCustomNorms.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestCustomNorms.cs b/src/Lucene.Net.Tests/core/Index/TestCustomNorms.cs
index a723dbb..9cae1e4 100644
--- a/src/Lucene.Net.Tests/core/Index/TestCustomNorms.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestCustomNorms.cs
@@ -76,7 +76,7 @@ namespace Lucene.Net.Index
             AtomicReader open = SlowCompositeReaderWrapper.Wrap(DirectoryReader.Open(dir));
             NumericDocValues norms = open.GetNormValues(FloatTestField);
             Assert.IsNotNull(norms);
-            for (int i = 0; i < open.MaxDoc(); i++)
+            for (int i = 0; i < open.MaxDoc; i++)
             {
                 Document document = open.Document(i);
                 float expected = Convert.ToSingle(document.Get(FloatTestField));

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestDeletionPolicy.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestDeletionPolicy.cs b/src/Lucene.Net.Tests/core/Index/TestDeletionPolicy.cs
index 9953a99..04ec9c4 100644
--- a/src/Lucene.Net.Tests/core/Index/TestDeletionPolicy.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestDeletionPolicy.cs
@@ -89,7 +89,7 @@ namespace Lucene.Net.Index
             {
                 IndexCommit lastCommit = commits[commits.Count - 1];
                 DirectoryReader r = DirectoryReader.Open(Dir);
-                Assert.AreEqual(r.Leaves().Count, lastCommit.SegmentCount, "lastCommit.segmentCount()=" + lastCommit.SegmentCount + " vs IndexReader.segmentCount=" + r.Leaves().Count);
+                Assert.AreEqual(r.Leaves.Count, lastCommit.SegmentCount, "lastCommit.segmentCount()=" + lastCommit.SegmentCount + " vs IndexReader.segmentCount=" + r.Leaves.Count);
                 r.Dispose();
                 OuterInstance.VerifyCommitOrder(commits);
                 NumOnCommit++;
@@ -377,7 +377,7 @@ namespace Lucene.Net.Index
                 bool needsMerging;
                 {
                     DirectoryReader r = DirectoryReader.Open(dir);
-                    needsMerging = r.Leaves().Count != 1;
+                    needsMerging = r.Leaves.Count != 1;
                     r.Dispose();
                 }
                 if (needsMerging)
@@ -493,8 +493,8 @@ namespace Lucene.Net.Index
 
             DirectoryReader r = DirectoryReader.Open(dir);
             // Still merged, still 11 docs
-            Assert.AreEqual(1, r.Leaves().Count);
-            Assert.AreEqual(11, r.NumDocs());
+            Assert.AreEqual(1, r.Leaves.Count);
+            Assert.AreEqual(11, r.NumDocs);
             r.Dispose();
 
             writer = new IndexWriter(dir, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())).SetIndexDeletionPolicy(policy).SetIndexCommit(lastCommit));
@@ -508,8 +508,8 @@ namespace Lucene.Net.Index
             r = DirectoryReader.Open(dir);
             // Not fully merged because we rolled it back, and now only
             // 10 docs
-            Assert.IsTrue(r.Leaves().Count > 1);
-            Assert.AreEqual(10, r.NumDocs());
+            Assert.IsTrue(r.Leaves.Count > 1);
+            Assert.AreEqual(10, r.NumDocs);
             r.Dispose();
 
             // Re-merge
@@ -518,8 +518,8 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             r = DirectoryReader.Open(dir);
-            Assert.AreEqual(1, r.Leaves().Count);
-            Assert.AreEqual(10, r.NumDocs());
+            Assert.AreEqual(1, r.Leaves.Count);
+            Assert.AreEqual(10, r.NumDocs);
             r.Dispose();
 
             // Now open writer on the commit just before merging,
@@ -530,16 +530,16 @@ namespace Lucene.Net.Index
             // Reader still sees fully merged index, because writer
             // opened on the prior commit has not yet committed:
             r = DirectoryReader.Open(dir);
-            Assert.AreEqual(1, r.Leaves().Count);
-            Assert.AreEqual(10, r.NumDocs());
+            Assert.AreEqual(1, r.Leaves.Count);
+            Assert.AreEqual(10, r.NumDocs);
             r.Dispose();
 
             writer.Dispose();
 
             // Now reader sees not-fully-merged index:
             r = DirectoryReader.Open(dir);
-            Assert.IsTrue(r.Leaves().Count > 1);
-            Assert.AreEqual(10, r.NumDocs());
+            Assert.IsTrue(r.Leaves.Count > 1);
+            Assert.AreEqual(10, r.NumDocs);
             r.Dispose();
 
             dir.Dispose();

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestDirectoryReader.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestDirectoryReader.cs b/src/Lucene.Net.Tests/core/Index/TestDirectoryReader.cs
index 6a0a2c0..d3c3a9d 100644
--- a/src/Lucene.Net.Tests/core/Index/TestDirectoryReader.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestDirectoryReader.cs
@@ -384,7 +384,7 @@ namespace Lucene.Net.Index
             writer.AddDocument(doc);
             writer.Dispose();
             DirectoryReader reader = DirectoryReader.Open(dir);
-            Document doc2 = reader.Document(reader.MaxDoc() - 1);
+            Document doc2 = reader.Document(reader.MaxDoc - 1);
             IndexableField[] fields = doc2.GetFields("bin1");
             Assert.IsNotNull(fields);
             Assert.AreEqual(1, fields.Length);
@@ -403,7 +403,7 @@ namespace Lucene.Net.Index
             writer.ForceMerge(1);
             writer.Dispose();
             reader = DirectoryReader.Open(dir);
-            doc2 = reader.Document(reader.MaxDoc() - 1);
+            doc2 = reader.Document(reader.MaxDoc - 1);
             fields = doc2.GetFields("bin1");
             Assert.IsNotNull(fields);
             Assert.AreEqual(1, fields.Length);
@@ -557,10 +557,10 @@ namespace Lucene.Net.Index
         // TODO: maybe this can reuse the logic of test dueling codecs?
         public static void AssertIndexEquals(DirectoryReader index1, DirectoryReader index2)
         {
-            Assert.AreEqual(index1.NumDocs(), index2.NumDocs(), "IndexReaders have different values for numDocs.");
-            Assert.AreEqual(index1.MaxDoc(), index2.MaxDoc(), "IndexReaders have different values for maxDoc.");
-            Assert.AreEqual(index1.HasDeletions(), index2.HasDeletions(), "Only one IndexReader has deletions.");
-            Assert.AreEqual(index1.Leaves().Count == 1, index2.Leaves().Count == 1, "Single segment test differs.");
+            Assert.AreEqual(index1.NumDocs, index2.NumDocs, "IndexReaders have different values for numDocs.");
+            Assert.AreEqual(index1.MaxDoc, index2.MaxDoc, "IndexReaders have different values for maxDoc.");
+            Assert.AreEqual(index1.HasDeletions, index2.HasDeletions, "Only one IndexReader has deletions.");
+            Assert.AreEqual(index1.Leaves.Count == 1, index2.Leaves.Count == 1, "Single segment test differs.");
 
             // check field names
             FieldInfos fieldInfos1 = MultiFields.GetMergedFieldInfos(index1);
@@ -583,7 +583,7 @@ namespace Lucene.Net.Index
                 if (norms1 != null && norms2 != null)
                 {
                     // todo: generalize this (like TestDuelingCodecs assert)
-                    for (int i = 0; i < index1.MaxDoc(); i++)
+                    for (int i = 0; i < index1.MaxDoc; i++)
                     {
                         Assert.AreEqual(norms1.Get(i), norms2.Get(i), "Norm different for doc " + i + " and field '" + curField + "'.");
                     }
@@ -598,13 +598,13 @@ namespace Lucene.Net.Index
             // check deletions
             Bits liveDocs1 = MultiFields.GetLiveDocs(index1);
             Bits liveDocs2 = MultiFields.GetLiveDocs(index2);
-            for (int i = 0; i < index1.MaxDoc(); i++)
+            for (int i = 0; i < index1.MaxDoc; i++)
             {
                 Assert.AreEqual(liveDocs1 == null || !liveDocs1.Get(i), liveDocs2 == null || !liveDocs2.Get(i), "Doc " + i + " only deleted in one index.");
             }
 
             // check stored fields
-            for (int i = 0; i < index1.MaxDoc(); i++)
+            for (int i = 0; i < index1.MaxDoc; i++)
             {
                 if (liveDocs1 == null || liveDocs1.Get(i))
                 {
@@ -804,7 +804,7 @@ namespace Lucene.Net.Index
             DirectoryReader r2 = DirectoryReader.OpenIfChanged(r);
             Assert.IsNotNull(r2);
             r.Dispose();
-            AtomicReader sub0 = (AtomicReader)r2.Leaves()[0].Reader();
+            AtomicReader sub0 = (AtomicReader)r2.Leaves[0].Reader;
             FieldCache_Fields.Ints ints2 = FieldCache_Fields.DEFAULT.GetInts(sub0, "number", false);
             r2.Dispose();
             Assert.IsTrue(ints == ints2);
@@ -828,16 +828,16 @@ namespace Lucene.Net.Index
 
             DirectoryReader r = DirectoryReader.Open(dir);
             AtomicReader r1 = GetOnlySegmentReader(r);
-            Assert.AreEqual(36, r1.Fields().UniqueTermCount);
+            Assert.AreEqual(36, r1.Fields.UniqueTermCount);
             writer.AddDocument(doc);
             writer.Commit();
             DirectoryReader r2 = DirectoryReader.OpenIfChanged(r);
             Assert.IsNotNull(r2);
             r.Dispose();
 
-            foreach (AtomicReaderContext s in r2.Leaves())
+            foreach (AtomicReaderContext s in r2.Leaves)
             {
-                Assert.AreEqual(36, ((AtomicReader)s.Reader()).Fields().UniqueTermCount);
+                Assert.AreEqual(36, ((AtomicReader)s.Reader).Fields.UniqueTermCount);
             }
             r2.Dispose();
             writer.Dispose();
@@ -868,7 +868,7 @@ namespace Lucene.Net.Index
                 // expected
             }
 
-            Assert.AreEqual(-1, ((SegmentReader)r.Leaves()[0].Reader()).TermInfosIndexDivisor);
+            Assert.AreEqual(-1, ((SegmentReader)r.Leaves[0].Reader).TermInfosIndexDivisor);
             writer = new IndexWriter(dir, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())).SetCodec(TestUtil.AlwaysPostingsFormat(new Lucene41PostingsFormat())).SetMergePolicy(NewLogMergePolicy(10)));
             writer.AddDocument(doc);
             writer.Dispose();
@@ -878,13 +878,13 @@ namespace Lucene.Net.Index
             Assert.IsNotNull(r2);
             Assert.IsNull(DirectoryReader.OpenIfChanged(r2));
             r.Dispose();
-            IList<AtomicReaderContext> leaves = r2.Leaves();
+            IList<AtomicReaderContext> leaves = r2.Leaves;
             Assert.AreEqual(2, leaves.Count);
             foreach (AtomicReaderContext ctx in leaves)
             {
                 try
                 {
-                    ctx.Reader().DocFreq(new Term("field", "f"));
+                    ctx.Reader.DocFreq(new Term("field", "f"));
                     Assert.Fail("did not hit expected exception");
                 }
                 catch (InvalidOperationException ise)
@@ -1190,7 +1190,7 @@ namespace Lucene.Net.Index
                 {
                     while (ToInc.TryIncRef())
                     {
-                        Assert.IsFalse(ToInc.HasDeletions());
+                        Assert.IsFalse(ToInc.HasDeletions);
                         ToInc.DecRef();
                     }
                     Assert.IsFalse(ToInc.TryIncRef());
@@ -1265,7 +1265,7 @@ namespace Lucene.Net.Index
             {
                 // expected
             }
-            Assert.AreEqual(-1, ((SegmentReader)r.Leaves()[0].Reader()).TermInfosIndexDivisor);
+            Assert.AreEqual(-1, ((SegmentReader)r.Leaves[0].Reader).TermInfosIndexDivisor);
             r.Dispose();
 
             // open(IndexCommit, int)
@@ -1279,7 +1279,7 @@ namespace Lucene.Net.Index
             {
                 // expected
             }
-            Assert.AreEqual(-1, ((SegmentReader)r.Leaves()[0].Reader()).TermInfosIndexDivisor);
+            Assert.AreEqual(-1, ((SegmentReader)r.Leaves[0].Reader).TermInfosIndexDivisor);
             r.Dispose();
             dir.Dispose();
         }

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestDirectoryReaderReopen.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestDirectoryReaderReopen.cs b/src/Lucene.Net.Tests/core/Index/TestDirectoryReaderReopen.cs
index d9eca04..524047b 100644
--- a/src/Lucene.Net.Tests/core/Index/TestDirectoryReaderReopen.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestDirectoryReaderReopen.cs
@@ -401,7 +401,7 @@ namespace Lucene.Net.Index
                         }
 
                         IndexSearcher searcher = NewSearcher(refreshed);
-                        ScoreDoc[] hits = searcher.Search(new TermQuery(new Term("field1", "a" + rnd.Next(refreshed.MaxDoc()))), null, 1000).ScoreDocs;
+                        ScoreDoc[] hits = searcher.Search(new TermQuery(new Term("field1", "a" + rnd.Next(refreshed.MaxDoc))), null, 1000).ScoreDocs;
                         if (hits.Length > 0)
                         {
                             searcher.Doc(hits[0].Doc);
@@ -583,11 +583,11 @@ namespace Lucene.Net.Index
             DirectoryReader r = DirectoryReader.Open(dir);
             if (multiSegment)
             {
-                Assert.IsTrue(r.Leaves().Count > 1);
+                Assert.IsTrue(r.Leaves.Count > 1);
             }
             else
             {
-                Assert.IsTrue(r.Leaves().Count == 1);
+                Assert.IsTrue(r.Leaves.Count == 1);
             }
             r.Dispose();
         }
@@ -719,7 +719,7 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             DirectoryReader r = DirectoryReader.Open(dir);
-            Assert.AreEqual(0, r.NumDocs());
+            Assert.AreEqual(0, r.NumDocs);
 
             ICollection<IndexCommit> commits = DirectoryReader.ListCommits(dir);
             foreach (IndexCommit commit in commits)
@@ -741,11 +741,11 @@ namespace Lucene.Net.Index
                 }
                 if (v < 4)
                 {
-                    Assert.AreEqual(1 + v, r2.NumDocs());
+                    Assert.AreEqual(1 + v, r2.NumDocs);
                 }
                 else
                 {
-                    Assert.AreEqual(7 - v, r2.NumDocs());
+                    Assert.AreEqual(7 - v, r2.NumDocs);
                 }
                 r.Dispose();
                 r = r2;
@@ -770,11 +770,11 @@ namespace Lucene.Net.Index
             w.AddDocument(doc);
             DirectoryReader r = DirectoryReader.Open(w, true);
 
-            Assert.AreEqual(2, r.NumDocs());
+            Assert.AreEqual(2, r.NumDocs);
             IndexReader r2 = DirectoryReader.OpenIfChanged(r, commits[0]);
             Assert.IsNotNull(r2);
             r.Dispose();
-            Assert.AreEqual(1, r2.NumDocs());
+            Assert.AreEqual(1, r2.NumDocs);
             w.Dispose();
             r2.Dispose();
             dir.Dispose();

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestDoc.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestDoc.cs b/src/Lucene.Net.Tests/core/Index/TestDoc.cs
index a61831d..c4ea03b 100644
--- a/src/Lucene.Net.Tests/core/Index/TestDoc.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestDoc.cs
@@ -240,12 +240,12 @@ namespace Lucene.Net.Index
         {
             SegmentReader reader = new SegmentReader(si, DirectoryReader.DEFAULT_TERMS_INDEX_DIVISOR, NewIOContext(Random()));
 
-            for (int i = 0; i < reader.NumDocs(); i++)
+            for (int i = 0; i < reader.NumDocs; i++)
             {
                 @out.WriteLine(reader.Document(i));
             }
 
-            Fields fields = reader.Fields();
+            Fields fields = reader.Fields;
             foreach (string field in fields)
             {
                 Terms terms = fields.Terms(field);

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestDocCount.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestDocCount.cs b/src/Lucene.Net.Tests/core/Index/TestDocCount.cs
index dc2ecdb..113088c 100644
--- a/src/Lucene.Net.Tests/core/Index/TestDocCount.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestDocCount.cs
@@ -83,7 +83,7 @@ namespace Lucene.Net.Index
                     continue;
                 }
                 int docCount = terms.DocCount;
-                FixedBitSet visited = new FixedBitSet(ir.MaxDoc());
+                FixedBitSet visited = new FixedBitSet(ir.MaxDoc);
                 TermsEnum te = terms.Iterator(null);
                 while (te.Next() != null)
                 {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestDocTermOrds.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestDocTermOrds.cs b/src/Lucene.Net.Tests/core/Index/TestDocTermOrds.cs
index d819e42..c985e67 100644
--- a/src/Lucene.Net.Tests/core/Index/TestDocTermOrds.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestDocTermOrds.cs
@@ -170,13 +170,13 @@ namespace Lucene.Net.Index
                 Console.WriteLine("TEST: reader=" + r);
             }
 
-            foreach (AtomicReaderContext ctx in r.Leaves())
+            foreach (AtomicReaderContext ctx in r.Leaves)
             {
                 if (VERBOSE)
                 {
-                    Console.WriteLine("\nTEST: sub=" + ctx.Reader());
+                    Console.WriteLine("\nTEST: sub=" + ctx.Reader);
                 }
-                Verify((AtomicReader)ctx.Reader(), idToOrds, termsArray, null);
+                Verify((AtomicReader)ctx.Reader, idToOrds, termsArray, null);
             }
 
             // Also test top-level reader: its enum does not support
@@ -309,13 +309,13 @@ namespace Lucene.Net.Index
                     idToOrdsPrefix[id] = newOrdsArray;
                 }
 
-                foreach (AtomicReaderContext ctx in r.Leaves())
+                foreach (AtomicReaderContext ctx in r.Leaves)
                 {
                     if (VERBOSE)
                     {
-                        Console.WriteLine("\nTEST: sub=" + ctx.Reader());
+                        Console.WriteLine("\nTEST: sub=" + ctx.Reader);
                     }
-                    Verify((AtomicReader)ctx.Reader(), idToOrdsPrefix, termsArray, prefixRef);
+                    Verify((AtomicReader)ctx.Reader, idToOrdsPrefix, termsArray, prefixRef);
                 }
 
                 // Also test top-level reader: its enum does not support
@@ -339,7 +339,7 @@ namespace Lucene.Net.Index
 
             FieldCache_Fields.Ints docIDToID = FieldCache_Fields.DEFAULT.GetInts(r, "id", false);
             /*
-              for(int docID=0;docID<subR.MaxDoc();docID++) {
+              for(int docID=0;docID<subR.MaxDoc;docID++) {
               System.out.println("  docID=" + docID + " id=" + docIDToID[docID]);
               }
             */
@@ -356,7 +356,7 @@ namespace Lucene.Net.Index
                 }
             }
 
-            //final TermsEnum te = subR.Fields().Terms("field").iterator();
+            //final TermsEnum te = subR.Fields.Terms("field").iterator();
             TermsEnum te = dto.GetOrdTermsEnum(r);
             if (dto.NumTerms() == 0)
             {
@@ -403,11 +403,11 @@ namespace Lucene.Net.Index
             }
 
             SortedSetDocValues iter = dto.GetIterator(r);
-            for (int docID = 0; docID < r.MaxDoc(); docID++)
+            for (int docID = 0; docID < r.MaxDoc; docID++)
             {
                 if (VERBOSE)
                 {
-                    Console.WriteLine("TEST: docID=" + docID + " of " + r.MaxDoc() + " (id=" + docIDToID.Get(docID) + ")");
+                    Console.WriteLine("TEST: docID=" + docID + " of " + r.MaxDoc + " (id=" + docIDToID.Get(docID) + ")");
                 }
                 iter.Document = docID;
                 int[] answers = idToOrds[docIDToID.Get(docID)];

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestDocValuesIndexing.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestDocValuesIndexing.cs b/src/Lucene.Net.Tests/core/Index/TestDocValuesIndexing.cs
index 82544b7..713f64c 100644
--- a/src/Lucene.Net.Tests/core/Index/TestDocValuesIndexing.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestDocValuesIndexing.cs
@@ -86,7 +86,7 @@ namespace Lucene.Net.Index
             DirectoryReader r3 = w.Reader;
             w.Dispose();
             AtomicReader sr = GetOnlySegmentReader(r3);
-            Assert.AreEqual(2, sr.NumDocs());
+            Assert.AreEqual(2, sr.NumDocs);
             NumericDocValues docValues = sr.GetNumericDocValues("dv");
             Assert.IsNotNull(docValues);
             r3.Dispose();
@@ -895,8 +895,8 @@ namespace Lucene.Net.Index
             DirectoryReader r = writer.Reader;
             writer.Dispose();
 
-            AtomicReader subR = (AtomicReader)r.Leaves()[0].Reader();
-            Assert.AreEqual(2, subR.NumDocs());
+            AtomicReader subR = (AtomicReader)r.Leaves[0].Reader;
+            Assert.AreEqual(2, subR.NumDocs);
 
             Bits bits = FieldCache_Fields.DEFAULT.GetDocsWithField(subR, "dv");
             Assert.IsTrue(bits.Get(0));

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestDocValuesWithThreads.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestDocValuesWithThreads.cs b/src/Lucene.Net.Tests/core/Index/TestDocValuesWithThreads.cs
index fe9cb21..f043947 100644
--- a/src/Lucene.Net.Tests/core/Index/TestDocValuesWithThreads.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestDocValuesWithThreads.cs
@@ -70,8 +70,8 @@ namespace Lucene.Net.Index
             IndexReader r = w.Reader;
             w.Dispose();
 
-            Assert.AreEqual(1, r.Leaves().Count);
-            AtomicReader ar = (AtomicReader)r.Leaves()[0].Reader();
+            Assert.AreEqual(1, r.Leaves.Count);
+            AtomicReader ar = (AtomicReader)r.Leaves[0].Reader;
 
             int numThreads = TestUtil.NextInt(Random(), 2, 5);
             IList<ThreadClass> threads = new List<ThreadClass>();
@@ -299,7 +299,7 @@ namespace Lucene.Net.Index
 
                     for (int iter = 0; iter < 100; iter++)
                     {
-                        int docID = random.Next(Sr.MaxDoc());
+                        int docID = random.Next(Sr.MaxDoc);
                         source.Get(docID, scratch);
                         Assert.AreEqual(DocValues[(int)docIDToID.Get(docID)], scratch);
                     }

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestDocsAndPositions.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestDocsAndPositions.cs b/src/Lucene.Net.Tests/core/Index/TestDocsAndPositions.cs
index f3ddf89..a9873a3 100644
--- a/src/Lucene.Net.Tests/core/Index/TestDocsAndPositions.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestDocsAndPositions.cs
@@ -73,15 +73,15 @@ namespace Lucene.Net.Index
             {
                 BytesRef bytes = new BytesRef("1");
                 IndexReaderContext topReaderContext = reader.Context;
-                foreach (AtomicReaderContext atomicReaderContext in topReaderContext.Leaves())
+                foreach (AtomicReaderContext atomicReaderContext in topReaderContext.Leaves)
                 {
-                    DocsAndPositionsEnum docsAndPosEnum = GetDocsAndPositions((AtomicReader)atomicReaderContext.Reader(), bytes, null);
+                    DocsAndPositionsEnum docsAndPosEnum = GetDocsAndPositions((AtomicReader)atomicReaderContext.Reader, bytes, null);
                     Assert.IsNotNull(docsAndPosEnum);
-                    if (atomicReaderContext.Reader().MaxDoc() == 0)
+                    if (atomicReaderContext.Reader.MaxDoc == 0)
                     {
                         continue;
                     }
-                    int advance = docsAndPosEnum.Advance(Random().Next(atomicReaderContext.Reader().MaxDoc()));
+                    int advance = docsAndPosEnum.Advance(Random().Next(atomicReaderContext.Reader.MaxDoc));
                     do
                     {
                         string msg = "Advanced to: " + advance + " current doc: " + docsAndPosEnum.DocID(); // TODO: + " usePayloads: " + usePayload;
@@ -164,12 +164,12 @@ namespace Lucene.Net.Index
             {
                 BytesRef bytes = new BytesRef("" + term);
                 IndexReaderContext topReaderContext = reader.Context;
-                foreach (AtomicReaderContext atomicReaderContext in topReaderContext.Leaves())
+                foreach (AtomicReaderContext atomicReaderContext in topReaderContext.Leaves)
                 {
-                    DocsAndPositionsEnum docsAndPosEnum = GetDocsAndPositions((AtomicReader)atomicReaderContext.Reader(), bytes, null);
+                    DocsAndPositionsEnum docsAndPosEnum = GetDocsAndPositions((AtomicReader)atomicReaderContext.Reader, bytes, null);
                     Assert.IsNotNull(docsAndPosEnum);
                     int initDoc = 0;
-                    int maxDoc = atomicReaderContext.Reader().MaxDoc();
+                    int maxDoc = atomicReaderContext.Reader.MaxDoc;
                     // initially advance or do next doc
                     if (Random().NextBoolean())
                     {
@@ -248,10 +248,10 @@ namespace Lucene.Net.Index
             {
                 BytesRef bytes = new BytesRef("" + term);
                 IndexReaderContext topReaderContext = reader.Context;
-                foreach (AtomicReaderContext context in topReaderContext.Leaves())
+                foreach (AtomicReaderContext context in topReaderContext.Leaves)
                 {
-                    int maxDoc = context.Reader().MaxDoc();
-                    DocsEnum docsEnum = TestUtil.Docs(Random(), context.Reader(), FieldName, bytes, null, null, DocsEnum.FLAG_FREQS);
+                    int maxDoc = context.AtomicReader.MaxDoc;
+                    DocsEnum docsEnum = TestUtil.Docs(Random(), context.Reader, FieldName, bytes, null, null, DocsEnum.FLAG_FREQS);
                     if (FindNext(freqInDoc, context.DocBase, context.DocBase + maxDoc) == int.MaxValue)
                     {
                         Assert.IsNull(docsEnum);
@@ -345,13 +345,13 @@ namespace Lucene.Net.Index
                 BytesRef bytes = new BytesRef("even");
 
                 IndexReaderContext topReaderContext = reader.Context;
-                foreach (AtomicReaderContext atomicReaderContext in topReaderContext.Leaves())
+                foreach (AtomicReaderContext atomicReaderContext in topReaderContext.Leaves)
                 {
-                    DocsAndPositionsEnum docsAndPosEnum = GetDocsAndPositions((AtomicReader)atomicReaderContext.Reader(), bytes, null);
+                    DocsAndPositionsEnum docsAndPosEnum = GetDocsAndPositions((AtomicReader)atomicReaderContext.Reader, bytes, null);
                     Assert.IsNotNull(docsAndPosEnum);
 
                     int initDoc = 0;
-                    int maxDoc = atomicReaderContext.Reader().MaxDoc();
+                    int maxDoc = atomicReaderContext.Reader.MaxDoc;
                     // initially advance or do next doc
                     if (Random().NextBoolean())
                     {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestFilterAtomicReader.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestFilterAtomicReader.cs b/src/Lucene.Net.Tests/core/Index/TestFilterAtomicReader.cs
index 37f6732..9c36d82 100644
--- a/src/Lucene.Net.Tests/core/Index/TestFilterAtomicReader.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestFilterAtomicReader.cs
@@ -124,9 +124,9 @@ namespace Lucene.Net.Index
             {
             }
 
-            public override Fields Fields()
+            public override Fields Fields
             {
-                return new TestFields(base.Fields());
+                get { return new TestFields(base.Fields); }
             }
         }
 

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestFlex.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestFlex.cs b/src/Lucene.Net.Tests/core/Index/TestFlex.cs
index 8a5347c..d84f581 100644
--- a/src/Lucene.Net.Tests/core/Index/TestFlex.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestFlex.cs
@@ -80,7 +80,7 @@ namespace Lucene.Net.Index
             w.AddDocument(doc);
             w.ForceMerge(1);
             DirectoryReader r = w.Reader;
-            TermsEnum terms = GetOnlySegmentReader(r).Fields().Terms("f").Iterator(null);
+            TermsEnum terms = GetOnlySegmentReader(r).Fields.Terms("f").Iterator(null);
             Assert.IsTrue(terms.Next() != null);
             try
             {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestIndexReaderClose.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestIndexReaderClose.cs b/src/Lucene.Net.Tests/core/Index/TestIndexReaderClose.cs
index 3a3a141..8c785bd 100644
--- a/src/Lucene.Net.Tests/core/Index/TestIndexReaderClose.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestIndexReaderClose.cs
@@ -86,7 +86,7 @@ namespace Lucene.Net.Index
 
                 try
                 {
-                    reader.Fields();
+                    var aaa = reader.Fields;
                     Assert.Fail("we are closed");
                 }
                 catch (AlreadyClosedException ex)

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/TestIndexWriter.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/TestIndexWriter.cs b/src/Lucene.Net.Tests/core/Index/TestIndexWriter.cs
index e489065..afa0b1a 100644
--- a/src/Lucene.Net.Tests/core/Index/TestIndexWriter.cs
+++ b/src/Lucene.Net.Tests/core/Index/TestIndexWriter.cs
@@ -107,7 +107,7 @@ namespace Lucene.Net.Index
             {
                 AddDocWithIndex(writer, i);
             }
-            Assert.AreEqual(100, writer.MaxDoc());
+            Assert.AreEqual(100, writer.MaxDoc);
             writer.Dispose();
 
             // delete 40 documents
@@ -119,27 +119,27 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(60, reader.NumDocs());
+            Assert.AreEqual(60, reader.NumDocs);
             reader.Dispose();
 
             // merge the index down and check that the new doc count is correct
             writer = new IndexWriter(dir, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())));
             Assert.AreEqual(60, writer.NumDocs());
             writer.ForceMerge(1);
-            Assert.AreEqual(60, writer.MaxDoc());
+            Assert.AreEqual(60, writer.MaxDoc);
             Assert.AreEqual(60, writer.NumDocs());
             writer.Dispose();
 
             // check that the index reader gives the same numbers.
             reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(60, reader.MaxDoc());
-            Assert.AreEqual(60, reader.NumDocs());
+            Assert.AreEqual(60, reader.MaxDoc);
+            Assert.AreEqual(60, reader.NumDocs);
             reader.Dispose();
 
             // make sure opening a new index for create over
             // this existing one works correctly:
             writer = new IndexWriter(dir, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())).SetOpenMode(OpenMode_e.CREATE));
-            Assert.AreEqual(0, writer.MaxDoc());
+            Assert.AreEqual(0, writer.MaxDoc);
             Assert.AreEqual(0, writer.NumDocs());
             writer.Dispose();
             dir.Dispose();
@@ -204,17 +204,17 @@ namespace Lucene.Net.Index
 
             // now open reader:
             IndexReader reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(reader.NumDocs(), 1, "should be one document");
+            Assert.AreEqual(reader.NumDocs, 1, "should be one document");
 
             // now open index for create:
             writer = new IndexWriter(dir, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())).SetOpenMode(OpenMode_e.CREATE));
-            Assert.AreEqual(writer.MaxDoc(), 0, "should be zero documents");
+            Assert.AreEqual(writer.MaxDoc, 0, "should be zero documents");
             AddDoc(writer);
             writer.Dispose();
 
-            Assert.AreEqual(reader.NumDocs(), 1, "should be one document");
+            Assert.AreEqual(reader.NumDocs, 1, "should be one document");
             IndexReader reader2 = DirectoryReader.Open(dir);
-            Assert.AreEqual(reader2.NumDocs(), 1, "should be one document");
+            Assert.AreEqual(reader2.NumDocs, 1, "should be one document");
             reader.Dispose();
             reader2.Dispose();
 
@@ -254,8 +254,8 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             IndexReader reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(0, reader.MaxDoc());
-            Assert.AreEqual(0, reader.NumDocs());
+            Assert.AreEqual(0, reader.MaxDoc);
+            Assert.AreEqual(0, reader.NumDocs);
             reader.Dispose();
 
             writer = new IndexWriter(dir, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random())).SetOpenMode(OpenMode_e.APPEND));
@@ -263,8 +263,8 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(0, reader.MaxDoc());
-            Assert.AreEqual(0, reader.NumDocs());
+            Assert.AreEqual(0, reader.MaxDoc);
+            Assert.AreEqual(0, reader.NumDocs);
             reader.Dispose();
             dir.Dispose();
         }
@@ -288,8 +288,8 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             IndexReader reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(100, reader.MaxDoc());
-            Assert.AreEqual(100, reader.NumDocs());
+            Assert.AreEqual(100, reader.MaxDoc);
+            Assert.AreEqual(100, reader.NumDocs);
             for (int j = 0; j < 100; j++)
             {
                 Assert.AreEqual(1, reader.DocFreq(new Term("a" + j, "aaa" + j)));
@@ -635,8 +635,8 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             IndexReader reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(1, reader.MaxDoc());
-            Assert.AreEqual(1, reader.NumDocs());
+            Assert.AreEqual(1, reader.MaxDoc);
+            Assert.AreEqual(1, reader.NumDocs);
             Term t = new Term("field", "a");
             Assert.AreEqual(1, reader.DocFreq(t));
             DocsEnum td = TestUtil.Docs(Random(), reader, "field", new BytesRef("a"), MultiFields.GetLiveDocs(reader), null, DocsEnum.FLAG_FREQS);
@@ -738,7 +738,7 @@ namespace Lucene.Net.Index
             writer.AddDocument(new Document());
             writer.Dispose();
             IndexReader reader = DirectoryReader.Open(dir);
-            Assert.AreEqual(2, reader.NumDocs());
+            Assert.AreEqual(2, reader.NumDocs);
             reader.Dispose();
             dir.Dispose();
         }
@@ -901,7 +901,7 @@ namespace Lucene.Net.Index
             writer.Dispose();
             DirectoryReader reader = DirectoryReader.Open(dir);
             AtomicReader subreader = GetOnlySegmentReader(reader);
-            TermsEnum te = subreader.Fields().Terms("").Iterator(null);
+            TermsEnum te = subreader.Fields.Terms("").Iterator(null);
             Assert.AreEqual(new BytesRef("a"), te.Next());
             Assert.AreEqual(new BytesRef("b"), te.Next());
             Assert.AreEqual(new BytesRef("c"), te.Next());
@@ -924,7 +924,7 @@ namespace Lucene.Net.Index
             writer.Dispose();
             DirectoryReader reader = DirectoryReader.Open(dir);
             AtomicReader subreader = GetOnlySegmentReader(reader);
-            TermsEnum te = subreader.Fields().Terms("").Iterator(null);
+            TermsEnum te = subreader.Fields.Terms("").Iterator(null);
             Assert.AreEqual(new BytesRef(""), te.Next());
             Assert.AreEqual(new BytesRef("a"), te.Next());
             Assert.AreEqual(new BytesRef("b"), te.Next());
@@ -977,7 +977,7 @@ namespace Lucene.Net.Index
             w.Dispose();
 
             IndexReader ir = DirectoryReader.Open(dir);
-            Assert.AreEqual(0, ir.NumDocs());
+            Assert.AreEqual(0, ir.NumDocs);
             ir.Dispose();
 
             dir.Dispose();
@@ -1109,7 +1109,7 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             IndexReader r3 = DirectoryReader.Open(dir);
-            Assert.AreEqual(5, r3.NumDocs());
+            Assert.AreEqual(5, r3.NumDocs);
             r3.Dispose();
 
             r1.Dispose();
@@ -1255,9 +1255,9 @@ namespace Lucene.Net.Index
                                     try
                                     {
                                         r = DirectoryReader.Open(w, Random.NextBoolean());
-                                        if (Random.NextBoolean() && r.MaxDoc() > 0)
+                                        if (Random.NextBoolean() && r.MaxDoc > 0)
                                         {
-                                            int docid = Random.Next(r.MaxDoc());
+                                            int docid = Random.Next(r.MaxDoc);
                                             w.TryDeleteDocument(r, docid);
                                         }
                                     }
@@ -1348,7 +1348,7 @@ namespace Lucene.Net.Index
                     try
                     {
                         IndexReader r = DirectoryReader.Open(dir);
-                        //System.out.println("doc count=" + r.NumDocs());
+                        //System.out.println("doc count=" + r.NumDocs);
                         r.Dispose();
                     }
                     catch (Exception e)
@@ -1561,7 +1561,7 @@ namespace Lucene.Net.Index
             w.AddDocument(d);
 
             AtomicReader r = GetOnlySegmentReader(w.Reader);
-            TermsEnum t = r.Fields().Terms("field").Iterator(null);
+            TermsEnum t = r.Fields.Terms("field").Iterator(null);
             int count = 0;
             while (t.Next() != null)
             {
@@ -1854,9 +1854,9 @@ namespace Lucene.Net.Index
 
             AssertNoUnreferencedFiles(dir, "no tv files");
             DirectoryReader r0 = DirectoryReader.Open(dir);
-            foreach (AtomicReaderContext ctx in r0.Leaves())
+            foreach (AtomicReaderContext ctx in r0.Leaves)
             {
-                SegmentReader sr = (SegmentReader)ctx.Reader();
+                SegmentReader sr = (SegmentReader)ctx.Reader;
                 Assert.IsFalse(sr.FieldInfos.HasVectors());
             }
 
@@ -1969,7 +1969,7 @@ namespace Lucene.Net.Index
 
             // Make sure the doc that has the massive term is NOT in
             // the index:
-            Assert.AreEqual(1, reader.NumDocs(), "document with wicked long term is in the index!");
+            Assert.AreEqual(1, reader.NumDocs, "document with wicked long term is in the index!");
 
             reader.Dispose();
             dir.Dispose();
@@ -2159,7 +2159,7 @@ namespace Lucene.Net.Index
             w.Commit();
             w.Dispose();
             IndexReader r = DirectoryReader.Open(dir);
-            Assert.AreEqual(0, r.MaxDoc());
+            Assert.AreEqual(0, r.MaxDoc);
             r.Dispose();
             dir.Dispose();
         }
@@ -2190,7 +2190,7 @@ namespace Lucene.Net.Index
             w.Rollback();
             Assert.IsTrue(DirectoryReader.IndexExists(dir));
             IndexReader r = DirectoryReader.Open(dir);
-            Assert.AreEqual(0, r.MaxDoc());
+            Assert.AreEqual(0, r.MaxDoc);
             r.Dispose();
             dir.Dispose();
         }
@@ -2547,13 +2547,13 @@ namespace Lucene.Net.Index
                 }
             }
             DirectoryReader reader = w.Reader;
-            Assert.AreEqual(docCount, reader.NumDocs());
-            IList<AtomicReaderContext> leaves = reader.Leaves();
+            Assert.AreEqual(docCount, reader.NumDocs);
+            IList<AtomicReaderContext> leaves = reader.Leaves;
             foreach (AtomicReaderContext atomicReaderContext in leaves)
             {
-                AtomicReader ar = (AtomicReader)atomicReaderContext.Reader();
+                AtomicReader ar = (AtomicReader)atomicReaderContext.Reader;
                 Bits liveDocs = ar.LiveDocs;
-                int maxDoc = ar.MaxDoc();
+                int maxDoc = ar.MaxDoc;
                 for (int i = 0; i < maxDoc; i++)
                 {
                     if (liveDocs == null || liveDocs.Get(i))
@@ -2808,7 +2808,7 @@ namespace Lucene.Net.Index
             w.Dispose();
 
             // Make sure document was not (incorrectly) deleted:
-            Assert.AreEqual(1, r.NumDocs());
+            Assert.AreEqual(1, r.NumDocs);
             r.Dispose();
             dir.Dispose();
         }


[4/7] .NETification

Posted by sy...@apache.org.
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.TestFramework/Index/AssertingAtomicReader.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.TestFramework/Index/AssertingAtomicReader.cs b/src/Lucene.Net.TestFramework/Index/AssertingAtomicReader.cs
index 1fbfdb0..649a0e4 100644
--- a/src/Lucene.Net.TestFramework/Index/AssertingAtomicReader.cs
+++ b/src/Lucene.Net.TestFramework/Index/AssertingAtomicReader.cs
@@ -35,16 +35,19 @@ namespace Lucene.Net.Index
             : base(@in)
         {
             // check some basic reader sanity
-            Debug.Assert(@in.MaxDoc() >= 0);
-            Debug.Assert(@in.NumDocs() <= @in.MaxDoc());
-            Debug.Assert(@in.NumDeletedDocs() + @in.NumDocs() == @in.MaxDoc());
-            Debug.Assert(!@in.HasDeletions() || @in.NumDeletedDocs() > 0 && @in.NumDocs() < @in.MaxDoc());
+            Debug.Assert(@in.MaxDoc >= 0);
+            Debug.Assert(@in.NumDocs <= @in.MaxDoc);
+            Debug.Assert(@in.NumDeletedDocs + @in.NumDocs == @in.MaxDoc);
+            Debug.Assert(!@in.HasDeletions || @in.NumDeletedDocs > 0 && @in.NumDocs < @in.MaxDoc);
         }
 
-        public override Fields Fields()
+        public override Fields Fields
         {
-            Fields fields = base.Fields();
-            return fields == null ? null : new AssertingFields(fields);
+            get
+            {
+                Fields fields = base.Fields;
+                return fields == null ? null : new AssertingFields(fields);
+            }
         }
 
         public override Fields GetTermVectors(int docID)
@@ -622,7 +625,7 @@ namespace Lucene.Net.Index
             {
                 Debug.Assert(fi != null);
                 Debug.Assert(fi.DocValuesType == FieldInfo.DocValuesType_e.NUMERIC);
-                return new AssertingNumericDocValues(dv, MaxDoc());
+                return new AssertingNumericDocValues(dv, MaxDoc);
             }
             else
             {
@@ -639,7 +642,7 @@ namespace Lucene.Net.Index
             {
                 Debug.Assert(fi != null);
                 Debug.Assert(fi.DocValuesType == FieldInfo.DocValuesType_e.BINARY);
-                return new AssertingBinaryDocValues(dv, MaxDoc());
+                return new AssertingBinaryDocValues(dv, MaxDoc);
             }
             else
             {
@@ -656,7 +659,7 @@ namespace Lucene.Net.Index
             {
                 Debug.Assert(fi != null);
                 Debug.Assert(fi.DocValuesType == FieldInfo.DocValuesType_e.SORTED);
-                return new AssertingSortedDocValues(dv, MaxDoc());
+                return new AssertingSortedDocValues(dv, MaxDoc);
             }
             else
             {
@@ -673,7 +676,7 @@ namespace Lucene.Net.Index
             {
                 Debug.Assert(fi != null);
                 Debug.Assert(fi.DocValuesType == FieldInfo.DocValuesType_e.SORTED_SET);
-                return new AssertingSortedSetDocValues(dv, MaxDoc());
+                return new AssertingSortedSetDocValues(dv, MaxDoc);
             }
             else
             {
@@ -690,7 +693,7 @@ namespace Lucene.Net.Index
             {
                 Debug.Assert(fi != null);
                 Debug.Assert(fi.HasNorms());
-                return new AssertingNumericDocValues(dv, MaxDoc());
+                return new AssertingNumericDocValues(dv, MaxDoc);
             }
             else
             {
@@ -729,13 +732,13 @@ namespace Lucene.Net.Index
                 Bits liveDocs = base.LiveDocs;
                 if (liveDocs != null)
                 {
-                    Debug.Assert(MaxDoc() == liveDocs.Length());
+                    Debug.Assert(MaxDoc == liveDocs.Length());
                     liveDocs = new AssertingBits(liveDocs);
                 }
                 else
                 {
-                    Debug.Assert(MaxDoc() == NumDocs());
-                    Debug.Assert(!HasDeletions());
+                    Debug.Assert(MaxDoc == NumDocs);
+                    Debug.Assert(!HasDeletions);
                 }
                 return liveDocs;
             }
@@ -749,7 +752,7 @@ namespace Lucene.Net.Index
             {
                 Debug.Assert(fi != null);
                 Debug.Assert(fi.HasDocValues());
-                Debug.Assert(MaxDoc() == docsWithField.Length());
+                Debug.Assert(MaxDoc == docsWithField.Length());
                 docsWithField = new AssertingBits(docsWithField);
             }
             else

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.TestFramework/Index/BaseDocValuesFormatTestCase.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.TestFramework/Index/BaseDocValuesFormatTestCase.cs b/src/Lucene.Net.TestFramework/Index/BaseDocValuesFormatTestCase.cs
index 3c6c02d..bf74ea8 100644
--- a/src/Lucene.Net.TestFramework/Index/BaseDocValuesFormatTestCase.cs
+++ b/src/Lucene.Net.TestFramework/Index/BaseDocValuesFormatTestCase.cs
@@ -110,8 +110,8 @@ namespace Lucene.Net.Index
             {
                 Document hitDoc = isearcher.Doc(hits.ScoreDocs[i].Doc);
                 Assert.AreEqual(text, hitDoc.Get("fieldname"));
-                Debug.Assert(ireader.Leaves().Count == 1);
-                NumericDocValues dv = ((AtomicReader)((AtomicReader)((AtomicReader)ireader.Leaves()[0].Reader()))).GetNumericDocValues("dv");
+                Debug.Assert(ireader.Leaves.Count == 1);
+                NumericDocValues dv = ((AtomicReader)((AtomicReader)((AtomicReader)ireader.Leaves[0].Reader))).GetNumericDocValues("dv");
                 Assert.AreEqual(5, dv.Get(hits.ScoreDocs[i].Doc));
             }
 
@@ -145,8 +145,8 @@ namespace Lucene.Net.Index
             {
                 Document hitDoc = isearcher.Doc(hits.ScoreDocs[i].Doc);
                 Assert.AreEqual(text, hitDoc.Get("fieldname"));
-                Debug.Assert(ireader.Leaves().Count == 1);
-                NumericDocValues dv = ((AtomicReader)((AtomicReader)ireader.Leaves()[0].Reader())).GetNumericDocValues("dv");
+                Debug.Assert(ireader.Leaves.Count == 1);
+                NumericDocValues dv = ((AtomicReader)((AtomicReader)ireader.Leaves[0].Reader)).GetNumericDocValues("dv");
                 Assert.AreEqual(Number.FloatToIntBits(5.7f), dv.Get(hits.ScoreDocs[i].Doc));
             }
 
@@ -181,10 +181,10 @@ namespace Lucene.Net.Index
             {
                 Document hitDoc = isearcher.Doc(hits.ScoreDocs[i].Doc);
                 Assert.AreEqual(text, hitDoc.Get("fieldname"));
-                Debug.Assert(ireader.Leaves().Count == 1);
-                NumericDocValues dv = ((AtomicReader)((AtomicReader)ireader.Leaves()[0].Reader())).GetNumericDocValues("dv1");
+                Debug.Assert(ireader.Leaves.Count == 1);
+                NumericDocValues dv = ((AtomicReader)((AtomicReader)ireader.Leaves[0].Reader)).GetNumericDocValues("dv1");
                 Assert.AreEqual(5, dv.Get(hits.ScoreDocs[i].Doc));
-                dv = ((AtomicReader)((AtomicReader)ireader.Leaves()[0].Reader())).GetNumericDocValues("dv2");
+                dv = ((AtomicReader)((AtomicReader)ireader.Leaves[0].Reader)).GetNumericDocValues("dv2");
                 Assert.AreEqual(17, dv.Get(hits.ScoreDocs[i].Doc));
             }
 
@@ -219,12 +219,12 @@ namespace Lucene.Net.Index
             {
                 Document hitDoc = isearcher.Doc(hits.ScoreDocs[i].Doc);
                 Assert.AreEqual(text, hitDoc.Get("fieldname"));
-                Debug.Assert(ireader.Leaves().Count == 1);
-                BinaryDocValues dv = ((AtomicReader)((AtomicReader)ireader.Leaves()[0].Reader())).GetBinaryDocValues("dv1");
+                Debug.Assert(ireader.Leaves.Count == 1);
+                BinaryDocValues dv = ((AtomicReader)((AtomicReader)ireader.Leaves[0].Reader)).GetBinaryDocValues("dv1");
                 BytesRef scratch = new BytesRef();
                 dv.Get(hits.ScoreDocs[i].Doc, scratch);
                 Assert.AreEqual(new BytesRef(longTerm), scratch);
-                dv = ((AtomicReader)((AtomicReader)ireader.Leaves()[0].Reader())).GetBinaryDocValues("dv2");
+                dv = ((AtomicReader)((AtomicReader)ireader.Leaves[0].Reader)).GetBinaryDocValues("dv2");
                 dv.Get(hits.ScoreDocs[i].Doc, scratch);
                 Assert.AreEqual(new BytesRef(text), scratch);
             }
@@ -261,10 +261,10 @@ namespace Lucene.Net.Index
             {
                 Document hitDoc = isearcher.Doc(hits.ScoreDocs[i].Doc);
                 Assert.AreEqual(text, hitDoc.Get("fieldname"));
-                Debug.Assert(ireader.Leaves().Count == 1);
-                NumericDocValues dv = ((AtomicReader)((AtomicReader)ireader.Leaves()[0].Reader())).GetNumericDocValues("dv1");
+                Debug.Assert(ireader.Leaves.Count == 1);
+                NumericDocValues dv = ((AtomicReader)((AtomicReader)ireader.Leaves[0].Reader)).GetNumericDocValues("dv1");
                 Assert.AreEqual(5, dv.Get(hits.ScoreDocs[i].Doc));
-                BinaryDocValues dv2 = ((AtomicReader)((AtomicReader)ireader.Leaves()[0].Reader())).GetBinaryDocValues("dv2");
+                BinaryDocValues dv2 = ((AtomicReader)((AtomicReader)ireader.Leaves[0].Reader)).GetBinaryDocValues("dv2");
                 dv2.Get(hits.ScoreDocs[i].Doc, scratch);
                 Assert.AreEqual(new BytesRef("hello world"), scratch);
             }
@@ -302,14 +302,14 @@ namespace Lucene.Net.Index
             {
                 Document hitDoc = isearcher.Doc(hits.ScoreDocs[i].Doc);
                 Assert.AreEqual(text, hitDoc.Get("fieldname"));
-                Debug.Assert(ireader.Leaves().Count == 1);
-                SortedDocValues dv = ((AtomicReader)ireader.Leaves()[0].Reader()).GetSortedDocValues("dv1");
+                Debug.Assert(ireader.Leaves.Count == 1);
+                SortedDocValues dv = ((AtomicReader)ireader.Leaves[0].Reader).GetSortedDocValues("dv1");
                 int ord = dv.GetOrd(0);
                 dv.LookupOrd(ord, scratch);
                 Assert.AreEqual(new BytesRef("hello hello"), scratch);
-                NumericDocValues dv2 = ((AtomicReader)ireader.Leaves()[0].Reader()).GetNumericDocValues("dv2");
+                NumericDocValues dv2 = ((AtomicReader)ireader.Leaves[0].Reader).GetNumericDocValues("dv2");
                 Assert.AreEqual(5, dv2.Get(hits.ScoreDocs[i].Doc));
-                BinaryDocValues dv3 = ((AtomicReader)ireader.Leaves()[0].Reader()).GetBinaryDocValues("dv3");
+                BinaryDocValues dv3 = ((AtomicReader)ireader.Leaves[0].Reader).GetBinaryDocValues("dv3");
                 dv3.Get(hits.ScoreDocs[i].Doc, scratch);
                 Assert.AreEqual(new BytesRef("hello world"), scratch);
             }
@@ -347,14 +347,14 @@ namespace Lucene.Net.Index
             {
                 Document hitDoc = isearcher.Doc(hits.ScoreDocs[i].Doc);
                 Assert.AreEqual(text, hitDoc.Get("fieldname"));
-                Debug.Assert(ireader.Leaves().Count == 1);
-                SortedDocValues dv = ((AtomicReader)ireader.Leaves()[0].Reader()).GetSortedDocValues("dv2");
+                Debug.Assert(ireader.Leaves.Count == 1);
+                SortedDocValues dv = ((AtomicReader)ireader.Leaves[0].Reader).GetSortedDocValues("dv2");
                 int ord = dv.GetOrd(0);
                 dv.LookupOrd(ord, scratch);
                 Assert.AreEqual(new BytesRef("hello hello"), scratch);
-                NumericDocValues dv2 = ((AtomicReader)ireader.Leaves()[0].Reader()).GetNumericDocValues("dv3");
+                NumericDocValues dv2 = ((AtomicReader)ireader.Leaves[0].Reader).GetNumericDocValues("dv3");
                 Assert.AreEqual(5, dv2.Get(hits.ScoreDocs[i].Doc));
-                BinaryDocValues dv3 = ((AtomicReader)ireader.Leaves()[0].Reader()).GetBinaryDocValues("dv1");
+                BinaryDocValues dv3 = ((AtomicReader)ireader.Leaves[0].Reader).GetBinaryDocValues("dv1");
                 dv3.Get(hits.ScoreDocs[i].Doc, scratch);
                 Assert.AreEqual(new BytesRef("hello world"), scratch);
             }
@@ -383,8 +383,8 @@ namespace Lucene.Net.Index
 
             // Now search the index:
             IndexReader ireader = DirectoryReader.Open(directory); // read-only=true
-            Debug.Assert(ireader.Leaves().Count == 1);
-            NumericDocValues dv = ((AtomicReader)ireader.Leaves()[0].Reader()).GetNumericDocValues("dv");
+            Debug.Assert(ireader.Leaves.Count == 1);
+            NumericDocValues dv = ((AtomicReader)ireader.Leaves[0].Reader).GetNumericDocValues("dv");
             Assert.AreEqual(1, dv.Get(0));
             Assert.AreEqual(2, dv.Get(1));
 
@@ -415,11 +415,11 @@ namespace Lucene.Net.Index
 
             // Now search the index:
             IndexReader ireader = DirectoryReader.Open(directory); // read-only=true
-            Debug.Assert(ireader.Leaves().Count == 1);
-            NumericDocValues dv = ((AtomicReader)ireader.Leaves()[0].Reader()).GetNumericDocValues("dv");
+            Debug.Assert(ireader.Leaves.Count == 1);
+            NumericDocValues dv = ((AtomicReader)ireader.Leaves[0].Reader).GetNumericDocValues("dv");
             for (int i = 0; i < 2; i++)
             {
-                Document doc2 = ((AtomicReader)ireader.Leaves()[0].Reader()).Document(i);
+                Document doc2 = ((AtomicReader)ireader.Leaves[0].Reader).Document(i);
                 long expected;
                 if (doc2.Get("id").Equals("0"))
                 {
@@ -456,8 +456,8 @@ namespace Lucene.Net.Index
 
             // Now search the index:
             IndexReader ireader = DirectoryReader.Open(directory); // read-only=true
-            Debug.Assert(ireader.Leaves().Count == 1);
-            NumericDocValues dv = ((AtomicReader)ireader.Leaves()[0].Reader()).GetNumericDocValues("dv");
+            Debug.Assert(ireader.Leaves.Count == 1);
+            NumericDocValues dv = ((AtomicReader)ireader.Leaves[0].Reader).GetNumericDocValues("dv");
             Assert.AreEqual(long.MinValue, dv.Get(0));
             Assert.AreEqual(long.MaxValue, dv.Get(1));
 
@@ -485,8 +485,8 @@ namespace Lucene.Net.Index
 
             // Now search the index:
             IndexReader ireader = DirectoryReader.Open(directory); // read-only=true
-            Debug.Assert(ireader.Leaves().Count == 1);
-            NumericDocValues dv = ((AtomicReader)ireader.Leaves()[0].Reader()).GetNumericDocValues("dv");
+            Debug.Assert(ireader.Leaves.Count == 1);
+            NumericDocValues dv = ((AtomicReader)ireader.Leaves[0].Reader).GetNumericDocValues("dv");
             Assert.AreEqual(-8841491950446638677L, dv.Get(0));
             Assert.AreEqual(9062230939892376225L, dv.Get(1));
 
@@ -524,8 +524,8 @@ namespace Lucene.Net.Index
             {
                 Document hitDoc = isearcher.Doc(hits.ScoreDocs[i].Doc);
                 Assert.AreEqual(text, hitDoc.Get("fieldname"));
-                Debug.Assert(ireader.Leaves().Count == 1);
-                BinaryDocValues dv = ((AtomicReader)ireader.Leaves()[0].Reader()).GetBinaryDocValues("dv");
+                Debug.Assert(ireader.Leaves.Count == 1);
+                BinaryDocValues dv = ((AtomicReader)ireader.Leaves[0].Reader).GetBinaryDocValues("dv");
                 dv.Get(hits.ScoreDocs[i].Doc, scratch);
                 Assert.AreEqual(new BytesRef("hello world"), scratch);
             }
@@ -557,12 +557,12 @@ namespace Lucene.Net.Index
 
             // Now search the index:
             IndexReader ireader = DirectoryReader.Open(directory); // read-only=true
-            Debug.Assert(ireader.Leaves().Count == 1);
-            BinaryDocValues dv = ((AtomicReader)ireader.Leaves()[0].Reader()).GetBinaryDocValues("dv");
+            Debug.Assert(ireader.Leaves.Count == 1);
+            BinaryDocValues dv = ((AtomicReader)ireader.Leaves[0].Reader).GetBinaryDocValues("dv");
             BytesRef scratch = new BytesRef();
             for (int i = 0; i < 2; i++)
             {
-                Document doc2 = ((AtomicReader)ireader.Leaves()[0].Reader()).Document(i);
+                Document doc2 = ((AtomicReader)ireader.Leaves[0].Reader).Document(i);
                 string expected;
                 if (doc2.Get("id").Equals("0"))
                 {
@@ -610,8 +610,8 @@ namespace Lucene.Net.Index
             {
                 Document hitDoc = isearcher.Doc(hits.ScoreDocs[i].Doc);
                 Assert.AreEqual(text, hitDoc.Get("fieldname"));
-                Debug.Assert(ireader.Leaves().Count == 1);
-                SortedDocValues dv = ((AtomicReader)ireader.Leaves()[0].Reader()).GetSortedDocValues("dv");
+                Debug.Assert(ireader.Leaves.Count == 1);
+                SortedDocValues dv = ((AtomicReader)ireader.Leaves[0].Reader).GetSortedDocValues("dv");
                 dv.LookupOrd(dv.GetOrd(hits.ScoreDocs[i].Doc), scratch);
                 Assert.AreEqual(new BytesRef("hello world"), scratch);
             }
@@ -640,8 +640,8 @@ namespace Lucene.Net.Index
 
             // Now search the index:
             IndexReader ireader = DirectoryReader.Open(directory); // read-only=true
-            Debug.Assert(ireader.Leaves().Count == 1);
-            SortedDocValues dv = ((AtomicReader)ireader.Leaves()[0].Reader()).GetSortedDocValues("dv");
+            Debug.Assert(ireader.Leaves.Count == 1);
+            SortedDocValues dv = ((AtomicReader)ireader.Leaves[0].Reader).GetSortedDocValues("dv");
             BytesRef scratch = new BytesRef();
             dv.LookupOrd(dv.GetOrd(0), scratch);
             Assert.AreEqual("hello world 1", scratch.Utf8ToString());
@@ -675,8 +675,8 @@ namespace Lucene.Net.Index
 
             // Now search the index:
             IndexReader ireader = DirectoryReader.Open(directory); // read-only=true
-            Debug.Assert(ireader.Leaves().Count == 1);
-            SortedDocValues dv = ((AtomicReader)ireader.Leaves()[0].Reader()).GetSortedDocValues("dv");
+            Debug.Assert(ireader.Leaves.Count == 1);
+            SortedDocValues dv = ((AtomicReader)ireader.Leaves[0].Reader).GetSortedDocValues("dv");
             Assert.AreEqual(2, dv.ValueCount);
             BytesRef scratch = new BytesRef();
             Assert.AreEqual(0, dv.GetOrd(0));
@@ -714,8 +714,8 @@ namespace Lucene.Net.Index
 
             // Now search the index:
             IndexReader ireader = DirectoryReader.Open(directory); // read-only=true
-            Debug.Assert(ireader.Leaves().Count == 1);
-            SortedDocValues dv = ((AtomicReader)ireader.Leaves()[0].Reader()).GetSortedDocValues("dv");
+            Debug.Assert(ireader.Leaves.Count == 1);
+            SortedDocValues dv = ((AtomicReader)ireader.Leaves[0].Reader).GetSortedDocValues("dv");
             Assert.AreEqual(2, dv.ValueCount); // 2 ords
             BytesRef scratch = new BytesRef();
             dv.LookupOrd(0, scratch);
@@ -724,7 +724,7 @@ namespace Lucene.Net.Index
             Assert.AreEqual(new BytesRef("hello world 2"), scratch);
             for (int i = 0; i < 2; i++)
             {
-                Document doc2 = ((AtomicReader)ireader.Leaves()[0].Reader()).Document(i);
+                Document doc2 = ((AtomicReader)ireader.Leaves[0].Reader).Document(i);
                 string expected;
                 if (doc2.Get("id").Equals("0"))
                 {
@@ -800,8 +800,8 @@ namespace Lucene.Net.Index
 
             // Now search the index:
             IndexReader ireader = DirectoryReader.Open(directory); // read-only=true
-            Debug.Assert(ireader.Leaves().Count == 1);
-            BinaryDocValues dv = ((AtomicReader)ireader.Leaves()[0].Reader()).GetBinaryDocValues("dv");
+            Debug.Assert(ireader.Leaves.Count == 1);
+            BinaryDocValues dv = ((AtomicReader)ireader.Leaves[0].Reader).GetBinaryDocValues("dv");
             BytesRef scratch = new BytesRef();
             dv.Get(0, scratch);
             Assert.AreEqual(new BytesRef("hello\nworld\r1"), scratch);
@@ -828,8 +828,8 @@ namespace Lucene.Net.Index
 
             // Now search the index:
             IndexReader ireader = DirectoryReader.Open(directory); // read-only=true
-            Debug.Assert(ireader.Leaves().Count == 1);
-            SortedDocValues dv = ((AtomicReader)ireader.Leaves()[0].Reader()).GetSortedDocValues("dv");
+            Debug.Assert(ireader.Leaves.Count == 1);
+            SortedDocValues dv = ((AtomicReader)ireader.Leaves[0].Reader).GetSortedDocValues("dv");
             BytesRef scratch = new BytesRef();
             dv.LookupOrd(dv.GetOrd(0), scratch);
             Assert.AreEqual(new BytesRef("hello world 2"), scratch);
@@ -936,8 +936,8 @@ namespace Lucene.Net.Index
 
             // Now search the index:
             IndexReader ireader = DirectoryReader.Open(directory); // read-only=true
-            Debug.Assert(ireader.Leaves().Count == 1);
-            SortedDocValues dv = ((AtomicReader)ireader.Leaves()[0].Reader()).GetSortedDocValues("dv");
+            Debug.Assert(ireader.Leaves.Count == 1);
+            SortedDocValues dv = ((AtomicReader)ireader.Leaves[0].Reader).GetSortedDocValues("dv");
             BytesRef scratch = new BytesRef();
             Assert.AreEqual(0, dv.GetOrd(0));
             Assert.AreEqual(0, dv.GetOrd(1));
@@ -968,8 +968,8 @@ namespace Lucene.Net.Index
 
             // Now search the index:
             IndexReader ireader = DirectoryReader.Open(directory); // read-only=true
-            Debug.Assert(ireader.Leaves().Count == 1);
-            BinaryDocValues dv = ((AtomicReader)ireader.Leaves()[0].Reader()).GetBinaryDocValues("dv");
+            Debug.Assert(ireader.Leaves.Count == 1);
+            BinaryDocValues dv = ((AtomicReader)ireader.Leaves[0].Reader).GetBinaryDocValues("dv");
             BytesRef scratch = new BytesRef();
             dv.Get(0, scratch);
             Assert.AreEqual("", scratch.Utf8ToString());
@@ -999,8 +999,8 @@ namespace Lucene.Net.Index
 
             // Now search the index:
             IndexReader ireader = DirectoryReader.Open(directory); // read-only=true
-            Debug.Assert(ireader.Leaves().Count == 1);
-            BinaryDocValues dv = ((AtomicReader)ireader.Leaves()[0].Reader()).GetBinaryDocValues("dv");
+            Debug.Assert(ireader.Leaves.Count == 1);
+            BinaryDocValues dv = ((AtomicReader)ireader.Leaves[0].Reader).GetBinaryDocValues("dv");
             BytesRef scratch = new BytesRef();
             dv.Get(0, scratch);
             Assert.AreEqual(new BytesRef(bytes), scratch);
@@ -1028,8 +1028,8 @@ namespace Lucene.Net.Index
 
             // Now search the index:
             IndexReader ireader = DirectoryReader.Open(directory); // read-only=true
-            Debug.Assert(ireader.Leaves().Count == 1);
-            BinaryDocValues dv = ((AtomicReader)ireader.Leaves()[0].Reader()).GetSortedDocValues("dv");
+            Debug.Assert(ireader.Leaves.Count == 1);
+            BinaryDocValues dv = ((AtomicReader)ireader.Leaves[0].Reader).GetSortedDocValues("dv");
             BytesRef scratch = new BytesRef();
             dv.Get(0, scratch);
             Assert.AreEqual(new BytesRef(bytes), scratch);
@@ -1053,8 +1053,8 @@ namespace Lucene.Net.Index
 
             // Now search the index:
             IndexReader ireader = DirectoryReader.Open(directory); // read-only=true
-            Debug.Assert(ireader.Leaves().Count == 1);
-            BinaryDocValues dv = ((AtomicReader)ireader.Leaves()[0].Reader()).GetBinaryDocValues("dv");
+            Debug.Assert(ireader.Leaves.Count == 1);
+            BinaryDocValues dv = ((AtomicReader)ireader.Leaves[0].Reader).GetBinaryDocValues("dv");
             sbyte[] mybytes = new sbyte[20];
             BytesRef scratch = new BytesRef(mybytes);
             dv.Get(0, scratch);
@@ -1081,8 +1081,8 @@ namespace Lucene.Net.Index
 
             // Now search the index:
             IndexReader ireader = DirectoryReader.Open(directory); // read-only=true
-            Debug.Assert(ireader.Leaves().Count == 1);
-            BinaryDocValues dv = ((AtomicReader)ireader.Leaves()[0].Reader()).GetSortedDocValues("dv");
+            Debug.Assert(ireader.Leaves.Count == 1);
+            BinaryDocValues dv = ((AtomicReader)ireader.Leaves[0].Reader).GetSortedDocValues("dv");
             sbyte[] mybytes = new sbyte[20];
             BytesRef scratch = new BytesRef(mybytes);
             dv.Get(0, scratch);
@@ -1112,8 +1112,8 @@ namespace Lucene.Net.Index
 
             // Now search the index:
             IndexReader ireader = DirectoryReader.Open(directory); // read-only=true
-            Debug.Assert(ireader.Leaves().Count == 1);
-            BinaryDocValues dv = ((AtomicReader)ireader.Leaves()[0].Reader()).GetBinaryDocValues("dv");
+            Debug.Assert(ireader.Leaves.Count == 1);
+            BinaryDocValues dv = ((AtomicReader)ireader.Leaves[0].Reader).GetBinaryDocValues("dv");
             BytesRef scratch = new BytesRef();
             dv.Get(0, scratch);
             Assert.AreEqual("foo!", scratch.Utf8ToString());
@@ -1147,8 +1147,8 @@ namespace Lucene.Net.Index
 
             // Now search the index:
             IndexReader ireader = DirectoryReader.Open(directory); // read-only=true
-            Debug.Assert(ireader.Leaves().Count == 1);
-            BinaryDocValues dv = ((AtomicReader)ireader.Leaves()[0].Reader()).GetSortedDocValues("dv");
+            Debug.Assert(ireader.Leaves.Count == 1);
+            BinaryDocValues dv = ((AtomicReader)ireader.Leaves[0].Reader).GetSortedDocValues("dv");
             BytesRef scratch = new BytesRef();
             dv.Get(0, scratch);
             Assert.AreEqual("foo!", scratch.Utf8ToString());
@@ -1187,7 +1187,7 @@ namespace Lucene.Net.Index
             writer.Dispose();
 
             DirectoryReader reader = DirectoryReader.Open(dir, 1);
-            Assert.AreEqual(1, reader.Leaves().Count);
+            Assert.AreEqual(1, reader.Leaves.Count);
 
             IndexSearcher searcher = new IndexSearcher(reader);
 
@@ -1386,11 +1386,11 @@ namespace Lucene.Net.Index
 
             // compare
             DirectoryReader ir = DirectoryReader.Open(dir);
-            foreach (AtomicReaderContext context in ir.Leaves())
+            foreach (AtomicReaderContext context in ir.Leaves)
             {
-                AtomicReader r = (AtomicReader)context.Reader();
+                AtomicReader r = context.AtomicReader;
                 NumericDocValues docValues = r.GetNumericDocValues("dv");
-                for (int i = 0; i < r.MaxDoc(); i++)
+                for (int i = 0; i < r.MaxDoc; i++)
                 {
                     long storedValue = Convert.ToInt64(r.Document(i).Get("stored"));
                     Assert.AreEqual(storedValue, docValues.Get(i));
@@ -1477,9 +1477,9 @@ namespace Lucene.Net.Index
 
             // compare
             DirectoryReader ir = DirectoryReader.Open(dir);
-            foreach (AtomicReaderContext context in ir.Leaves())
+            foreach (AtomicReaderContext context in ir.Leaves)
             {
-                AtomicReader r = (AtomicReader)context.Reader();
+                AtomicReader r = context.AtomicReader;
                 Bits expected = FieldCache_Fields.DEFAULT.GetDocsWithField(r, "indexed");
                 Bits actual = FieldCache_Fields.DEFAULT.GetDocsWithField(r, "dv");
                 Assert.AreEqual(expected, actual);
@@ -1627,11 +1627,11 @@ namespace Lucene.Net.Index
 
             // compare
             DirectoryReader ir = DirectoryReader.Open(dir);
-            foreach (AtomicReaderContext context in ir.Leaves())
+            foreach (AtomicReaderContext context in ir.Leaves)
             {
-                AtomicReader r = (AtomicReader)context.Reader();
+                AtomicReader r = context.AtomicReader;
                 BinaryDocValues docValues = r.GetBinaryDocValues("dv");
-                for (int i = 0; i < r.MaxDoc(); i++)
+                for (int i = 0; i < r.MaxDoc; i++)
                 {
                     BytesRef binaryValue = r.Document(i).GetBinaryValue("stored");
                     BytesRef scratch = new BytesRef();
@@ -1713,11 +1713,11 @@ namespace Lucene.Net.Index
 
             // compare
             DirectoryReader ir = DirectoryReader.Open(dir);
-            foreach (AtomicReaderContext context in ir.Leaves())
+            foreach (AtomicReaderContext context in ir.Leaves)
             {
-                AtomicReader r = (AtomicReader)context.Reader();
+                AtomicReader r = context.AtomicReader;
                 BinaryDocValues docValues = r.GetSortedDocValues("dv");
-                for (int i = 0; i < r.MaxDoc(); i++)
+                for (int i = 0; i < r.MaxDoc; i++)
                 {
                     BytesRef binaryValue = r.Document(i).GetBinaryValue("stored");
                     BytesRef scratch = new BytesRef();
@@ -1777,12 +1777,12 @@ namespace Lucene.Net.Index
 
             // compare
             DirectoryReader ir = DirectoryReader.Open(dir);
-            foreach (AtomicReaderContext context in ir.Leaves())
+            foreach (AtomicReaderContext context in ir.Leaves)
             {
-                AtomicReader r = (AtomicReader)context.Reader();
+                AtomicReader r = context.AtomicReader;
                 SortedDocValues expected = FieldCache_Fields.DEFAULT.GetTermsIndex(r, "indexed");
                 SortedDocValues actual = r.GetSortedDocValues("dv");
-                AssertEquals(r.MaxDoc(), expected, actual);
+                AssertEquals(r.MaxDoc, expected, actual);
             }
             ir.Dispose();
             dir.Dispose();
@@ -2364,12 +2364,12 @@ namespace Lucene.Net.Index
 
             // compare
             DirectoryReader ir = DirectoryReader.Open(dir);
-            foreach (AtomicReaderContext context in ir.Leaves())
+            foreach (AtomicReaderContext context in ir.Leaves)
             {
-                AtomicReader r = (AtomicReader)context.Reader();
+                AtomicReader r = context.AtomicReader;
                 SortedSetDocValues docValues = r.GetSortedSetDocValues("dv");
                 BytesRef scratch = new BytesRef();
-                for (int i = 0; i < r.MaxDoc(); i++)
+                for (int i = 0; i < r.MaxDoc; i++)
                 {
                     string[] stringValues = r.Document(i).GetValues("stored");
                     if (docValues != null)
@@ -2625,12 +2625,12 @@ namespace Lucene.Net.Index
 
             // compare per-segment
             DirectoryReader ir = writer.Reader;
-            foreach (AtomicReaderContext context in ir.Leaves())
+            foreach (AtomicReaderContext context in ir.Leaves)
             {
-                AtomicReader r = (AtomicReader)context.Reader();
+                AtomicReader r = context.AtomicReader;
                 SortedSetDocValues expected = FieldCache_Fields.DEFAULT.GetDocTermOrds(r, "indexed");
                 SortedSetDocValues actual = r.GetSortedSetDocValues("dv");
-                AssertEquals(r.MaxDoc(), expected, actual);
+                AssertEquals(r.MaxDoc, expected, actual);
             }
             ir.Dispose();
 
@@ -2641,7 +2641,7 @@ namespace Lucene.Net.Index
             AtomicReader ar = GetOnlySegmentReader(ir);
             SortedSetDocValues expected_ = FieldCache_Fields.DEFAULT.GetDocTermOrds(ar, "indexed");
             SortedSetDocValues actual_ = ar.GetSortedSetDocValues("dv");
-            AssertEquals(ir.MaxDoc(), expected_, actual_);
+            AssertEquals(ir.MaxDoc, expected_, actual_);
             ir.Dispose();
 
             writer.Dispose();
@@ -2755,8 +2755,8 @@ namespace Lucene.Net.Index
             iw.Dispose();
 
             IndexReader ir = DirectoryReader.Open(directory);
-            Assert.AreEqual(1, ir.Leaves().Count);
-            AtomicReader ar = (AtomicReader)ir.Leaves()[0].Reader();
+            Assert.AreEqual(1, ir.Leaves.Count);
+            AtomicReader ar = (AtomicReader)ir.Leaves[0].Reader;
             NumericDocValues dv = ar.GetNumericDocValues("dv1");
             Assert.AreEqual(0, dv.Get(0));
             Assert.AreEqual(0, dv.Get(1));
@@ -2787,8 +2787,8 @@ namespace Lucene.Net.Index
             iw.Dispose();
 
             IndexReader ir = DirectoryReader.Open(directory);
-            Assert.AreEqual(1, ir.Leaves().Count);
-            AtomicReader ar = (AtomicReader)ir.Leaves()[0].Reader();
+            Assert.AreEqual(1, ir.Leaves.Count);
+            AtomicReader ar = (AtomicReader)ir.Leaves[0].Reader;
             NumericDocValues dv = ar.GetNumericDocValues("dv1");
             Assert.AreEqual(0, dv.Get(0));
             Assert.AreEqual(0, dv.Get(1));
@@ -2823,8 +2823,8 @@ namespace Lucene.Net.Index
             iw.Dispose();
 
             IndexReader ir = DirectoryReader.Open(directory);
-            Assert.AreEqual(1, ir.Leaves().Count);
-            AtomicReader ar = (AtomicReader)ir.Leaves()[0].Reader();
+            Assert.AreEqual(1, ir.Leaves.Count);
+            AtomicReader ar = (AtomicReader)ir.Leaves[0].Reader;
             NumericDocValues dv = ar.GetNumericDocValues("dv1");
             Assert.AreEqual(0, dv.Get(0));
             Assert.AreEqual(0, dv.Get(1));
@@ -2856,8 +2856,8 @@ namespace Lucene.Net.Index
             iw.Dispose();
 
             IndexReader ir = DirectoryReader.Open(directory);
-            Assert.AreEqual(1, ir.Leaves().Count);
-            AtomicReader ar = (AtomicReader)ir.Leaves()[0].Reader();
+            Assert.AreEqual(1, ir.Leaves.Count);
+            AtomicReader ar = (AtomicReader)ir.Leaves[0].Reader;
             BinaryDocValues dv = ar.GetBinaryDocValues("dv1");
             BytesRef @ref = new BytesRef();
             dv.Get(0, @ref);
@@ -2891,8 +2891,8 @@ namespace Lucene.Net.Index
             iw.Dispose();
 
             IndexReader ir = DirectoryReader.Open(directory);
-            Assert.AreEqual(1, ir.Leaves().Count);
-            AtomicReader ar = (AtomicReader)ir.Leaves()[0].Reader();
+            Assert.AreEqual(1, ir.Leaves.Count);
+            AtomicReader ar = (AtomicReader)ir.Leaves[0].Reader;
             BinaryDocValues dv = ar.GetBinaryDocValues("dv1");
             BytesRef @ref = new BytesRef();
             dv.Get(0, @ref);
@@ -2930,8 +2930,8 @@ namespace Lucene.Net.Index
             iw.Dispose();
 
             IndexReader ir = DirectoryReader.Open(directory);
-            Assert.AreEqual(1, ir.Leaves().Count);
-            AtomicReader ar = (AtomicReader)ir.Leaves()[0].Reader();
+            Assert.AreEqual(1, ir.Leaves.Count);
+            AtomicReader ar = (AtomicReader)ir.Leaves[0].Reader;
             BinaryDocValues dv = ar.GetBinaryDocValues("dv1");
             BytesRef @ref = new BytesRef();
             dv.Get(0, @ref);
@@ -3244,13 +3244,13 @@ namespace Lucene.Net.Index
                 try
                 {
                     StartingGun.@await();
-                    foreach (AtomicReaderContext context in Ir.Leaves())
+                    foreach (AtomicReaderContext context in Ir.Leaves)
                     {
-                        AtomicReader r = (AtomicReader)context.Reader();
+                        AtomicReader r = context.AtomicReader;
                         BinaryDocValues binaries = r.GetBinaryDocValues("dvBin");
                         SortedDocValues sorted = r.GetSortedDocValues("dvSorted");
                         NumericDocValues numerics = r.GetNumericDocValues("dvNum");
-                        for (int j = 0; j < r.MaxDoc(); j++)
+                        for (int j = 0; j < r.MaxDoc; j++)
                         {
                             BytesRef binaryValue = r.Document(j).GetBinaryValue("storedBin");
                             BytesRef scratch = new BytesRef();
@@ -3382,9 +3382,9 @@ namespace Lucene.Net.Index
                 try
                 {
                     StartingGun.@await();
-                    foreach (AtomicReaderContext context in Ir.Leaves())
+                    foreach (AtomicReaderContext context in Ir.Leaves)
                     {
-                        AtomicReader r = (AtomicReader)context.Reader();
+                        AtomicReader r = context.AtomicReader;
                         BinaryDocValues binaries = r.GetBinaryDocValues("dvBin");
                         Bits binaryBits = r.GetDocsWithField("dvBin");
                         SortedDocValues sorted = r.GetSortedDocValues("dvSorted");
@@ -3393,7 +3393,7 @@ namespace Lucene.Net.Index
                         Bits numericBits = r.GetDocsWithField("dvNum");
                         SortedSetDocValues sortedSet = r.GetSortedSetDocValues("dvSortedSet");
                         Bits sortedSetBits = r.GetDocsWithField("dvSortedSet");
-                        for (int j = 0; j < r.MaxDoc(); j++)
+                        for (int j = 0; j < r.MaxDoc; j++)
                         {
                             BytesRef binaryValue = r.Document(j).GetBinaryValue("storedBin");
                             if (binaryValue != null)

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.TestFramework/Index/BaseStoredFieldsFormatTestCase.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.TestFramework/Index/BaseStoredFieldsFormatTestCase.cs b/src/Lucene.Net.TestFramework/Index/BaseStoredFieldsFormatTestCase.cs
index 1e0d93a..d9dc84a 100644
--- a/src/Lucene.Net.TestFramework/Index/BaseStoredFieldsFormatTestCase.cs
+++ b/src/Lucene.Net.TestFramework/Index/BaseStoredFieldsFormatTestCase.cs
@@ -325,13 +325,13 @@ namespace Lucene.Net.Index
             DirectoryReader r = w.Reader;
             w.Dispose();
 
-            Assert.AreEqual(numDocs, r.NumDocs());
+            Assert.AreEqual(numDocs, r.NumDocs);
 
-            foreach (AtomicReaderContext ctx in r.Leaves())
+            foreach (AtomicReaderContext ctx in r.Leaves)
             {
-                AtomicReader sub = (AtomicReader)ctx.Reader();
+                AtomicReader sub = (AtomicReader)ctx.Reader;
                 FieldCache_Fields.Ints ids = FieldCache_Fields.DEFAULT.GetInts(sub, "id", false);
-                for (int docID = 0; docID < sub.NumDocs(); docID++)
+                for (int docID = 0; docID < sub.NumDocs; docID++)
                 {
                     Document doc = sub.Document(docID);
                     Field f = (Field)doc.GetField("nf");
@@ -639,9 +639,9 @@ namespace Lucene.Net.Index
             iw.Commit();
 
             DirectoryReader ir = DirectoryReader.Open(dir);
-            Assert.IsTrue(ir.NumDocs() > 0);
+            Assert.IsTrue(ir.NumDocs > 0);
             int numDocs = 0;
-            for (int i = 0; i < ir.MaxDoc(); ++i)
+            for (int i = 0; i < ir.MaxDoc; ++i)
             {
                 Document doc = ir.Document(i);
                 if (doc == null)
@@ -659,7 +659,7 @@ namespace Lucene.Net.Index
                     Assert.AreEqual(arr, arr2);
                 }
             }
-            Assert.IsTrue(ir.NumDocs() <= numDocs);
+            Assert.IsTrue(ir.NumDocs <= numDocs);
             ir.Dispose();
 
             iw.DeleteAll();

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.TestFramework/Index/BaseTermVectorsFormatTestCase.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.TestFramework/Index/BaseTermVectorsFormatTestCase.cs b/src/Lucene.Net.TestFramework/Index/BaseTermVectorsFormatTestCase.cs
index 312e16c..49185e6 100644
--- a/src/Lucene.Net.TestFramework/Index/BaseTermVectorsFormatTestCase.cs
+++ b/src/Lucene.Net.TestFramework/Index/BaseTermVectorsFormatTestCase.cs
@@ -479,7 +479,7 @@ namespace Lucene.Net.Index
         {
             // compare field names
             Assert.AreEqual(doc == null, fields == null);
-            Assert.AreEqual(doc.FieldNames.Length, fields.Size());
+            Assert.AreEqual(doc.FieldNames.Length, fields.Size);
             HashSet<string> fields1 = new HashSet<string>();
             HashSet<string> fields2 = new HashSet<string>();
             for (int i = 0; i < doc.FieldNames.Length; ++i)

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.TestFramework/Index/FieldFilterAtomicReader.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.TestFramework/Index/FieldFilterAtomicReader.cs b/src/Lucene.Net.TestFramework/Index/FieldFilterAtomicReader.cs
index 7955939..9965297 100644
--- a/src/Lucene.Net.TestFramework/Index/FieldFilterAtomicReader.cs
+++ b/src/Lucene.Net.TestFramework/Index/FieldFilterAtomicReader.cs
@@ -130,10 +130,13 @@ namespace Lucene.Net.Index
             }
         }
 
-        public override Fields Fields()
+        public override Fields Fields
         {
-            Fields f = base.Fields();
-            return (f == null) ? null : new FieldFilterFields(this, f);
+            get
+            {
+                Fields f = base.Fields;
+                return (f == null) ? null : new FieldFilterFields(this, f);
+            }
         }
 
         public override NumericDocValues GetNumericDocValues(string field)
@@ -182,10 +185,13 @@ namespace Lucene.Net.Index
                 this.OuterInstance = outerInstance;
             }
 
-            public override int Size()
+            public override int Size
             {
-                // this information is not cheap, return -1 like MultiFields does:
-                return -1;
+                get
+                {
+                    // this information is not cheap, return -1 like MultiFields does:
+                    return -1;
+                }
             }
 
             public override IEnumerator<string> GetEnumerator()

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.TestFramework/Index/RandomIndexWriter.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.TestFramework/Index/RandomIndexWriter.cs b/src/Lucene.Net.TestFramework/Index/RandomIndexWriter.cs
index b8ed542..b3f3e40 100644
--- a/src/Lucene.Net.TestFramework/Index/RandomIndexWriter.cs
+++ b/src/Lucene.Net.TestFramework/Index/RandomIndexWriter.cs
@@ -372,7 +372,7 @@ namespace Lucene.Net.Index
 
         public virtual int MaxDoc()
         {
-            return w.MaxDoc();
+            return w.MaxDoc;
         }
 
         public virtual void DeleteAll()

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.TestFramework/Index/ThreadedIndexingAndSearchingTestCase.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.TestFramework/Index/ThreadedIndexingAndSearchingTestCase.cs b/src/Lucene.Net.TestFramework/Index/ThreadedIndexingAndSearchingTestCase.cs
index 824ca0e..f72b8f8 100644
--- a/src/Lucene.Net.TestFramework/Index/ThreadedIndexingAndSearchingTestCase.cs
+++ b/src/Lucene.Net.TestFramework/Index/ThreadedIndexingAndSearchingTestCase.cs
@@ -449,9 +449,9 @@ namespace Lucene.Net.Index
                             // Verify 1) IW is correctly setting
                             // diagnostics, and 2) segment warming for
                             // merged segments is actually happening:
-                            foreach (AtomicReaderContext sub in s.IndexReader.Leaves())
+                            foreach (AtomicReaderContext sub in s.IndexReader.Leaves)
                             {
-                                SegmentReader segReader = (SegmentReader)sub.Reader();
+                                SegmentReader segReader = (SegmentReader)sub.Reader;
                                 IDictionary<string, string> diagnostics = segReader.SegmentInfo.Info.Diagnostics;
                                 Assert.IsNotNull(diagnostics);
                                 string source = diagnostics["source"];
@@ -461,7 +461,7 @@ namespace Lucene.Net.Index
                                     Assert.IsTrue(!OuterInstance.AssertMergedSegmentsWarmed || OuterInstance.Warmed.ContainsKey((SegmentCoreReaders)segReader.CoreCacheKey), "sub reader " + sub + " wasn't warmed: warmed=" + OuterInstance.Warmed + " diagnostics=" + diagnostics + " si=" + segReader.SegmentInfo);
                                 }
                             }
-                            if (s.IndexReader.NumDocs() > 0)
+                            if (s.IndexReader.NumDocs > 0)
                             {
                                 OuterInstance.SmokeTestSearcher(s);
                                 Fields fields = MultiFields.GetFields(s.IndexReader);
@@ -742,7 +742,7 @@ namespace Lucene.Net.Index
             }
             Assert.IsFalse(doFail);
 
-            Assert.AreEqual(AddCount.Get() - DelCount.Get(), s.IndexReader.NumDocs(), "index=" + Writer.SegString() + " addCount=" + AddCount + " delCount=" + DelCount);
+            Assert.AreEqual(AddCount.Get() - DelCount.Get(), s.IndexReader.NumDocs, "index=" + Writer.SegString() + " addCount=" + AddCount + " delCount=" + DelCount);
             ReleaseSearcher(s);
 
             Writer.Commit();
@@ -787,7 +787,7 @@ namespace Lucene.Net.Index
                     Console.WriteLine("TEST: now warm merged reader=" + reader);
                 }
                 OuterInstance.Warmed[(SegmentCoreReaders)reader.CoreCacheKey] = true;
-                int maxDoc = reader.MaxDoc();
+                int maxDoc = reader.MaxDoc;
                 Bits liveDocs = reader.LiveDocs;
                 int sum = 0;
                 int inc = Math.Max(1, maxDoc / 50);

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.TestFramework/Search/CheckHits.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.TestFramework/Search/CheckHits.cs b/src/Lucene.Net.TestFramework/Search/CheckHits.cs
index 4e88bd2..d2d3f54 100644
--- a/src/Lucene.Net.TestFramework/Search/CheckHits.cs
+++ b/src/Lucene.Net.TestFramework/Search/CheckHits.cs
@@ -64,7 +64,7 @@ namespace Lucene.Net.Search
                 ignore.Add(Convert.ToInt32(results[i]));
             }
 
-            int maxDoc = searcher.IndexReader.MaxDoc();
+            int maxDoc = searcher.IndexReader.MaxDoc;
             for (int doc = 0; doc < maxDoc; doc++)
             {
                 if (ignore.Contains(Convert.ToInt32(doc)))

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.TestFramework/Search/QueryUtils.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.TestFramework/Search/QueryUtils.cs b/src/Lucene.Net.TestFramework/Search/QueryUtils.cs
index d6cc5c5..1604347 100644
--- a/src/Lucene.Net.TestFramework/Search/QueryUtils.cs
+++ b/src/Lucene.Net.TestFramework/Search/QueryUtils.cs
@@ -253,7 +253,7 @@ namespace Lucene.Net.Search
         public static void CheckSkipTo(Query q, IndexSearcher s)
         {
             //System.out.println("Checking "+q);
-            IList<AtomicReaderContext> readerContextArray = s.TopReaderContext.Leaves();
+            IList<AtomicReaderContext> readerContextArray = s.TopReaderContext.Leaves;
             if (s.CreateNormalizedWeight(q).ScoresDocsOutOfOrder()) // in this case order of skipTo() might differ from that of next().
             {
                 return;
@@ -287,7 +287,7 @@ namespace Lucene.Net.Search
                     indexSearcher.Similarity = s.Similarity;
                     Weight w = indexSearcher.CreateNormalizedWeight(q);
                     AtomicReaderContext ctx = (AtomicReaderContext)previousReader.Context;
-                    Scorer scorer = w.Scorer(ctx, ((AtomicReader)ctx.Reader()).LiveDocs);
+                    Scorer scorer = w.Scorer(ctx, ((AtomicReader)ctx.Reader).LiveDocs);
                     if (scorer != null)
                     {
                         bool more = scorer.Advance(lastDoc[0] + 1) != DocIdSetIterator.NO_MORE_DOCS;
@@ -344,7 +344,7 @@ namespace Lucene.Net.Search
                     {
                         Weight w = s.CreateNormalizedWeight(q);
                         AtomicReaderContext context = ReaderContextArray[leafPtr];
-                        scorer = w.Scorer(context, ((AtomicReader)context.Reader()).LiveDocs);
+                        scorer = w.Scorer(context, (context.AtomicReader).LiveDocs);
                     }
 
                     int op = Order[(Opidx[0]++) % Order.Length];
@@ -385,7 +385,7 @@ namespace Lucene.Net.Search
                         indexSearcher.Similarity = s.Similarity;
                         Weight w = indexSearcher.CreateNormalizedWeight(q);
                         AtomicReaderContext ctx = (AtomicReaderContext)indexSearcher.TopReaderContext;
-                        Scorer scorer = w.Scorer(ctx, ((AtomicReader)ctx.Reader()).LiveDocs);
+                        Scorer scorer = w.Scorer(ctx, ((AtomicReader)ctx.Reader).LiveDocs);
                         if (scorer != null)
                         {
                             bool more = scorer.Advance(LastDoc[0] + 1) != DocIdSetIterator.NO_MORE_DOCS;
@@ -393,8 +393,8 @@ namespace Lucene.Net.Search
                         }
                         leafPtr++;
                     }
-                    LastReader[0] = (AtomicReader)value.Reader();
-                    Debug.Assert(ReaderContextArray[leafPtr].Reader() == value.Reader());
+                    LastReader[0] = (AtomicReader)value.Reader;
+                    Debug.Assert(ReaderContextArray[leafPtr].Reader == value.Reader);
                     this.scorer = null;
                     LastDoc[0] = -1;
                 }
@@ -414,7 +414,7 @@ namespace Lucene.Net.Search
             const float maxDiff = 1e-3f;
             int[] lastDoc = new int[] { -1 };
             AtomicReader[] lastReader = new AtomicReader[] { null };
-            IList<AtomicReaderContext> context = s.TopReaderContext.Leaves();
+            IList<AtomicReaderContext> context = s.TopReaderContext.Leaves;
             s.Search(q, new CollectorAnonymousInnerClassHelper2(q, s, maxDiff, lastDoc, lastReader, context));
 
             if (lastReader[0] != null)
@@ -517,9 +517,9 @@ namespace Lucene.Net.Search
                         leafPtr++;
                     }
 
-                    LastReader[0] = (AtomicReader)value.Reader();
+                    LastReader[0] = (AtomicReader)value.Reader;
                     LastDoc[0] = -1;
-                    liveDocs = ((AtomicReader)value.Reader()).LiveDocs;
+                    liveDocs = ((AtomicReader)value.Reader).LiveDocs;
                 }
             }
 

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.TestFramework/Search/SearchEquivalenceTestBase.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.TestFramework/Search/SearchEquivalenceTestBase.cs b/src/Lucene.Net.TestFramework/Search/SearchEquivalenceTestBase.cs
index 6836113..04b21e2 100644
--- a/src/Lucene.Net.TestFramework/Search/SearchEquivalenceTestBase.cs
+++ b/src/Lucene.Net.TestFramework/Search/SearchEquivalenceTestBase.cs
@@ -199,8 +199,8 @@ namespace Lucene.Net.Search
             }
 
             // not efficient, but simple!
-            TopDocs td1 = S1.Search(q1, filter, Reader.MaxDoc());
-            TopDocs td2 = S2.Search(q2, filter, Reader.MaxDoc());
+            TopDocs td1 = S1.Search(q1, filter, Reader.MaxDoc);
+            TopDocs td2 = S2.Search(q2, filter, Reader.MaxDoc);
             Assert.IsTrue(td1.TotalHits <= td2.TotalHits);
 
             // fill the superset into a bitset

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.TestFramework/Search/ShardSearchingTestBase.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.TestFramework/Search/ShardSearchingTestBase.cs b/src/Lucene.Net.TestFramework/Search/ShardSearchingTestBase.cs
index f7f46d0..9297798 100644
--- a/src/Lucene.Net.TestFramework/Search/ShardSearchingTestBase.cs
+++ b/src/Lucene.Net.TestFramework/Search/ShardSearchingTestBase.cs
@@ -137,7 +137,7 @@ namespace Lucene.Net.Search
         {
             if (VERBOSE)
             {
-                Console.WriteLine("REOPEN: nodeID=" + nodeID + " version=" + version + " maxDoc=" + newSearcher.IndexReader.MaxDoc());
+                Console.WriteLine("REOPEN: nodeID=" + nodeID + " version=" + version + " maxDoc=" + newSearcher.IndexReader.MaxDoc);
             }
 
             // Broadcast new collection stats for this node to all
@@ -406,8 +406,8 @@ namespace Lucene.Net.Search
                             sumDocFreq = -1;
                         }
 
-                        Debug.Assert(nodeStats.MaxDoc() >= 0);
-                        maxDoc += nodeStats.MaxDoc();
+                        Debug.Assert(nodeStats.MaxDoc >= 0);
+                        maxDoc += nodeStats.MaxDoc;
                     }
 
                     return new CollectionStatistics(field, maxDoc, docCount, sumTotalTermFreq, sumDocFreq);
@@ -463,7 +463,7 @@ namespace Lucene.Net.Search
                                 // request to a remote shard won't have reader.MaxDoc at hand, so
                                 // it will send some arbitrary value which will be fixed on the
                                 // other end.
-                                shardAfter.Doc = s.IndexReader.MaxDoc() - 1;
+                                shardAfter.Doc = s.IndexReader.MaxDoc - 1;
                             }
                             finally
                             {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.TestFramework/Store/MockDirectoryWrapper.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.TestFramework/Store/MockDirectoryWrapper.cs b/src/Lucene.Net.TestFramework/Store/MockDirectoryWrapper.cs
index e1d9674..b3a7199 100644
--- a/src/Lucene.Net.TestFramework/Store/MockDirectoryWrapper.cs
+++ b/src/Lucene.Net.TestFramework/Store/MockDirectoryWrapper.cs
@@ -1054,11 +1054,11 @@ namespace Lucene.Net.Store
                             }
 
                             DirectoryReader ir1 = DirectoryReader.Open(this);
-                            int numDocs1 = ir1.NumDocs();
+                            int numDocs1 = ir1.NumDocs;
                             ir1.Dispose();
                             (new IndexWriter(this, new IndexWriterConfig(LuceneTestCase.TEST_VERSION_CURRENT, null))).Dispose();
                             DirectoryReader ir2 = DirectoryReader.Open(this);
-                            int numDocs2 = ir2.NumDocs();
+                            int numDocs2 = ir2.NumDocs;
                             ir2.Dispose();
                             Debug.Assert(numDocs1 == numDocs2, "numDocs changed after opening/closing IW: before=" + numDocs1 + " after=" + numDocs2);
                         }

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs b/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs
index b725e9b..700433a 100644
--- a/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs
+++ b/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs
@@ -705,12 +705,12 @@ namespace Lucene.Net.Util
         /// </summary>
         public static SegmentReader GetOnlySegmentReader(DirectoryReader reader)
         {
-            IList<AtomicReaderContext> subReaders = reader.Leaves();
+            IList<AtomicReaderContext> subReaders = reader.Leaves;
             if (subReaders.Count != 1)
             {
                 throw new System.ArgumentException(reader + " has " + subReaders.Count + " segments instead of exactly one");
             }
-            AtomicReader r = (AtomicReader)subReaders[0].Reader();
+            AtomicReader r = (AtomicReader)subReaders[0].Reader;
             Assert.IsTrue(r is SegmentReader);
             return (SegmentReader)r;
         }
@@ -1748,10 +1748,10 @@ namespace Lucene.Net.Util
         public void AssertReaderStatisticsEquals(string info, IndexReader leftReader, IndexReader rightReader)
         {
             // Somewhat redundant: we never delete docs
-            Assert.AreEqual(leftReader.MaxDoc(), rightReader.MaxDoc(), info);
-            Assert.AreEqual(leftReader.NumDocs(), rightReader.NumDocs(), info);
-            Assert.AreEqual(leftReader.NumDeletedDocs(), rightReader.NumDeletedDocs(), info);
-            Assert.AreEqual(leftReader.HasDeletions(), rightReader.HasDeletions(), info);
+            Assert.AreEqual(leftReader.MaxDoc, rightReader.MaxDoc, info);
+            Assert.AreEqual(leftReader.NumDocs, rightReader.NumDocs, info);
+            Assert.AreEqual(leftReader.NumDeletedDocs, rightReader.NumDeletedDocs, info);
+            Assert.AreEqual(leftReader.HasDeletions, rightReader.HasDeletions, info);
         }
 
         /// <summary>
@@ -1787,9 +1787,9 @@ namespace Lucene.Net.Util
         /// </summary>
         public void AssertFieldStatisticsEquals(string info, Fields leftFields, Fields rightFields)
         {
-            if (leftFields.Size() != -1 && rightFields.Size() != -1)
+            if (leftFields.Size != -1 && rightFields.Size != -1)
             {
-                Assert.AreEqual(leftFields.Size(), rightFields.Size(), info);
+                Assert.AreEqual(leftFields.Size, rightFields.Size, info);
             }
         }
 
@@ -1891,7 +1891,7 @@ namespace Lucene.Net.Util
         public void AssertTermsEnumEquals(string info, IndexReader leftReader, TermsEnum leftTermsEnum, TermsEnum rightTermsEnum, bool deep)
         {
             BytesRef term;
-            Bits randomBits = new RandomBits(leftReader.MaxDoc(), Random().NextDouble(), Random());
+            Bits randomBits = new RandomBits(leftReader.MaxDoc, Random().NextDouble(), Random());
             DocsAndPositionsEnum leftPositions = null;
             DocsAndPositionsEnum rightPositions = null;
             DocsEnum leftDocs = null;
@@ -1994,7 +1994,7 @@ namespace Lucene.Net.Util
                 return;
             }
             int docid = -1;
-            int averageGap = leftReader.MaxDoc() / (1 + docFreq);
+            int averageGap = leftReader.MaxDoc / (1 + docFreq);
             int skipInterval = 16;
 
             while (true)
@@ -2037,7 +2037,7 @@ namespace Lucene.Net.Util
             }
 
             int docid = -1;
-            int averageGap = leftReader.MaxDoc() / (1 + docFreq);
+            int averageGap = leftReader.MaxDoc / (1 + docFreq);
             int skipInterval = 16;
 
             while (true)
@@ -2203,7 +2203,7 @@ namespace Lucene.Net.Util
                 NumericDocValues rightNorms = MultiDocValues.GetNormValues(rightReader, field);
                 if (leftNorms != null && rightNorms != null)
                 {
-                    AssertDocValuesEquals(info, leftReader.MaxDoc(), leftNorms, rightNorms);
+                    AssertDocValuesEquals(info, leftReader.MaxDoc, leftNorms, rightNorms);
                 }
                 else
                 {
@@ -2218,8 +2218,8 @@ namespace Lucene.Net.Util
         /// </summary>
         public void AssertStoredFieldsEquals(string info, IndexReader leftReader, IndexReader rightReader)
         {
-            Debug.Assert(leftReader.MaxDoc() == rightReader.MaxDoc());
-            for (int i = 0; i < leftReader.MaxDoc(); i++)
+            Debug.Assert(leftReader.MaxDoc == rightReader.MaxDoc);
+            for (int i = 0; i < leftReader.MaxDoc; i++)
             {
                 Document leftDoc = leftReader.Document(i);
                 Document rightDoc = rightReader.Document(i);
@@ -2261,8 +2261,8 @@ namespace Lucene.Net.Util
         /// </summary>
         public void AssertTermVectorsEquals(string info, IndexReader leftReader, IndexReader rightReader)
         {
-            Debug.Assert(leftReader.MaxDoc() == rightReader.MaxDoc());
-            for (int i = 0; i < leftReader.MaxDoc(); i++)
+            Debug.Assert(leftReader.MaxDoc == rightReader.MaxDoc);
+            for (int i = 0; i < leftReader.MaxDoc; i++)
             {
                 Fields leftFields = leftReader.GetTermVectors(i);
                 Fields rightFields = rightReader.GetTermVectors(i);
@@ -2301,7 +2301,7 @@ namespace Lucene.Net.Util
                     NumericDocValues rightValues = MultiDocValues.GetNumericValues(rightReader, field);
                     if (leftValues != null && rightValues != null)
                     {
-                        AssertDocValuesEquals(info, leftReader.MaxDoc(), leftValues, rightValues);
+                        AssertDocValuesEquals(info, leftReader.MaxDoc, leftValues, rightValues);
                     }
                     else
                     {
@@ -2317,7 +2317,7 @@ namespace Lucene.Net.Util
                     {
                         BytesRef scratchLeft = new BytesRef();
                         BytesRef scratchRight = new BytesRef();
-                        for (int docID = 0; docID < leftReader.MaxDoc(); docID++)
+                        for (int docID = 0; docID < leftReader.MaxDoc; docID++)
                         {
                             leftValues.Get(docID, scratchLeft);
                             rightValues.Get(docID, scratchRight);
@@ -2348,7 +2348,7 @@ namespace Lucene.Net.Util
                             Assert.AreEqual(scratchLeft, scratchRight, info);
                         }
                         // bytes
-                        for (int docID = 0; docID < leftReader.MaxDoc(); docID++)
+                        for (int docID = 0; docID < leftReader.MaxDoc; docID++)
                         {
                             leftValues.Get(docID, scratchLeft);
                             rightValues.Get(docID, scratchRight);
@@ -2379,7 +2379,7 @@ namespace Lucene.Net.Util
                             Assert.AreEqual(scratchLeft, scratchRight, info);
                         }
                         // ord lists
-                        for (int docID = 0; docID < leftReader.MaxDoc(); docID++)
+                        for (int docID = 0; docID < leftReader.MaxDoc; docID++)
                         {
                             leftValues.Document = docID;
                             rightValues.Document = docID;
@@ -2431,7 +2431,7 @@ namespace Lucene.Net.Util
         // TODO: this is kinda stupid, we don't delete documents in the test.
         public void AssertDeletedDocsEquals(string info, IndexReader leftReader, IndexReader rightReader)
         {
-            Debug.Assert(leftReader.NumDeletedDocs() == rightReader.NumDeletedDocs());
+            Debug.Assert(leftReader.NumDeletedDocs == rightReader.NumDeletedDocs);
             Bits leftBits = MultiFields.GetLiveDocs(leftReader);
             Bits rightBits = MultiFields.GetLiveDocs(rightReader);
 
@@ -2442,9 +2442,9 @@ namespace Lucene.Net.Util
                 return;
             }
 
-            Debug.Assert(leftReader.MaxDoc() == rightReader.MaxDoc());
+            Debug.Assert(leftReader.MaxDoc == rightReader.MaxDoc);
             Assert.AreEqual(leftBits.Length(), rightBits.Length(), info);
-            for (int i = 0; i < leftReader.MaxDoc(); i++)
+            for (int i = 0; i < leftReader.MaxDoc; i++)
             {
                 Assert.AreEqual(leftBits.Get(i), rightBits.Get(i), info);
             }

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.TestFramework/Util/TestUtil.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.TestFramework/Util/TestUtil.cs b/src/Lucene.Net.TestFramework/Util/TestUtil.cs
index 1b34c2a..2fa35f1 100644
--- a/src/Lucene.Net.TestFramework/Util/TestUtil.cs
+++ b/src/Lucene.Net.TestFramework/Util/TestUtil.cs
@@ -273,9 +273,9 @@ namespace Lucene.Net.Util
         /// </summary>
         public static void CheckReader(IndexReader reader)
         {
-            foreach (AtomicReaderContext context in reader.Leaves())
+            foreach (AtomicReaderContext context in reader.Leaves)
             {
-                CheckReader((AtomicReader)context.Reader(), true);
+                CheckReader(context.AtomicReader, true);
             }
         }
 

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Codecs/Lucene40/TestReuseDocsEnum.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Codecs/Lucene40/TestReuseDocsEnum.cs b/src/Lucene.Net.Tests/core/Codecs/Lucene40/TestReuseDocsEnum.cs
index b942d5f..a2ecdf0 100644
--- a/src/Lucene.Net.Tests/core/Codecs/Lucene40/TestReuseDocsEnum.cs
+++ b/src/Lucene.Net.Tests/core/Codecs/Lucene40/TestReuseDocsEnum.cs
@@ -63,16 +63,16 @@ namespace Lucene.Net.Codecs.Lucene40
             writer.Commit();
 
             DirectoryReader open = DirectoryReader.Open(dir);
-            foreach (AtomicReaderContext ctx in open.Leaves())
+            foreach (AtomicReaderContext ctx in open.Leaves)
             {
-                AtomicReader indexReader = (AtomicReader)ctx.Reader();
+                AtomicReader indexReader = (AtomicReader)ctx.Reader;
                 Terms terms = indexReader.Terms("body");
                 TermsEnum iterator = terms.Iterator(null);
                 IdentityHashMap<DocsEnum, bool?> enums = new IdentityHashMap<DocsEnum, bool?>();
-                MatchNoBits bits = new MatchNoBits(indexReader.MaxDoc());
+                MatchNoBits bits = new MatchNoBits(indexReader.MaxDoc);
                 while ((iterator.Next()) != null)
                 {
-                    DocsEnum docs = iterator.Docs(Random().NextBoolean() ? bits : new MatchNoBits(indexReader.MaxDoc()), null, Random().NextBoolean() ? DocsEnum.FLAG_FREQS : DocsEnum.FLAG_NONE);
+                    DocsEnum docs = iterator.Docs(Random().NextBoolean() ? bits : new MatchNoBits(indexReader.MaxDoc), null, Random().NextBoolean() ? DocsEnum.FLAG_FREQS : DocsEnum.FLAG_NONE);
                     enums[docs] = true;
                 }
 
@@ -93,12 +93,12 @@ namespace Lucene.Net.Codecs.Lucene40
             writer.Commit();
 
             DirectoryReader open = DirectoryReader.Open(dir);
-            foreach (AtomicReaderContext ctx in open.Leaves())
+            foreach (AtomicReaderContext ctx in open.Leaves)
             {
-                Terms terms = ((AtomicReader)ctx.Reader()).Terms("body");
+                Terms terms = ((AtomicReader)ctx.Reader).Terms("body");
                 TermsEnum iterator = terms.Iterator(null);
                 IdentityHashMap<DocsEnum, bool?> enums = new IdentityHashMap<DocsEnum, bool?>();
-                MatchNoBits bits = new MatchNoBits(open.MaxDoc());
+                MatchNoBits bits = new MatchNoBits(open.MaxDoc);
                 DocsEnum docs = null;
                 while ((iterator.Next()) != null)
                 {
@@ -112,7 +112,7 @@ namespace Lucene.Net.Codecs.Lucene40
                 docs = null;
                 while ((iterator.Next()) != null)
                 {
-                    docs = iterator.Docs(new MatchNoBits(open.MaxDoc()), docs, Random().NextBoolean() ? DocsEnum.FLAG_FREQS : DocsEnum.FLAG_NONE);
+                    docs = iterator.Docs(new MatchNoBits(open.MaxDoc), docs, Random().NextBoolean() ? DocsEnum.FLAG_FREQS : DocsEnum.FLAG_NONE);
                     enums[docs] = true;
                 }
                 Assert.AreEqual(terms.Size(), enums.Count);
@@ -146,15 +146,15 @@ namespace Lucene.Net.Codecs.Lucene40
 
             DirectoryReader firstReader = DirectoryReader.Open(dir);
             DirectoryReader secondReader = DirectoryReader.Open(dir);
-            IList<AtomicReaderContext> leaves = firstReader.Leaves();
-            IList<AtomicReaderContext> leaves2 = secondReader.Leaves();
+            IList<AtomicReaderContext> leaves = firstReader.Leaves;
+            IList<AtomicReaderContext> leaves2 = secondReader.Leaves;
 
             foreach (AtomicReaderContext ctx in leaves)
             {
-                Terms terms = ((AtomicReader)ctx.Reader()).Terms("body");
+                Terms terms = ((AtomicReader)ctx.Reader).Terms("body");
                 TermsEnum iterator = terms.Iterator(null);
                 IdentityHashMap<DocsEnum, bool?> enums = new IdentityHashMap<DocsEnum, bool?>();
-                MatchNoBits bits = new MatchNoBits(firstReader.MaxDoc());
+                MatchNoBits bits = new MatchNoBits(firstReader.MaxDoc);
                 iterator = terms.Iterator(null);
                 DocsEnum docs = null;
                 BytesRef term = null;
@@ -184,7 +184,7 @@ namespace Lucene.Net.Codecs.Lucene40
             {
                 return null;
             }
-            AtomicReader indexReader = (AtomicReader)readers[Random().Next(readers.Count)].Reader();
+            AtomicReader indexReader = (AtomicReader)readers[Random().Next(readers.Count)].Reader;
             Terms terms = indexReader.Terms(field);
             if (terms == null)
             {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Codecs/Lucene41/TestBlockPostingsFormat3.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Codecs/Lucene41/TestBlockPostingsFormat3.cs b/src/Lucene.Net.Tests/core/Codecs/Lucene41/TestBlockPostingsFormat3.cs
index 304f74b..ca67a17 100644
--- a/src/Lucene.Net.Tests/core/Codecs/Lucene41/TestBlockPostingsFormat3.cs
+++ b/src/Lucene.Net.Tests/core/Codecs/Lucene41/TestBlockPostingsFormat3.cs
@@ -173,9 +173,9 @@ namespace Lucene.Net.Codecs.Lucene41
         private void Verify(Directory dir)
         {
             DirectoryReader ir = DirectoryReader.Open(dir);
-            foreach (AtomicReaderContext leaf in ir.Leaves())
+            foreach (AtomicReaderContext leaf in ir.Leaves)
             {
-                AtomicReader leafReader = (AtomicReader)leaf.Reader();
+                AtomicReader leafReader = (AtomicReader)leaf.Reader;
                 AssertTerms(leafReader.Terms("field1docs"), leafReader.Terms("field2freqs"), true);
                 AssertTerms(leafReader.Terms("field3positions"), leafReader.Terms("field4offsets"), true);
                 AssertTerms(leafReader.Terms("field4offsets"), leafReader.Terms("field5payloadsFixed"), true);

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Codecs/Perfield/TestPerFieldDocValuesFormat.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Codecs/Perfield/TestPerFieldDocValuesFormat.cs b/src/Lucene.Net.Tests/core/Codecs/Perfield/TestPerFieldDocValuesFormat.cs
index d65f306..f2898ab 100644
--- a/src/Lucene.Net.Tests/core/Codecs/Perfield/TestPerFieldDocValuesFormat.cs
+++ b/src/Lucene.Net.Tests/core/Codecs/Perfield/TestPerFieldDocValuesFormat.cs
@@ -115,10 +115,10 @@ namespace Lucene.Net.Codecs.Perfield
             {
                 Document hitDoc = isearcher.Doc(hits.ScoreDocs[i].Doc);
                 Assert.AreEqual(text, hitDoc.Get("fieldname"));
-                Debug.Assert(ireader.Leaves().Count == 1);
-                NumericDocValues dv = ((AtomicReader)ireader.Leaves()[0].Reader()).GetNumericDocValues("dv1");
+                Debug.Assert(ireader.Leaves.Count == 1);
+                NumericDocValues dv = ((AtomicReader)ireader.Leaves[0].Reader).GetNumericDocValues("dv1");
                 Assert.AreEqual(5, dv.Get(hits.ScoreDocs[i].Doc));
-                BinaryDocValues dv2 = ((AtomicReader)ireader.Leaves()[0].Reader()).GetBinaryDocValues("dv2");
+                BinaryDocValues dv2 = ((AtomicReader)ireader.Leaves[0].Reader).GetBinaryDocValues("dv2");
                 dv2.Get(hits.ScoreDocs[i].Doc, scratch);
                 Assert.AreEqual(new BytesRef("hello world"), scratch);
             }

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Codecs/Perfield/TestPerFieldPostingsFormat2.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Codecs/Perfield/TestPerFieldPostingsFormat2.cs b/src/Lucene.Net.Tests/core/Codecs/Perfield/TestPerFieldPostingsFormat2.cs
index 10a72d2..0af2059 100644
--- a/src/Lucene.Net.Tests/core/Codecs/Perfield/TestPerFieldPostingsFormat2.cs
+++ b/src/Lucene.Net.Tests/core/Codecs/Perfield/TestPerFieldPostingsFormat2.cs
@@ -281,7 +281,7 @@ namespace Lucene.Net.Codecs.Perfield
                     writer.ForceMerge(1);
                 }
                 writer.Commit();
-                Assert.AreEqual((i + 1) * docsPerRound, writer.MaxDoc());
+                Assert.AreEqual((i + 1) * docsPerRound, writer.MaxDoc);
                 writer.Dispose();
             }
             dir.Dispose();

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/Test2BBinaryDocValues.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/Test2BBinaryDocValues.cs b/src/Lucene.Net.Tests/core/Index/Test2BBinaryDocValues.cs
index 7fb5b2f..c634e78 100644
--- a/src/Lucene.Net.Tests/core/Index/Test2BBinaryDocValues.cs
+++ b/src/Lucene.Net.Tests/core/Index/Test2BBinaryDocValues.cs
@@ -81,12 +81,12 @@ namespace Lucene.Net.Index
 
             DirectoryReader r = DirectoryReader.Open(dir);
             int expectedValue = 0;
-            foreach (AtomicReaderContext context in r.Leaves())
+            foreach (AtomicReaderContext context in r.Leaves)
             {
-                AtomicReader reader = (AtomicReader)context.Reader();
+                AtomicReader reader = context.AtomicReader;
                 BytesRef scratch = new BytesRef();
                 BinaryDocValues dv = reader.GetBinaryDocValues("dv");
-                for (int i = 0; i < reader.MaxDoc(); i++)
+                for (int i = 0; i < reader.MaxDoc; i++)
                 {
                     bytes[0] = (sbyte)(expectedValue >> 24);
                     bytes[1] = (sbyte)(expectedValue >> 16);
@@ -144,12 +144,12 @@ namespace Lucene.Net.Index
             DirectoryReader r = DirectoryReader.Open(dir);
             int expectedValue = 0;
             ByteArrayDataInput input = new ByteArrayDataInput();
-            foreach (AtomicReaderContext context in r.Leaves())
+            foreach (AtomicReaderContext context in r.Leaves)
             {
-                AtomicReader reader = (AtomicReader)context.Reader();
+                AtomicReader reader = context.AtomicReader;
                 BytesRef scratch = new BytesRef(bytes);
                 BinaryDocValues dv = reader.GetBinaryDocValues("dv");
-                for (int i = 0; i < reader.MaxDoc(); i++)
+                for (int i = 0; i < reader.MaxDoc; i++)
                 {
                     dv.Get(i, scratch);
                     input.Reset((byte[])(Array)scratch.Bytes, scratch.Offset, scratch.Length);

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/Test2BDocs.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/Test2BDocs.cs b/src/Lucene.Net.Tests/core/Index/Test2BDocs.cs
index bc488e4..84f69f7 100644
--- a/src/Lucene.Net.Tests/core/Index/Test2BDocs.cs
+++ b/src/Lucene.Net.Tests/core/Index/Test2BDocs.cs
@@ -86,8 +86,8 @@ namespace Lucene.Net.Index
             Arrays.Fill(subReaders, ir);
             subReaders[subReaders.Length - 1] = ir2;
             MultiReader mr = new MultiReader(subReaders);
-            Assert.AreEqual(int.MaxValue, mr.MaxDoc());
-            Assert.AreEqual(int.MaxValue, mr.NumDocs());
+            Assert.AreEqual(int.MaxValue, mr.MaxDoc);
+            Assert.AreEqual(int.MaxValue, mr.NumDocs);
             ir.Dispose();
             ir2.Dispose();
             dir2.Dispose();

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/Test2BNumericDocValues.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/Test2BNumericDocValues.cs b/src/Lucene.Net.Tests/core/Index/Test2BNumericDocValues.cs
index df32b69..ac25286 100644
--- a/src/Lucene.Net.Tests/core/Index/Test2BNumericDocValues.cs
+++ b/src/Lucene.Net.Tests/core/Index/Test2BNumericDocValues.cs
@@ -74,11 +74,11 @@ namespace Lucene.Net.Index
 
             DirectoryReader r = DirectoryReader.Open(dir);
             long expectedValue = 0;
-            foreach (AtomicReaderContext context in r.Leaves())
+            foreach (AtomicReaderContext context in r.Leaves)
             {
-                AtomicReader reader = (AtomicReader)context.Reader();
+                AtomicReader reader = context.AtomicReader;
                 NumericDocValues dv = reader.GetNumericDocValues("dv");
-                for (int i = 0; i < reader.MaxDoc(); i++)
+                for (int i = 0; i < reader.MaxDoc; i++)
                 {
                     Assert.AreEqual(expectedValue, dv.Get(i));
                     expectedValue++;

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Tests/core/Index/Test2BSortedDocValues.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/core/Index/Test2BSortedDocValues.cs b/src/Lucene.Net.Tests/core/Index/Test2BSortedDocValues.cs
index a8dd384..cf666ad 100644
--- a/src/Lucene.Net.Tests/core/Index/Test2BSortedDocValues.cs
+++ b/src/Lucene.Net.Tests/core/Index/Test2BSortedDocValues.cs
@@ -76,12 +76,12 @@ namespace Lucene.Net.Index
 
             DirectoryReader r = DirectoryReader.Open(dir);
             int expectedValue = 0;
-            foreach (AtomicReaderContext context in r.Leaves())
+            foreach (AtomicReaderContext context in r.Leaves)
             {
-                AtomicReader reader = (AtomicReader)context.Reader();
+                AtomicReader reader = context.AtomicReader;
                 BytesRef scratch = new BytesRef();
                 BinaryDocValues dv = reader.GetSortedDocValues("dv");
-                for (int i = 0; i < reader.MaxDoc(); i++)
+                for (int i = 0; i < reader.MaxDoc; i++)
                 {
                     bytes[0] = (sbyte)(expectedValue >> 8);
                     bytes[1] = (sbyte)expectedValue;
@@ -136,12 +136,12 @@ namespace Lucene.Net.Index
 
             DirectoryReader r = DirectoryReader.Open(dir);
             int counter = 0;
-            foreach (AtomicReaderContext context in r.Leaves())
+            foreach (AtomicReaderContext context in r.Leaves)
             {
-                AtomicReader reader = (AtomicReader)context.Reader();
+                AtomicReader reader = context.AtomicReader;
                 BytesRef scratch = new BytesRef();
                 BinaryDocValues dv = reader.GetSortedDocValues("dv");
-                for (int i = 0; i < reader.MaxDoc(); i++)
+                for (int i = 0; i < reader.MaxDoc; i++)
                 {
                     bytes[0] = (sbyte)(counter >> 24);
                     bytes[1] = (sbyte)(counter >> 16);


[7/7] git commit: Clean up

Posted by sy...@apache.org.
Clean up


Project: http://git-wip-us.apache.org/repos/asf/lucenenet/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucenenet/commit/8452d309
Tree: http://git-wip-us.apache.org/repos/asf/lucenenet/tree/8452d309
Diff: http://git-wip-us.apache.org/repos/asf/lucenenet/diff/8452d309

Branch: refs/heads/master
Commit: 8452d3099d136d0c4d9565068c656bd52e08f740
Parents: e2f44e8
Author: Itamar Syn-Hershko <it...@code972.com>
Authored: Tue Sep 16 21:30:29 2014 +0300
Committer: Itamar Syn-Hershko <it...@code972.com>
Committed: Tue Sep 16 21:30:29 2014 +0300

----------------------------------------------------------------------
 src/Lucene.Net.Core/Document/FloatDocValuesField.cs |  4 ++--
 src/Lucene.Net.Core/Support/Number.cs               |  7 ++++++-
 src/Lucene.Net.Core/Support/Single.cs               | 15 ---------------
 3 files changed, 8 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucenenet/blob/8452d309/src/Lucene.Net.Core/Document/FloatDocValuesField.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Document/FloatDocValuesField.cs b/src/Lucene.Net.Core/Document/FloatDocValuesField.cs
index 704fb35..8e8d7bb 100644
--- a/src/Lucene.Net.Core/Document/FloatDocValuesField.cs
+++ b/src/Lucene.Net.Core/Document/FloatDocValuesField.cs
@@ -43,7 +43,7 @@ namespace Lucene.Net.Documents
         /// <param name="value"> 32-bit float value </param>
         /// <exception cref="ArgumentException"> if the field name is null </exception>
         public FloatDocValuesField(string name, float value)
-            : base(name, Support.Single.FloatToIntBits(value))
+            : base(name, Support.Number.FloatToIntBits(value))
         {
         }
 
@@ -51,7 +51,7 @@ namespace Lucene.Net.Documents
         {
             set
             {
-                base.LongValue = Support.Single.FloatToIntBits(value);
+                base.LongValue = Support.Number.FloatToIntBits(value);
             }
         }
 

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/8452d309/src/Lucene.Net.Core/Support/Number.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Support/Number.cs b/src/Lucene.Net.Core/Support/Number.cs
index 3e0c7e4..2738278 100644
--- a/src/Lucene.Net.Core/Support/Number.cs
+++ b/src/Lucene.Net.Core/Support/Number.cs
@@ -394,7 +394,7 @@ namespace Lucene.Net.Support
 
         public static string ToBinaryString(int value)
         {
-            System.Text.StringBuilder sb = new System.Text.StringBuilder();
+            var sb = new System.Text.StringBuilder();
 
             var uval = (uint)value;
 
@@ -421,6 +421,11 @@ namespace Lucene.Net.Support
             return BitConverter.ToInt32(BitConverter.GetBytes(value), 0);
         }
 
+        public static long FloatToLongBits(float value)
+        {
+            return BitConverter.ToInt64(BitConverter.GetBytes(value), 0);
+        }
+
         //Flips the endianness from Little-Endian to Big-Endian
 
         //2 bytes

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/8452d309/src/Lucene.Net.Core/Support/Single.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Support/Single.cs b/src/Lucene.Net.Core/Support/Single.cs
index 7505828..edac46f 100644
--- a/src/Lucene.Net.Core/Support/Single.cs
+++ b/src/Lucene.Net.Core/Support/Single.cs
@@ -117,20 +117,5 @@ namespace Lucene.Net.Support
         {
             return f.ToString(format).Replace(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator, ".");
         }
-
-        public static int FloatToIntBits(float value)
-        {
-            return BitConverter.ToInt32(BitConverter.GetBytes(value), 0);
-        }
-
-        public static long FloatToLongBits(float value)
-        {
-            return BitConverter.ToInt64(BitConverter.GetBytes(value), 0);
-        }
-
-        public static float IntBitsToFloat(int value)
-        {
-            return BitConverter.ToSingle(BitConverter.GetBytes(value), 0);
-        }
     }
 }
\ No newline at end of file


[6/7] git commit: .NETification

Posted by sy...@apache.org.
.NETification


Project: http://git-wip-us.apache.org/repos/asf/lucenenet/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucenenet/commit/e2f44e8e
Tree: http://git-wip-us.apache.org/repos/asf/lucenenet/tree/e2f44e8e
Diff: http://git-wip-us.apache.org/repos/asf/lucenenet/diff/e2f44e8e

Branch: refs/heads/master
Commit: e2f44e8ee104d188c61fe16231269580cf63c907
Parents: f8ab0de
Author: Itamar Syn-Hershko <it...@code972.com>
Authored: Tue Sep 16 20:14:12 2014 +0300
Committer: Itamar Syn-Hershko <it...@code972.com>
Committed: Tue Sep 16 20:14:12 2014 +0300

----------------------------------------------------------------------
 .../Codecs/BlockTreeTermsReader.cs              |   8 +-
 .../CompressingStoredFieldsWriter.cs            |   2 +-
 .../Compressing/CompressingTermVectorsReader.cs |  12 +-
 .../Compressing/CompressingTermVectorsWriter.cs |   6 +-
 src/Lucene.Net.Core/Codecs/DocValuesConsumer.cs |  28 +--
 .../Codecs/Lucene3x/Lucene3xFields.cs           |   9 +-
 .../Lucene3x/Lucene3xTermVectorsReader.cs       |  21 +-
 .../Lucene40/Lucene40StoredFieldsWriter.cs      |   4 +-
 .../Lucene40/Lucene40TermVectorsReader.cs       |  41 ++--
 .../Lucene40/Lucene40TermVectorsWriter.cs       |   4 +-
 .../Codecs/MappingMultiDocsEnum.cs              |   2 +-
 .../Codecs/Perfield/PerFieldPostingsFormat.cs   |   4 +-
 .../Codecs/StoredFieldsWriter.cs                |   2 +-
 src/Lucene.Net.Core/Codecs/TermVectorsWriter.cs |   4 +-
 src/Lucene.Net.Core/Index/AtomicReader.cs       |  12 +-
 .../Index/AtomicReaderContext.cs                |  21 +-
 .../Index/BaseCompositeReader.cs                |  25 ++-
 .../Index/BufferedUpdatesStream.cs              |   6 +-
 src/Lucene.Net.Core/Index/CheckIndex.cs         |  44 ++--
 .../Index/CompositeReaderContext.cs             |  41 ++--
 src/Lucene.Net.Core/Index/DocTermOrds.cs        |   8 +-
 src/Lucene.Net.Core/Index/Fields.cs             |   9 +-
 src/Lucene.Net.Core/Index/FilterAtomicReader.cs |  42 ++--
 src/Lucene.Net.Core/Index/IndexReader.cs        |  21 +-
 src/Lucene.Net.Core/Index/IndexReaderContext.cs |   8 +-
 src/Lucene.Net.Core/Index/IndexWriter.cs        |  23 +-
 src/Lucene.Net.Core/Index/MergePolicy.cs        |   2 +-
 src/Lucene.Net.Core/Index/MergeState.cs         |  34 +--
 src/Lucene.Net.Core/Index/MultiDocValues.cs     |  30 +--
 src/Lucene.Net.Core/Index/MultiFields.cs        |  24 +--
 .../Index/ParallelAtomicReader.cs               |  47 +++--
 .../Index/ParallelCompositeReader.cs            |  10 +-
 src/Lucene.Net.Core/Index/ReadersAndUpdates.cs  |  10 +-
 src/Lucene.Net.Core/Index/SegmentMerger.cs      |  12 +-
 src/Lucene.Net.Core/Index/SegmentReader.cs      |  39 ++--
 .../Index/SlowCompositeReaderWrapper.cs         |  43 ++--
 .../Index/StandardDirectoryReader.cs            |   6 +-
 src/Lucene.Net.Core/Index/TermContext.cs        |   8 +-
 src/Lucene.Net.Core/Search/BooleanQuery.cs      |   4 +-
 .../Search/CachingWrapperFilter.cs              |   8 +-
 .../Search/CollectionStatistics.cs              |   4 +-
 .../Search/ConstantScoreAutoRewrite.cs          |   2 +-
 .../Search/ConstantScoreQuery.cs                |   2 +-
 .../Search/DocTermOrdsRangeFilter.cs            |  10 +-
 .../Search/DocTermOrdsRewriteMethod.cs          |   4 +-
 src/Lucene.Net.Core/Search/FieldCacheImpl.cs    |  34 +--
 .../Search/FieldCacheRangeFilter.cs             |  64 +++---
 .../Search/FieldCacheRewriteMethod.cs           |   4 +-
 .../Search/FieldCacheTermsFilter.cs             |   4 +-
 src/Lucene.Net.Core/Search/FieldComparator.cs   |  20 +-
 src/Lucene.Net.Core/Search/FieldValueFilter.cs  |   8 +-
 src/Lucene.Net.Core/Search/FilteredQuery.cs     |   2 +-
 src/Lucene.Net.Core/Search/IndexSearcher.cs     |  20 +-
 src/Lucene.Net.Core/Search/MatchAllDocsQuery.cs |   4 +-
 src/Lucene.Net.Core/Search/MultiPhraseQuery.cs  |   4 +-
 .../Search/MultiTermQueryWrapperFilter.cs       |   6 +-
 .../Search/Payloads/PayloadNearQuery.cs         |   2 +-
 .../Search/Payloads/PayloadSpanUtil.cs          |   4 +-
 .../Search/Payloads/PayloadTermQuery.cs         |   2 +-
 src/Lucene.Net.Core/Search/PhraseQuery.cs       |   2 +-
 src/Lucene.Net.Core/Search/QueryRescorer.cs     |   4 +-
 .../Search/Similarities/BM25Similarity.cs       |   8 +-
 .../Search/Similarities/SimilarityBase.cs       |   2 +-
 .../Search/Similarities/TFIDFSimilarity.cs      |   4 +-
 src/Lucene.Net.Core/Search/SortRescorer.cs      |   4 +-
 .../Search/Spans/SpanTermQuery.cs               |   2 +-
 .../Search/TermCollectingRewrite.cs             |   4 +-
 .../Util/FieldCacheSanityChecker.cs             |   4 +-
 .../Codecs/asserting/AssertingPostingsFormat.cs |   4 +-
 .../Codecs/ramonly/RAMOnlyPostingsFormat.cs     |   4 +-
 .../Index/AllDeletedFilterReader.cs             |   8 +-
 .../Index/AssertingAtomicReader.cs              |  35 ++--
 .../Index/BaseDocValuesFormatTestCase.cs        | 208 +++++++++----------
 .../Index/BaseStoredFieldsFormatTestCase.cs     |  14 +-
 .../Index/BaseTermVectorsFormatTestCase.cs      |   2 +-
 .../Index/FieldFilterAtomicReader.cs            |  18 +-
 .../Index/RandomIndexWriter.cs                  |   2 +-
 .../ThreadedIndexingAndSearchingTestCase.cs     |  10 +-
 .../Search/CheckHits.cs                         |   2 +-
 .../Search/QueryUtils.cs                        |  18 +-
 .../Search/SearchEquivalenceTestBase.cs         |   4 +-
 .../Search/ShardSearchingTestBase.cs            |   8 +-
 .../Store/MockDirectoryWrapper.cs               |   4 +-
 .../Util/LuceneTestCase.cs                      |  46 ++--
 src/Lucene.Net.TestFramework/Util/TestUtil.cs   |   4 +-
 .../core/Codecs/Lucene40/TestReuseDocsEnum.cs   |  26 +--
 .../Codecs/Lucene41/TestBlockPostingsFormat3.cs |   4 +-
 .../Perfield/TestPerFieldDocValuesFormat.cs     |   6 +-
 .../Perfield/TestPerFieldPostingsFormat2.cs     |   2 +-
 .../core/Index/Test2BBinaryDocValues.cs         |  12 +-
 src/Lucene.Net.Tests/core/Index/Test2BDocs.cs   |   4 +-
 .../core/Index/Test2BNumericDocValues.cs        |   6 +-
 .../core/Index/Test2BSortedDocValues.cs         |  12 +-
 .../core/Index/TestAddIndexes.cs                |  76 +++----
 .../core/Index/TestAtomicUpdate.cs              |   4 +-
 .../core/Index/TestBagOfPositions.cs            |   4 +-
 .../core/Index/TestBagOfPostings.cs             |   6 +-
 .../core/Index/TestBinaryDocValuesUpdates.cs    | 110 +++++-----
 .../core/Index/TestCodecHoldsOpenFiles.cs       |   8 +-
 src/Lucene.Net.Tests/core/Index/TestCodecs.cs   |   4 +-
 .../core/Index/TestConcurrentMergeScheduler.cs  |   6 +-
 src/Lucene.Net.Tests/core/Index/TestCrash.cs    |  12 +-
 .../core/Index/TestCustomNorms.cs               |   2 +-
 .../core/Index/TestDeletionPolicy.cs            |  24 +--
 .../core/Index/TestDirectoryReader.cs           |  38 ++--
 .../core/Index/TestDirectoryReaderReopen.cs     |  16 +-
 src/Lucene.Net.Tests/core/Index/TestDoc.cs      |   4 +-
 src/Lucene.Net.Tests/core/Index/TestDocCount.cs |   2 +-
 .../core/Index/TestDocTermOrds.cs               |  20 +-
 .../core/Index/TestDocValuesIndexing.cs         |   6 +-
 .../core/Index/TestDocValuesWithThreads.cs      |   6 +-
 .../core/Index/TestDocsAndPositions.cs          |  26 +--
 .../core/Index/TestFilterAtomicReader.cs        |   4 +-
 src/Lucene.Net.Tests/core/Index/TestFlex.cs     |   2 +-
 .../core/Index/TestIndexReaderClose.cs          |   2 +-
 .../core/Index/TestIndexWriter.cs               |  74 +++----
 .../core/Index/TestIndexWriterCommit.cs         |  52 ++---
 .../core/Index/TestIndexWriterDelete.cs         |  42 ++--
 .../core/Index/TestIndexWriterExceptions.cs     |  48 ++---
 .../core/Index/TestIndexWriterForceMerge.cs     |   4 +-
 .../core/Index/TestIndexWriterMergePolicy.cs    |   2 +-
 .../core/Index/TestIndexWriterMerging.cs        |  34 +--
 .../core/Index/TestIndexWriterNRTIsCurrent.cs   |   2 +-
 .../TestIndexWriterOutOfFileDescriptors.cs      |   4 +-
 .../core/Index/TestIndexWriterReader.cs         |  46 ++--
 .../core/Index/TestIndexWriterUnicode.cs        |   4 +-
 .../core/Index/TestIndexWriterWithThreads.cs    |   4 +-
 .../core/Index/TestLongPostings.cs              |   4 +-
 .../core/Index/TestMaxTermFrequency.cs          |   2 +-
 .../core/Index/TestMixedCodecs.cs               |   2 +-
 .../core/Index/TestMixedDocValuesUpdates.cs     |  26 +--
 .../core/Index/TestNRTThreads.cs                |   6 +-
 src/Lucene.Net.Tests/core/Index/TestNorms.cs    |   6 +-
 .../core/Index/TestNumericDocValuesUpdates.cs   | 110 +++++-----
 .../core/Index/TestOmitNorms.cs                 |   2 +-
 .../core/Index/TestParallelCompositeReader.cs   |  20 +-
 .../core/Index/TestParallelReaderEmptyIndex.cs  |   4 +-
 .../core/Index/TestParallelTermEnum.cs          |   2 +-
 .../core/Index/TestPostingsOffsets.cs           |   6 +-
 src/Lucene.Net.Tests/core/Index/TestRollback.cs |   2 +-
 .../core/Index/TestRollingUpdates.cs            |   6 +-
 .../core/Index/TestSegmentMerger.cs             |  12 +-
 .../core/Index/TestSegmentReader.cs             |   8 +-
 .../core/Index/TestSegmentTermDocs.cs           |   2 +-
 .../core/Index/TestSegmentTermEnum.cs           |   2 +-
 .../core/Index/TestSnapshotDeletionPolicy.cs    |   2 +-
 .../core/Index/TestStressAdvance.cs             |   4 +-
 .../core/Index/TestStressIndexing2.cs           |  20 +-
 .../core/Index/TestTermVectorsReader.cs         |   4 +-
 .../core/Index/TestTermVectorsWriter.cs         |   2 +-
 .../core/Index/TestTermsEnum.cs                 |  10 +-
 .../core/Index/TestThreadedForceMerge.cs        |   8 +-
 .../core/Index/TestTieredMergePolicy.cs         |  20 +-
 .../core/Index/TestTransactionRollback.cs       |   4 +-
 .../core/Index/TestTransactions.cs              |   4 +-
 src/Lucene.Net.Tests/core/Search/MockFilter.cs  |   2 +-
 .../core/Search/SingleDocTestFilter.cs          |   2 +-
 .../core/Search/Spans/MultiSpansWrapper.cs      |  14 +-
 .../core/Search/Spans/TestNearSpansOrdered.cs   |   4 +-
 .../core/Search/Spans/TestSpans.cs              |   4 +-
 .../core/Search/Spans/TestSpansAdvanced2.cs     |   2 +-
 .../core/Search/TestBooleanOr.cs                |   4 +-
 .../core/Search/TestCachingWrapperFilter.cs     |  30 +--
 .../core/Search/TestDisjunctionMaxQuery.cs      |   4 +-
 .../core/Search/TestDocValuesScoring.cs         |   2 +-
 .../core/Search/TestElevationComparator.cs      |   2 +-
 .../core/Search/TestFieldCacheRangeFilter.cs    |  16 +-
 .../core/Search/TestFieldCacheTermsFilter.cs    |   2 +-
 .../core/Search/TestFilteredQuery.cs            |   6 +-
 .../core/Search/TestFilteredSearch.cs           |   4 +-
 .../core/Search/TestIndexSearcher.cs            |   2 +-
 .../core/Search/TestMinShouldMatch2.cs          |   2 +-
 .../core/Search/TestMultiTermConstantScore.cs   |   4 +-
 .../core/Search/TestMultiThreadTermVectors.cs   |   2 +-
 .../core/Search/TestNumericRangeQuery32.cs      |   6 +-
 .../core/Search/TestNumericRangeQuery64.cs      |   6 +-
 .../core/Search/TestQueryRescorer.cs            |   4 +-
 .../core/Search/TestSameScoresWithThreads.cs    |   2 +-
 .../core/Search/TestSearchAfter.cs              |   2 +-
 .../core/Search/TestSearcherManager.cs          |   4 +-
 .../core/Search/TestShardSearching.cs           |   8 +-
 .../core/Search/TestSimilarityProvider.cs       |   2 +-
 .../core/Search/TestSortRandom.cs               |   6 +-
 .../core/Search/TestSubScorerFreqs.cs           |   6 +-
 .../core/Search/TestTermRangeFilter.cs          |   4 +-
 .../core/Search/TestTermScorer.cs               |   6 +-
 .../core/Search/TestTermVectors.cs              |   4 +-
 .../core/Search/TestTopDocsMerge.cs             |   6 +-
 .../core/Store/TestFileSwitchDirectory.cs       |   2 +-
 .../core/Store/TestNRTCachingDirectory.cs       |   2 +-
 .../core/Store/TestRAMDirectory.cs              |   4 +-
 191 files changed, 1318 insertions(+), 1243 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Codecs/BlockTreeTermsReader.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Codecs/BlockTreeTermsReader.cs b/src/Lucene.Net.Core/Codecs/BlockTreeTermsReader.cs
index a2055dd..b56fb28 100644
--- a/src/Lucene.Net.Core/Codecs/BlockTreeTermsReader.cs
+++ b/src/Lucene.Net.Core/Codecs/BlockTreeTermsReader.cs
@@ -293,9 +293,9 @@ namespace Lucene.Net.Codecs
             return ret;
         }
 
-        public override int Size()
+        public override int Size
         {
-            return Fields.Count;
+            get { return Fields.Count; }
         }
 
         // for debugging
@@ -2651,12 +2651,12 @@ namespace Lucene.Net.Codecs
 
                 public override void SeekExact(long ord)
                 {
-                    throw new System.NotSupportedException();
+                    throw new NotSupportedException();
                 }
 
                 public override long Ord()
                 {
-                    throw new System.NotSupportedException();
+                    throw new NotSupportedException();
                 }
 
                 // Not static -- references term, postingsReader,

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Codecs/Compressing/CompressingStoredFieldsWriter.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Codecs/Compressing/CompressingStoredFieldsWriter.cs b/src/Lucene.Net.Core/Codecs/Compressing/CompressingStoredFieldsWriter.cs
index 28ba659..c556d59 100644
--- a/src/Lucene.Net.Core/Codecs/Compressing/CompressingStoredFieldsWriter.cs
+++ b/src/Lucene.Net.Core/Codecs/Compressing/CompressingStoredFieldsWriter.cs
@@ -448,7 +448,7 @@ namespace Lucene.Net.Codecs.Compressing
                     }
                 }
 
-                int maxDoc = reader.MaxDoc();
+                int maxDoc = reader.MaxDoc;
                 Bits liveDocs = reader.LiveDocs;
 
                 if (matchingFieldsReader == null || matchingFieldsReader.Version != VERSION_CURRENT || matchingFieldsReader.CompressionMode != CompressionMode || matchingFieldsReader.ChunkSize != ChunkSize) // the way data is decompressed depends on the chunk size -  means reader version is not the same as the writer version

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Codecs/Compressing/CompressingTermVectorsReader.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Codecs/Compressing/CompressingTermVectorsReader.cs b/src/Lucene.Net.Core/Codecs/Compressing/CompressingTermVectorsReader.cs
index 9b2a0fc..058a094 100644
--- a/src/Lucene.Net.Core/Codecs/Compressing/CompressingTermVectorsReader.cs
+++ b/src/Lucene.Net.Core/Codecs/Compressing/CompressingTermVectorsReader.cs
@@ -1,3 +1,4 @@
+using System.Linq;
 using Lucene.Net.Index;
 using Lucene.Net.Store;
 using Lucene.Net.Support;
@@ -766,9 +767,9 @@ namespace Lucene.Net.Codecs.Compressing
                 return new TVTerms(OuterInstance, NumTerms[idx], FieldFlags[idx], PrefixLengths[idx], SuffixLengths[idx], TermFreqs[idx], PositionIndex[idx], Positions[idx], StartOffsets[idx], Lengths[idx], PayloadIndex[idx], PayloadBytes, new BytesRef(SuffixBytes.Bytes, SuffixBytes.Offset + fieldOff, fieldLen));
             }
 
-            public override int Size()
+            public override int Size
             {
-                return FieldNumOffs.Length;
+                get { return FieldNumOffs.Length; }
             }
         }
 
@@ -1192,12 +1193,7 @@ namespace Lucene.Net.Codecs.Compressing
 
         private static int Sum(int[] arr)
         {
-            int sum = 0;
-            foreach (int el in arr)
-            {
-                sum += el;
-            }
-            return sum;
+            return arr.Sum();
         }
 
         public override long RamBytesUsed()

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Codecs/Compressing/CompressingTermVectorsWriter.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Codecs/Compressing/CompressingTermVectorsWriter.cs b/src/Lucene.Net.Core/Codecs/Compressing/CompressingTermVectorsWriter.cs
index d89f8b3..d94e1b9 100644
--- a/src/Lucene.Net.Core/Codecs/Compressing/CompressingTermVectorsWriter.cs
+++ b/src/Lucene.Net.Core/Codecs/Compressing/CompressingTermVectorsWriter.cs
@@ -882,7 +882,7 @@ namespace Lucene.Net.Codecs.Compressing
                     }
                 }
 
-                int maxDoc = reader.MaxDoc();
+                int maxDoc = reader.MaxDoc;
                 Bits liveDocs = reader.LiveDocs;
 
                 if (matchingVectorsReader == null || matchingVectorsReader.Version != VERSION_CURRENT || matchingVectorsReader.CompressionMode != CompressionMode || matchingVectorsReader.ChunkSize != ChunkSize || matchingVectorsReader.PackedIntsVersion != PackedInts.VERSION_CURRENT)
@@ -916,8 +916,8 @@ namespace Lucene.Net.Codecs.Compressing
                         {
                             int docBase = vectorsStream.ReadVInt();
                             int chunkDocs = vectorsStream.ReadVInt();
-                            Debug.Assert(docBase + chunkDocs <= matchingSegmentReader.MaxDoc());
-                            if (docBase + chunkDocs < matchingSegmentReader.MaxDoc() && NextDeletedDoc(docBase, liveDocs, docBase + chunkDocs) == docBase + chunkDocs)
+                            Debug.Assert(docBase + chunkDocs <= matchingSegmentReader.MaxDoc);
+                            if (docBase + chunkDocs < matchingSegmentReader.MaxDoc && NextDeletedDoc(docBase, liveDocs, docBase + chunkDocs) == docBase + chunkDocs)
                             {
                                 long chunkEnd = index.GetStartPointer(docBase + chunkDocs);
                                 long chunkLength = chunkEnd - vectorsStream.FilePointer;

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Codecs/DocValuesConsumer.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Codecs/DocValuesConsumer.cs b/src/Lucene.Net.Core/Codecs/DocValuesConsumer.cs
index 324c8d9..65614ea 100644
--- a/src/Lucene.Net.Core/Codecs/DocValuesConsumer.cs
+++ b/src/Lucene.Net.Core/Codecs/DocValuesConsumer.cs
@@ -132,7 +132,7 @@ namespace Lucene.Net.Codecs
                     yield break;
                 }
 
-                if (currentReader == null || docIDUpto == currentReader.MaxDoc())
+                if (currentReader == null || docIDUpto == currentReader.MaxDoc)
                 {
                     readerUpto++;
                     if (readerUpto < toMerge.Count)
@@ -226,7 +226,7 @@ namespace Lucene.Net.Codecs
 					return false;
 				  }
 
-				  if (currentReader == null || docIDUpto == currentReader.MaxDoc())
+				  if (currentReader == null || docIDUpto == currentReader.MaxDoc)
 				  {
 					readerUpto++;
 					if (readerUpto < OuterInstance.ToMerge.Count)
@@ -288,7 +288,7 @@ namespace Lucene.Net.Codecs
                     yield break;
                 }
 
-                if (currentReader == null || docIDUpto == currentReader.MaxDoc())
+                if (currentReader == null || docIDUpto == currentReader.MaxDoc)
                 {
                     readerUpto++;
                     if (readerUpto < toMerge.Count)
@@ -386,7 +386,7 @@ namespace Lucene.Net.Codecs
                       return false;
                     }
 
-                    if (currentReader == null || docIDUpto == currentReader.MaxDoc())
+                    if (currentReader == null || docIDUpto == currentReader.MaxDoc)
                     {
                       readerUpto++;
                       if (readerUpto < OuterInstance.ToMerge.Count)
@@ -447,7 +447,7 @@ namespace Lucene.Net.Codecs
                 else
                 {
                     LongBitSet bitset = new LongBitSet(dv.ValueCount);
-                    for (int i = 0; i < reader.MaxDoc(); i++)
+                    for (int i = 0; i < reader.MaxDoc; i++)
                     {
                         if (liveDocs.Get(i))
                         {
@@ -501,7 +501,7 @@ namespace Lucene.Net.Codecs
                     yield break;
                 }
 
-                if (currentReader == null || docIDUpTo == currentReader.MaxDoc())
+                if (currentReader == null || docIDUpTo == currentReader.MaxDoc)
                 {
                     readerUpTo++;
                     if (readerUpTo < readers.Length)
@@ -653,7 +653,7 @@ namespace Lucene.Net.Codecs
                       return false;
                     }
 
-                    if (currentReader == null || docIDUpto == currentReader.MaxDoc())
+                    if (currentReader == null || docIDUpto == currentReader.MaxDoc)
                     {
                       readerUpto++;
                       if (readerUpto < OuterInstance.Readers.Length)
@@ -705,7 +705,7 @@ namespace Lucene.Net.Codecs
                 else
                 {
                     LongBitSet bitset = new LongBitSet(dv.ValueCount);
-                    for (int i = 0; i < reader.MaxDoc(); i++)
+                    for (int i = 0; i < reader.MaxDoc; i++)
                     {
                         if (liveDocs.Get(i))
                         {
@@ -762,7 +762,7 @@ namespace Lucene.Net.Codecs
                     yield break;
                 }
 
-                if (currentReader == null || docIDUpto == currentReader.MaxDoc())
+                if (currentReader == null || docIDUpto == currentReader.MaxDoc)
                 {
                     readerUpto++;
                     if (readerUpto < readers.Length)
@@ -816,7 +816,7 @@ namespace Lucene.Net.Codecs
                     continue;
                 }
 
-                if (currentReader == null || docIDUpto == currentReader.MaxDoc())
+                if (currentReader == null || docIDUpto == currentReader.MaxDoc)
                 {
                     readerUpto++;
                     if (readerUpto < readers.Length)
@@ -830,7 +830,7 @@ namespace Lucene.Net.Codecs
 
                 if (currentLiveDocs == null || currentLiveDocs.Get(docIDUpto))
                 {
-                    Debug.Assert(docIDUpto < currentReader.MaxDoc());
+                    Debug.Assert(docIDUpto < currentReader.MaxDoc);
                     SortedSetDocValues dv = dvs[readerUpto];
                     dv.Document = docIDUpto;
                     ordUpto = ordLength = 0;
@@ -978,7 +978,7 @@ namespace Lucene.Net.Codecs
                       return false;
                     }
 
-                    if (currentReader == null || docIDUpto == currentReader.MaxDoc())
+                    if (currentReader == null || docIDUpto == currentReader.MaxDoc)
                     {
                       readerUpto++;
                       if (readerUpto < OuterInstance.Readers.Length)
@@ -1091,7 +1091,7 @@ namespace Lucene.Net.Codecs
                       return true;
                     }
 
-                    if (currentReader == null || docIDUpto == currentReader.MaxDoc())
+                    if (currentReader == null || docIDUpto == currentReader.MaxDoc)
                     {
                       readerUpto++;
                       if (readerUpto < OuterInstance.Readers.Length)
@@ -1105,7 +1105,7 @@ namespace Lucene.Net.Codecs
 
                     if (currentLiveDocs == null || currentLiveDocs.Get(docIDUpto))
                     {
-                      Debug.Assert(docIDUpto < currentReader.MaxDoc());
+                      Debug.Assert(docIDUpto < currentReader.MaxDoc);
                       SortedSetDocValues dv = OuterInstance.Dvs[readerUpto];
                       dv.Document = docIDUpto;
                       ordUpto = ordLength = 0;

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Codecs/Lucene3x/Lucene3xFields.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Codecs/Lucene3x/Lucene3xFields.cs b/src/Lucene.Net.Core/Codecs/Lucene3x/Lucene3xFields.cs
index fe13536..26fbfa1 100644
--- a/src/Lucene.Net.Core/Codecs/Lucene3x/Lucene3xFields.cs
+++ b/src/Lucene.Net.Core/Codecs/Lucene3x/Lucene3xFields.cs
@@ -154,10 +154,13 @@ namespace Lucene.Net.Codecs.Lucene3x
             return ret;
         }
 
-        public override int Size()
+        public override int Size
         {
-            Debug.Assert(PreTerms_.Count == Fields.Count);
-            return Fields.Count;
+            get
+            {
+                Debug.Assert(PreTerms_.Count == Fields.Count);
+                return Fields.Count;
+            }
         }
 
         public override long UniqueTermCount

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Codecs/Lucene3x/Lucene3xTermVectorsReader.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Codecs/Lucene3x/Lucene3xTermVectorsReader.cs b/src/Lucene.Net.Core/Codecs/Lucene3x/Lucene3xTermVectorsReader.cs
index 7eb3f93..ae4796e 100644
--- a/src/Lucene.Net.Core/Codecs/Lucene3x/Lucene3xTermVectorsReader.cs
+++ b/src/Lucene.Net.Core/Codecs/Lucene3x/Lucene3xTermVectorsReader.cs
@@ -78,7 +78,7 @@ namespace Lucene.Net.Codecs.Lucene3x
         /// Extension of vectors index file </summary>
         public const string VECTORS_INDEX_EXTENSION = "tvx";
 
-        private FieldInfos FieldInfos;
+        private readonly FieldInfos FieldInfos;
 
         private IndexInput Tvx;
         private IndexInput Tvd;
@@ -336,15 +336,18 @@ namespace Lucene.Net.Codecs.Lucene3x
                 return new TVTerms(OuterInstance, FieldFPs[fieldIndex]);
             }
 
-            public override int Size()
+            public override int Size
             {
-                if (FieldNumbers == null)
-                {
-                    return 0;
-                }
-                else
+                get
                 {
-                    return FieldNumbers.Length;
+                    if (FieldNumbers == null)
+                    {
+                        return 0;
+                    }
+                    else
+                    {
+                        return FieldNumbers.Length;
+                    }
                 }
             }
         }
@@ -862,7 +865,7 @@ namespace Lucene.Net.Codecs.Lucene3x
             if (Tvx != null)
             {
                 Fields fields = new TVFields(this, docID);
-                if (fields.Size() == 0)
+                if (fields.Size == 0)
                 {
                     // TODO: we can improve writer here, eg write 0 into
                     // tvx file, so we know on first read from tvx that

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Codecs/Lucene40/Lucene40StoredFieldsWriter.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Codecs/Lucene40/Lucene40StoredFieldsWriter.cs b/src/Lucene.Net.Core/Codecs/Lucene40/Lucene40StoredFieldsWriter.cs
index d54dae7..1a76a6f 100644
--- a/src/Lucene.Net.Core/Codecs/Lucene40/Lucene40StoredFieldsWriter.cs
+++ b/src/Lucene.Net.Core/Codecs/Lucene40/Lucene40StoredFieldsWriter.cs
@@ -316,7 +316,7 @@ namespace Lucene.Net.Codecs.Lucene40
         private int CopyFieldsWithDeletions(MergeState mergeState, AtomicReader reader, Lucene40StoredFieldsReader matchingFieldsReader, int[] rawDocLengths)
         {
             int docCount = 0;
-            int maxDoc = reader.MaxDoc();
+            int maxDoc = reader.MaxDoc;
             Bits liveDocs = reader.LiveDocs;
             Debug.Assert(liveDocs != null);
             if (matchingFieldsReader != null)
@@ -380,7 +380,7 @@ namespace Lucene.Net.Codecs.Lucene40
 
         private int CopyFieldsNoDeletions(MergeState mergeState, AtomicReader reader, Lucene40StoredFieldsReader matchingFieldsReader, int[] rawDocLengths)
         {
-            int maxDoc = reader.MaxDoc();
+            int maxDoc = reader.MaxDoc;
             int docCount = 0;
             if (matchingFieldsReader != null)
             {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Codecs/Lucene40/Lucene40TermVectorsReader.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Codecs/Lucene40/Lucene40TermVectorsReader.cs b/src/Lucene.Net.Core/Codecs/Lucene40/Lucene40TermVectorsReader.cs
index 6a1d7d8..7b259a7 100644
--- a/src/Lucene.Net.Core/Codecs/Lucene40/Lucene40TermVectorsReader.cs
+++ b/src/Lucene.Net.Core/Codecs/Lucene40/Lucene40TermVectorsReader.cs
@@ -320,15 +320,18 @@ namespace Lucene.Net.Codecs.Lucene40
                 return new TVTerms(OuterInstance, FieldFPs[fieldIndex]);
             }
 
-            public override int Size()
+            public override int Size
             {
-                if (FieldNumbers == null)
-                {
-                    return 0;
-                }
-                else
+                get
                 {
-                    return FieldNumbers.Length;
+                    if (FieldNumbers == null)
+                    {
+                        return 0;
+                    }
+                    else
+                    {
+                        return FieldNumbers.Length;
+                    }
                 }
             }
         }
@@ -439,17 +442,17 @@ namespace Lucene.Net.Codecs.Lucene40
         {
             private readonly Lucene40TermVectorsReader OuterInstance;
 
-            internal readonly IndexInput OrigTVF;
-            internal readonly IndexInput Tvf;
-            internal int NumTerms;
-            internal int NextTerm;
-            internal int Freq;
-            internal BytesRef LastTerm = new BytesRef();
-            internal BytesRef Term_Renamed = new BytesRef();
-            internal bool StorePositions;
-            internal bool StoreOffsets;
-            internal bool StorePayloads;
-            internal long TvfFP;
+            private readonly IndexInput OrigTVF;
+            private readonly IndexInput Tvf;
+            private int NumTerms;
+            private int NextTerm;
+            private int Freq;
+            private BytesRef LastTerm = new BytesRef();
+            private BytesRef Term_Renamed = new BytesRef();
+            private bool StorePositions;
+            private bool StoreOffsets;
+            private bool StorePayloads;
+            private long TvfFP;
 
             internal int[] Positions;
             internal int[] StartOffsets;
@@ -848,7 +851,7 @@ namespace Lucene.Net.Codecs.Lucene40
             if (Tvx != null)
             {
                 Fields fields = new TVFields(this, docID);
-                if (fields.Size() == 0)
+                if (fields.Size == 0)
                 {
                     // TODO: we can improve writer here, eg write 0 into
                     // tvx file, so we know on first read from tvx that

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Codecs/Lucene40/Lucene40TermVectorsWriter.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Codecs/Lucene40/Lucene40TermVectorsWriter.cs b/src/Lucene.Net.Core/Codecs/Lucene40/Lucene40TermVectorsWriter.cs
index 4a93369..bc5dea0 100644
--- a/src/Lucene.Net.Core/Codecs/Lucene40/Lucene40TermVectorsWriter.cs
+++ b/src/Lucene.Net.Core/Codecs/Lucene40/Lucene40TermVectorsWriter.cs
@@ -396,7 +396,7 @@ namespace Lucene.Net.Codecs.Lucene40
 
         private int CopyVectorsWithDeletions(MergeState mergeState, Lucene40TermVectorsReader matchingVectorsReader, AtomicReader reader, int[] rawDocLengths, int[] rawDocLengths2)
         {
-            int maxDoc = reader.MaxDoc();
+            int maxDoc = reader.MaxDoc;
             Bits liveDocs = reader.LiveDocs;
             int totalNumDocs = 0;
             if (matchingVectorsReader != null)
@@ -457,7 +457,7 @@ namespace Lucene.Net.Codecs.Lucene40
 
         private int CopyVectorsNoDeletions(MergeState mergeState, Lucene40TermVectorsReader matchingVectorsReader, AtomicReader reader, int[] rawDocLengths, int[] rawDocLengths2)
         {
-            int maxDoc = reader.MaxDoc();
+            int maxDoc = reader.MaxDoc;
             if (matchingVectorsReader != null)
             {
                 // We can bulk-copy because the fieldInfos are "congruent"

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Codecs/MappingMultiDocsEnum.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Codecs/MappingMultiDocsEnum.cs b/src/Lucene.Net.Core/Codecs/MappingMultiDocsEnum.cs
index fa74ac7..ecdf5ca 100644
--- a/src/Lucene.Net.Core/Codecs/MappingMultiDocsEnum.cs
+++ b/src/Lucene.Net.Core/Codecs/MappingMultiDocsEnum.cs
@@ -121,7 +121,7 @@ namespace Lucene.Net.Codecs
                         Current = Subs_Renamed[Upto].DocsEnum;
                         CurrentBase = MergeState_Renamed.DocBase[reader];
                         CurrentMap = MergeState_Renamed.DocMaps[reader];
-                        Debug.Assert(CurrentMap.MaxDoc() == Subs_Renamed[Upto].Slice.Length, "readerIndex=" + reader + " subs.len=" + Subs_Renamed.Length + " len1=" + CurrentMap.MaxDoc() + " vs " + Subs_Renamed[Upto].Slice.Length);
+                        Debug.Assert(CurrentMap.MaxDoc == Subs_Renamed[Upto].Slice.Length, "readerIndex=" + reader + " subs.len=" + Subs_Renamed.Length + " len1=" + CurrentMap.MaxDoc + " vs " + Subs_Renamed[Upto].Slice.Length);
                     }
                 }
 

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Codecs/Perfield/PerFieldPostingsFormat.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Codecs/Perfield/PerFieldPostingsFormat.cs b/src/Lucene.Net.Core/Codecs/Perfield/PerFieldPostingsFormat.cs
index c77eaf7..f21de45 100644
--- a/src/Lucene.Net.Core/Codecs/Perfield/PerFieldPostingsFormat.cs
+++ b/src/Lucene.Net.Core/Codecs/Perfield/PerFieldPostingsFormat.cs
@@ -243,9 +243,9 @@ namespace Lucene.Net.Codecs.Perfield
                 return fieldsProducer == null ? null : fieldsProducer.Terms(field);
             }
 
-            public override int Size()
+            public override int Size
             {
-                return Fields.Count;
+                get { return Fields.Count; }
             }
 
             public override void Dispose()

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Codecs/StoredFieldsWriter.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Codecs/StoredFieldsWriter.cs b/src/Lucene.Net.Core/Codecs/StoredFieldsWriter.cs
index d1a3ff4..02a52b7 100644
--- a/src/Lucene.Net.Core/Codecs/StoredFieldsWriter.cs
+++ b/src/Lucene.Net.Core/Codecs/StoredFieldsWriter.cs
@@ -101,7 +101,7 @@ namespace Lucene.Net.Codecs
             int docCount = 0;
             foreach (AtomicReader reader in mergeState.Readers)
             {
-                int maxDoc = reader.MaxDoc();
+                int maxDoc = reader.MaxDoc;
                 Bits liveDocs = reader.LiveDocs;
                 for (int i = 0; i < maxDoc; i++)
                 {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Codecs/TermVectorsWriter.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Codecs/TermVectorsWriter.cs b/src/Lucene.Net.Core/Codecs/TermVectorsWriter.cs
index e141669..bd4431f 100644
--- a/src/Lucene.Net.Core/Codecs/TermVectorsWriter.cs
+++ b/src/Lucene.Net.Core/Codecs/TermVectorsWriter.cs
@@ -221,7 +221,7 @@ namespace Lucene.Net.Codecs
             for (int i = 0; i < mergeState.Readers.Count; i++)
             {
                 AtomicReader reader = mergeState.Readers[i];
-                int maxDoc = reader.MaxDoc();
+                int maxDoc = reader.MaxDoc;
                 Bits liveDocs = reader.LiveDocs;
 
                 for (int docID = 0; docID < maxDoc; docID++)
@@ -256,7 +256,7 @@ namespace Lucene.Net.Codecs
                 return;
             }
 
-            int numFields = vectors.Size();
+            int numFields = vectors.Size;
             if (numFields == -1)
             {
                 // count manually! TODO: Maybe enforce that Fields.size() returns something valid?

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Index/AtomicReader.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Index/AtomicReader.cs b/src/Lucene.Net.Core/Index/AtomicReader.cs
index 65b9d31..a48a1bb 100644
--- a/src/Lucene.Net.Core/Index/AtomicReader.cs
+++ b/src/Lucene.Net.Core/Index/AtomicReader.cs
@@ -105,11 +105,11 @@ namespace Lucene.Net.Index
         /// this method may return null if the reader has no
         /// postings.
         /// </summary>
-        public abstract Fields Fields();
+        public abstract Fields Fields { get; }
 
         public override sealed int DocFreq(Term term)
         {
-            Fields fields = Fields();
+            Fields fields = Fields;
             if (fields == null)
             {
                 return 0;
@@ -139,7 +139,7 @@ namespace Lucene.Net.Index
         /// </summary>
         public override sealed long TotalTermFreq(Term term)
         {
-            Fields fields = Fields();
+            Fields fields = Fields;
             if (fields == null)
             {
                 return 0;
@@ -194,7 +194,7 @@ namespace Lucene.Net.Index
         /// this may return null if the field does not exist. </summary>
         public Terms Terms(string field)
         {
-            Fields fields = Fields();
+            Fields fields = Fields;
             if (fields == null)
             {
                 return null;
@@ -211,7 +211,7 @@ namespace Lucene.Net.Index
         {
             Debug.Assert(term.Field() != null);
             Debug.Assert(term.Bytes() != null);
-            Fields fields = Fields();
+            Fields fields = Fields;
             if (fields != null)
             {
                 Terms terms = fields.Terms(term.Field());
@@ -236,7 +236,7 @@ namespace Lucene.Net.Index
         {
             Debug.Assert(term.Field() != null);
             Debug.Assert(term.Bytes() != null);
-            Fields fields = Fields();
+            Fields fields = Fields;
             if (fields != null)
             {
                 Terms terms = fields.Terms(term.Field());

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Index/AtomicReaderContext.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Index/AtomicReaderContext.cs b/src/Lucene.Net.Core/Index/AtomicReaderContext.cs
index ca6d558..a03c839 100644
--- a/src/Lucene.Net.Core/Index/AtomicReaderContext.cs
+++ b/src/Lucene.Net.Core/Index/AtomicReaderContext.cs
@@ -53,24 +53,27 @@ namespace Lucene.Net.Index
         {
         }
 
-        public override IList<AtomicReaderContext> Leaves()
+        public override IList<AtomicReaderContext> Leaves
         {
-            if (!IsTopLevel)
+            get
             {
-                throw new System.NotSupportedException("this is not a top-level context.");
+                if (!IsTopLevel)
+                {
+                    throw new System.NotSupportedException("this is not a top-level context.");
+                }
+                Debug.Assert(leaves != null);
+                return leaves;
             }
-            Debug.Assert(leaves != null);
-            return leaves;
         }
 
-        public override IList<IndexReaderContext> Children()
+        public override IList<IndexReaderContext> Children
         {
-            return null;
+            get { return null; }
         }
 
-        public override IndexReader Reader()
+        public override IndexReader Reader
         {
-            return reader;
+            get { return reader; }
         }
 
         // .NET Port: Can't change return type on override like Java, so adding helper property

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Index/BaseCompositeReader.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Index/BaseCompositeReader.cs b/src/Lucene.Net.Core/Index/BaseCompositeReader.cs
index eefc474..c5c0e31 100644
--- a/src/Lucene.Net.Core/Index/BaseCompositeReader.cs
+++ b/src/Lucene.Net.Core/Index/BaseCompositeReader.cs
@@ -1,3 +1,4 @@
+using System;
 using System.Collections.Generic;
 using System.Linq;
 
@@ -75,12 +76,12 @@ namespace Lucene.Net.Index
             {
                 Starts[i] = maxDoc;
                 IndexReader r = subReaders[i];
-                maxDoc += r.MaxDoc(); // compute maxDocs
+                maxDoc += r.MaxDoc; // compute maxDocs
                 if (maxDoc < 0) // overflow
                 {
-                    throw new System.ArgumentException("Too many documents, composite IndexReaders cannot exceed " + int.MaxValue);
+                    throw new ArgumentException("Too many documents, composite IndexReaders cannot exceed " + int.MaxValue);
                 }
-                numDocs += r.NumDocs(); // compute numDocs
+                numDocs += r.NumDocs; // compute numDocs
                 r.RegisterParentReader(this);
             }
             Starts[subReaders.Length] = maxDoc;
@@ -95,16 +96,22 @@ namespace Lucene.Net.Index
             return SubReaders[i].GetTermVectors(docID - Starts[i]); // dispatch to subreader
         }
 
-        public override sealed int NumDocs()
+        public override sealed int NumDocs
         {
-            // Don't call ensureOpen() here (it could affect performance)
-            return numDocs;
+            get
+            {
+                // Don't call ensureOpen() here (it could affect performance)
+                return numDocs;
+            }
         }
 
-        public override sealed int MaxDoc()
+        public override sealed int MaxDoc
         {
-            // Don't call ensureOpen() here (it could affect performance)
-            return maxDoc;
+            get
+            {
+                // Don't call ensureOpen() here (it could affect performance)
+                return maxDoc;
+            }
         }
 
         public override sealed void Document(int docID, StoredFieldVisitor visitor)

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Index/BufferedUpdatesStream.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Index/BufferedUpdatesStream.cs b/src/Lucene.Net.Core/Index/BufferedUpdatesStream.cs
index c37b73c..dd32e73 100644
--- a/src/Lucene.Net.Core/Index/BufferedUpdatesStream.cs
+++ b/src/Lucene.Net.Core/Index/BufferedUpdatesStream.cs
@@ -459,7 +459,7 @@ namespace Lucene.Net.Index
             lock (this)
             {
                 long delCount = 0;
-                Fields fields = reader.Fields();
+                Fields fields = reader.Fields;
                 if (fields == null)
                 {
                     // this reader has no postings
@@ -548,7 +548,7 @@ namespace Lucene.Net.Index
         {
             lock (this)
             {
-                Fields fields = reader.Fields();
+                Fields fields = reader.Fields;
                 if (fields == null)
                 {
                     // this reader has no postings
@@ -618,7 +618,7 @@ namespace Lucene.Net.Index
                         DocValuesFieldUpdates dvUpdates = dvUpdatesContainer.GetUpdates(update.Field, update.Type);
                         if (dvUpdates == null)
                         {
-                            dvUpdates = dvUpdatesContainer.NewUpdates(update.Field, update.Type, reader.MaxDoc());
+                            dvUpdates = dvUpdatesContainer.NewUpdates(update.Field, update.Type, reader.MaxDoc);
                         }
                         int doc;
                         while ((doc = docsEnum.NextDoc()) != DocIdSetIterator.NO_MORE_DOCS)

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Index/CheckIndex.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Index/CheckIndex.cs b/src/Lucene.Net.Core/Index/CheckIndex.cs
index b8dc100..bbefe6e 100644
--- a/src/Lucene.Net.Core/Index/CheckIndex.cs
+++ b/src/Lucene.Net.Core/Index/CheckIndex.cs
@@ -717,17 +717,17 @@ namespace Lucene.Net.Index
                     {
                         infoStream.Write("    test: check live docs.....");
                     }
-                    int numDocs = reader.NumDocs();
+                    int numDocs = reader.NumDocs;
                     toLoseDocCount = numDocs;
-                    if (reader.HasDeletions())
+                    if (reader.HasDeletions)
                     {
-                        if (reader.NumDocs() != info.Info.DocCount - info.DelCount)
+                        if (reader.NumDocs != info.Info.DocCount - info.DelCount)
                         {
-                            throw new Exception("delete count mismatch: info=" + (info.Info.DocCount - info.DelCount) + " vs reader=" + reader.NumDocs());
+                            throw new Exception("delete count mismatch: info=" + (info.Info.DocCount - info.DelCount) + " vs reader=" + reader.NumDocs);
                         }
-                        if ((info.Info.DocCount - reader.NumDocs()) > reader.MaxDoc())
+                        if ((info.Info.DocCount - reader.NumDocs) > reader.MaxDoc)
                         {
-                            throw new Exception("too many deleted docs: maxDoc()=" + reader.MaxDoc() + " vs del count=" + (info.Info.DocCount - reader.NumDocs()));
+                            throw new Exception("too many deleted docs: maxDoc()=" + reader.MaxDoc + " vs del count=" + (info.Info.DocCount - reader.NumDocs));
                         }
                         if (info.Info.DocCount - numDocs != info.DelCount)
                         {
@@ -777,9 +777,9 @@ namespace Lucene.Net.Index
                         }
                         Msg(infoStream, "OK");
                     }
-                    if (reader.MaxDoc() != info.Info.DocCount)
+                    if (reader.MaxDoc != info.Info.DocCount)
                     {
-                        throw new Exception("SegmentReader.maxDoc() " + reader.MaxDoc() + " != SegmentInfos.docCount " + info.Info.DocCount);
+                        throw new Exception("SegmentReader.maxDoc() " + reader.MaxDoc + " != SegmentInfos.docCount " + info.Info.DocCount);
                     }
 
                     // Test getFieldInfos()
@@ -1539,7 +1539,7 @@ namespace Lucene.Net.Index
                 }
             }
 
-            int fieldCount = fields.Size();
+            int fieldCount = fields.Size;
 
             if (fieldCount != -1)
             {
@@ -1599,7 +1599,7 @@ namespace Lucene.Net.Index
             // crossCheckTermVectors is on...
 
             Status.TermIndexStatus status;
-            int maxDoc = reader.MaxDoc();
+            int maxDoc = reader.MaxDoc;
             Bits liveDocs = reader.LiveDocs;
 
             try
@@ -1609,7 +1609,7 @@ namespace Lucene.Net.Index
                     infoStream.Write("    test: terms, freq, prox...");
                 }
 
-                Fields fields = reader.Fields();
+                Fields fields = reader.Fields;
                 FieldInfos fieldInfos = reader.FieldInfos;
                 status = CheckFields(fields, liveDocs, maxDoc, fieldInfos, true, false, infoStream, verbose);
                 if (liveDocs != null)
@@ -1652,7 +1652,7 @@ namespace Lucene.Net.Index
 
                 // Scan stored fields for all documents
                 Bits liveDocs = reader.LiveDocs;
-                for (int j = 0; j < reader.MaxDoc(); ++j)
+                for (int j = 0; j < reader.MaxDoc; ++j)
                 {
                     // Intentionally pull even deleted documents to
                     // make sure they too are not corrupt:
@@ -1665,7 +1665,7 @@ namespace Lucene.Net.Index
                 }
 
                 // Validate docCount
-                if (status.DocCount != reader.NumDocs())
+                if (status.DocCount != reader.NumDocs)
                 {
                     throw new Exception("docCount=" + status.DocCount + " but saw " + status.DocCount + " undeleted docs");
                 }
@@ -1731,7 +1731,7 @@ namespace Lucene.Net.Index
         private static void CheckBinaryDocValues(string fieldName, AtomicReader reader, BinaryDocValues dv, Bits docsWithField)
         {
             BytesRef scratch = new BytesRef();
-            for (int i = 0; i < reader.MaxDoc(); i++)
+            for (int i = 0; i < reader.MaxDoc; i++)
             {
                 dv.Get(i, scratch);
                 Debug.Assert(scratch.Valid);
@@ -1748,7 +1748,7 @@ namespace Lucene.Net.Index
             int maxOrd = dv.ValueCount - 1;
             FixedBitSet seenOrds = new FixedBitSet(dv.ValueCount);
             int maxOrd2 = -1;
-            for (int i = 0; i < reader.MaxDoc(); i++)
+            for (int i = 0; i < reader.MaxDoc; i++)
             {
                 int ord = dv.GetOrd(i);
                 if (ord == -1)
@@ -1802,7 +1802,7 @@ namespace Lucene.Net.Index
             long maxOrd = dv.ValueCount - 1;
             LongBitSet seenOrds = new LongBitSet(dv.ValueCount);
             long maxOrd2 = -1;
-            for (int i = 0; i < reader.MaxDoc(); i++)
+            for (int i = 0; i < reader.MaxDoc; i++)
             {
                 dv.Document = i;
                 long lastOrd = -1;
@@ -1891,7 +1891,7 @@ namespace Lucene.Net.Index
 
         private static void CheckNumericDocValues(string fieldName, AtomicReader reader, NumericDocValues ndv, Bits docsWithField)
         {
-            for (int i = 0; i < reader.MaxDoc(); i++)
+            for (int i = 0; i < reader.MaxDoc; i++)
             {
                 long value = ndv.Get(i);
                 if (docsWithField.Get(i) == false && value != 0)
@@ -1908,9 +1908,9 @@ namespace Lucene.Net.Index
             {
                 throw new Exception(fi.Name + " docsWithField does not exist");
             }
-            else if (docsWithField.Length() != reader.MaxDoc())
+            else if (docsWithField.Length() != reader.MaxDoc)
             {
-                throw new Exception(fi.Name + " docsWithField has incorrect length: " + docsWithField.Length() + ",expected: " + reader.MaxDoc());
+                throw new Exception(fi.Name + " docsWithField has incorrect length: " + docsWithField.Length() + ",expected: " + reader.MaxDoc);
             }
             switch (fi.DocValuesType)
             {
@@ -1960,7 +1960,7 @@ namespace Lucene.Net.Index
             switch (fi.NormType)
             {
                 case FieldInfo.DocValuesType_e.NUMERIC:
-                    CheckNumericDocValues(fi.Name, reader, reader.GetNormValues(fi.Name), new Lucene.Net.Util.Bits_MatchAllBits(reader.MaxDoc()));
+                    CheckNumericDocValues(fi.Name, reader, reader.GetNormValues(fi.Name), new Lucene.Net.Util.Bits_MatchAllBits(reader.MaxDoc));
                     break;
 
                 default:
@@ -2007,7 +2007,7 @@ namespace Lucene.Net.Index
                 // TODO: testTermsIndex
                 if (crossCheckTermVectors)
                 {
-                    postingsFields = reader.Fields();
+                    postingsFields = reader.Fields;
                 }
                 else
                 {
@@ -2017,7 +2017,7 @@ namespace Lucene.Net.Index
                 TermsEnum termsEnum = null;
                 TermsEnum postingsTermsEnum = null;
 
-                for (int j = 0; j < reader.MaxDoc(); ++j)
+                for (int j = 0; j < reader.MaxDoc; ++j)
                 {
                     // Intentionally pull/visit (but don't count in
                     // stats) deleted documents to make sure they too

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Index/CompositeReaderContext.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Index/CompositeReaderContext.cs b/src/Lucene.Net.Core/Index/CompositeReaderContext.cs
index f971d7a..b507aad 100644
--- a/src/Lucene.Net.Core/Index/CompositeReaderContext.cs
+++ b/src/Lucene.Net.Core/Index/CompositeReaderContext.cs
@@ -57,35 +57,38 @@ namespace Lucene.Net.Index
             : base(parent, ordInParent, docbaseInParent)
         {
             this.children = children.ToArray();
-            this.leaves = leaves ?? null;
+            this.leaves = leaves;
             this.reader = reader;
         }
 
-        public override IList<AtomicReaderContext> Leaves()
+        public override IList<AtomicReaderContext> Leaves
         {
-            if (!IsTopLevel)
+            get
             {
-                throw new System.NotSupportedException("this is not a top-level context.");
+                if (!IsTopLevel)
+                {
+                    throw new System.NotSupportedException("this is not a top-level context.");
+                }
+                Debug.Assert(leaves != null);
+                return leaves;
             }
-            Debug.Assert(leaves != null);
-            return leaves;
         }
 
-        public override IList<IndexReaderContext> Children()
+        public override IList<IndexReaderContext> Children
         {
-            return children;
+            get { return children; }
         }
 
-        public override IndexReader Reader()
+        public override IndexReader Reader
         {
-            return reader;
+            get { return reader; }
         }
 
         public sealed class Builder
         {
-            internal readonly CompositeReader Reader;
-            internal readonly IList<AtomicReaderContext> Leaves = new List<AtomicReaderContext>();
-            internal int LeafDocBase = 0;
+            private readonly CompositeReader Reader;
+            private readonly IList<AtomicReaderContext> Leaves = new List<AtomicReaderContext>();
+            private int LeafDocBase = 0;
 
             public Builder(CompositeReader reader)
             {
@@ -99,12 +102,12 @@ namespace Lucene.Net.Index
 
             internal IndexReaderContext Build(CompositeReaderContext parent, IndexReader reader, int ord, int docBase)
             {
-                if (reader is AtomicReader)
+                var ar = reader as AtomicReader;
+                if (ar != null)
                 {
-                    AtomicReader ar = (AtomicReader)reader;
-                    AtomicReaderContext atomic = new AtomicReaderContext(parent, ar, ord, docBase, Leaves.Count, LeafDocBase);
+                    var atomic = new AtomicReaderContext(parent, ar, ord, docBase, Leaves.Count, LeafDocBase);
                     Leaves.Add(atomic);
-                    LeafDocBase += reader.MaxDoc();
+                    LeafDocBase += reader.MaxDoc;
                     return atomic;
                 }
                 else
@@ -126,9 +129,9 @@ namespace Lucene.Net.Index
                     {
                         IndexReader r = sequentialSubReaders[i];
                         children[i] = Build(newParent, r, i, newDocBase);
-                        newDocBase += r.MaxDoc();
+                        newDocBase += r.MaxDoc;
                     }
-                    Debug.Assert(newDocBase == cr.MaxDoc());
+                    Debug.Assert(newDocBase == cr.MaxDoc);
                     return newParent;
                 }
             }

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Index/DocTermOrds.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Index/DocTermOrds.cs b/src/Lucene.Net.Core/Index/DocTermOrds.cs
index d93d04b..bc1ec9f 100644
--- a/src/Lucene.Net.Core/Index/DocTermOrds.cs
+++ b/src/Lucene.Net.Core/Index/DocTermOrds.cs
@@ -271,7 +271,7 @@ namespace Lucene.Net.Index
             if (IndexedTermsArray == null)
             {
                 //System.out.println("GET normal enum");
-                Fields fields = reader.Fields();
+                Fields fields = reader.Fields;
                 if (fields == null)
                 {
                     return null;
@@ -340,12 +340,12 @@ namespace Lucene.Net.Index
             long startTime = DateTime.Now.Millisecond;
             Prefix = termPrefix == null ? null : BytesRef.DeepCopyOf(termPrefix);
 
-            int maxDoc = reader.MaxDoc();
+            int maxDoc = reader.MaxDoc;
             int[] index = new int[maxDoc]; // immediate term numbers, or the index into the byte[] representing the last number
             int[] lastTerm = new int[maxDoc]; // last term we saw for this document
             sbyte[][] bytes = new sbyte[maxDoc][]; // list of term numbers for the doc (delta encoded vInts)
 
-            Fields fields = reader.Fields();
+            Fields fields = reader.Fields;
             if (fields == null)
             {
                 // No terms
@@ -755,7 +755,7 @@ namespace Lucene.Net.Index
                     InstanceFieldsInitialized = true;
                 }
                 Debug.Assert(outerInstance.IndexedTermsArray != null);
-                TermsEnum = reader.Fields().Terms(outerInstance.Field).Iterator(null);
+                TermsEnum = reader.Fields.Terms(outerInstance.Field).Iterator(null);
             }
 
             public override IComparer<BytesRef> Comparator

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Index/Fields.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Index/Fields.cs b/src/Lucene.Net.Core/Index/Fields.cs
index e5d0c9c..7ed6cc5 100644
--- a/src/Lucene.Net.Core/Index/Fields.cs
+++ b/src/Lucene.Net.Core/Index/Fields.cs
@@ -53,11 +53,11 @@ namespace Lucene.Net.Index
         public abstract Terms Terms(string field);
 
         /// <summary>
-        /// Returns the number of fields or -1 if the number of
+        /// Gets the number of fields or -1 if the number of
         /// distinct field names is unknown. If &gt;= 0,
         /// <seealso cref="#iterator"/> will return as many field names.
         /// </summary>
-        public abstract int Size();
+        public abstract int Size { get; }
 
         /// <summary>
         /// Returns the number of terms for all fields, or -1 if this
@@ -69,7 +69,7 @@ namespace Lucene.Net.Index
         ///   to access this statistic for 3.x indexes, which do not
         ///   have this statistic per-field.
         ///  <seealso cref= Terms#size()  </seealso>
-        [Obsolete("iterate fields and add their size() instead.")]
+        [Obsolete("iterate fields and add their Size() instead.")]
         public virtual long UniqueTermCount
         {
             get
@@ -94,7 +94,8 @@ namespace Lucene.Net.Index
         }
 
         /// <summary>
-        /// Zero-length {@code Fields} array. </summary>
+        /// Zero-length {@code Fields} array.
+        /// </summary>
         public static readonly Fields[] EMPTY_ARRAY = new Fields[0];
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Index/FilterAtomicReader.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Index/FilterAtomicReader.cs b/src/Lucene.Net.Core/Index/FilterAtomicReader.cs
index a0e8e91..f142fb8 100644
--- a/src/Lucene.Net.Core/Index/FilterAtomicReader.cs
+++ b/src/Lucene.Net.Core/Index/FilterAtomicReader.cs
@@ -1,5 +1,6 @@
 using System.Collections.Generic;
 using System.Text;
+using Lucene.Net.Search;
 
 namespace Lucene.Net.Index
 {
@@ -66,29 +67,29 @@ namespace Lucene.Net.Index
         {
             /// <summary>
             /// The underlying Fields instance. </summary>
-            protected internal readonly Fields @in;
+            protected internal readonly Fields input;
 
             /// <summary>
             /// Creates a new FilterFields. </summary>
             /// <param name="in"> the underlying Fields instance. </param>
             public FilterFields(Fields @in)
             {
-                this.@in = @in;
+                this.input = @in;
             }
 
             public override IEnumerator<string> GetEnumerator()
             {
-                return @in.GetEnumerator();
+                return input.GetEnumerator();
             }
 
             public override Terms Terms(string field)
             {
-                return @in.Terms(field);
+                return input.Terms(field);
             }
 
-            public override int Size()
+            public override int Size
             {
-                return @in.Size();
+                get { return input.Size; }
             }
         }
 
@@ -420,16 +421,24 @@ namespace Lucene.Net.Index
             return @in.GetTermVectors(docID);
         }
 
-        public override int NumDocs()
+        public override int NumDocs
         {
-            // Don't call ensureOpen() here (it could affect performance)
-            return @in.NumDocs();
+            get
+            {
+                {
+                    // Don't call ensureOpen() here (it could affect performance)
+                    return @in.NumDocs;
+                }
+            }
         }
 
-        public override int MaxDoc()
+        public override int MaxDoc
         {
-            // Don't call ensureOpen() here (it could affect performance)
-            return @in.MaxDoc();
+            get
+            {
+                // Don't call ensureOpen() here (it could affect performance)
+                return @in.MaxDoc;
+            }
         }
 
         public override void Document(int docID, StoredFieldVisitor visitor)
@@ -443,10 +452,13 @@ namespace Lucene.Net.Index
             @in.Dispose();
         }
 
-        public override Fields Fields()
+        public override Fields Fields
         {
-            EnsureOpen();
-            return @in.Fields();
+            get
+            {
+                EnsureOpen();
+                return @in.Fields;
+            }
         }
 
         public override string ToString()

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Index/IndexReader.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Index/IndexReader.cs b/src/Lucene.Net.Core/Index/IndexReader.cs
index 8229a6d..f0fd9fa 100644
--- a/src/Lucene.Net.Core/Index/IndexReader.cs
+++ b/src/Lucene.Net.Core/Index/IndexReader.cs
@@ -467,20 +467,20 @@ namespace Lucene.Net.Index
 
         /// <summary>
         /// Returns the number of documents in this index. </summary>
-        public abstract int NumDocs();
+        public abstract int NumDocs { get; }
 
         /// <summary>
         /// Returns one greater than the largest possible document number.
         /// this may be used to, e.g., determine how big to allocate an array which
         /// will have an element for every document number in an index.
         /// </summary>
-        public abstract int MaxDoc();
+        public abstract int MaxDoc { get; }
 
         /// <summary>
         /// Returns the number of deleted documents. </summary>
-        public int NumDeletedDocs()
+        public int NumDeletedDocs
         {
-            return MaxDoc() - NumDocs();
+            get { return MaxDoc - NumDocs; }
         }
 
         /// <summary>
@@ -536,9 +536,14 @@ namespace Lucene.Net.Index
         ///  consider overriding this method if <seealso cref="#maxDoc()"/> or <seealso cref="#numDocs()"/>
         ///  are not constant-time operations.
         /// </summary>
-        public virtual bool HasDeletions()
+        public virtual bool HasDeletions
         {
-            return NumDeletedDocs() > 0;
+            get
+            {
+                {
+                    return NumDeletedDocs > 0;
+                }
+            }
         }
 
         /// <summary> Closes files associated with this index.
@@ -595,9 +600,9 @@ namespace Lucene.Net.Index
         /// Returns the reader's leaves, or itself if this reader is atomic.
         /// this is a convenience method calling {@code this.getContext().leaves()}. </summary>
         /// <seealso cref= IndexReaderContext#leaves() </seealso>
-        public IList<AtomicReaderContext> Leaves()
+        public IList<AtomicReaderContext> Leaves
         {
-            return Context.Leaves();
+            get { return Context.Leaves; }
         }
 
         /// <summary>

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Index/IndexReaderContext.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Index/IndexReaderContext.cs b/src/Lucene.Net.Core/Index/IndexReaderContext.cs
index 9962385..a467762 100644
--- a/src/Lucene.Net.Core/Index/IndexReaderContext.cs
+++ b/src/Lucene.Net.Core/Index/IndexReaderContext.cs
@@ -56,7 +56,7 @@ namespace Lucene.Net.Index
 
         /// <summary>
         /// Returns the <seealso cref="IndexReader"/>, this context represents. </summary>
-        public abstract IndexReader Reader();
+        public abstract IndexReader Reader { get; }
 
         /// <summary>
         /// Returns the context's leaves if this context is a top-level context.
@@ -64,14 +64,14 @@ namespace Lucene.Net.Index
         /// returns itself as the only leaf.
         /// <p>Note: this is convenience method since leaves can always be obtained by
         /// walking the context tree using <seealso cref="#children()"/>. </summary>
-        /// <exception cref="UnsupportedOperationException"> if this is not a top-level context. </exception>
+        /// <exception cref="InvalidOperationException"> if this is not a top-level context. </exception>
         /// <seealso cref= #children() </seealso>
-        public abstract IList<AtomicReaderContext> Leaves();
+        public abstract IList<AtomicReaderContext> Leaves { get; }
 
         /// <summary>
         /// Returns the context's children iff this context is a composite context
         /// otherwise <code>null</code>.
         /// </summary>
-        public abstract IList<IndexReaderContext> Children();
+        public abstract IList<IndexReaderContext> Children { get; }
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Index/IndexWriter.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Index/IndexWriter.cs b/src/Lucene.Net.Core/Index/IndexWriter.cs
index 6c7c1ec..a393fc5 100644
--- a/src/Lucene.Net.Core/Index/IndexWriter.cs
+++ b/src/Lucene.Net.Core/Index/IndexWriter.cs
@@ -1329,12 +1329,15 @@ namespace Lucene.Net.Index
         ///  docs not yet flushed (still in the RAM buffer),
         ///  not counting deletions. </summary>
         ///  <seealso> cref= #numDocs  </seealso>
-        public virtual int MaxDoc()
+        public virtual int MaxDoc
         {
-            lock (this)
+            get
             {
-                EnsureOpen();
-                return DocWriter.NumDocs + segmentInfos.TotalDocCount();
+                lock (this)
+                {
+                    EnsureOpen();
+                    return DocWriter.NumDocs + segmentInfos.TotalDocCount();
+                }
             }
         }
 
@@ -1630,12 +1633,12 @@ namespace Lucene.Net.Index
                 else
                 {
                     // Composite reader: lookup sub-reader and re-base docID:
-                    IList<AtomicReaderContext> leaves = readerIn.Leaves();
+                    IList<AtomicReaderContext> leaves = readerIn.Leaves;
                     int subIndex = ReaderUtil.SubIndex(docID, leaves);
                     reader = leaves[subIndex].AtomicReader;
                     docID -= leaves[subIndex].DocBase;
                     Debug.Assert(docID >= 0);
-                    Debug.Assert(docID < reader.MaxDoc());
+                    Debug.Assert(docID < reader.MaxDoc);
                 }
 
                 if (!(reader is SegmentReader))
@@ -3221,8 +3224,8 @@ namespace Lucene.Net.Index
                 IList<AtomicReader> mergeReaders = new List<AtomicReader>();
                 foreach (IndexReader indexReader in readers)
                 {
-                    numDocs += indexReader.NumDocs();
-                    foreach (AtomicReaderContext ctx in indexReader.Leaves())
+                    numDocs += indexReader.NumDocs;
+                    foreach (AtomicReaderContext ctx in indexReader.Leaves)
                     {
                         mergeReaders.Add(ctx.AtomicReader);
                     }
@@ -5012,10 +5015,10 @@ namespace Lucene.Net.Index
                     // before we got a read-only copy of the segment's actual live docs
                     // (taking pending deletes into account). In that case we need to
                     // make a new reader with updated live docs and del count.
-                    if (reader.NumDeletedDocs() != delCount)
+                    if (reader.NumDeletedDocs != delCount)
                     {
                         // fix the reader's live docs and del count
-                        Debug.Assert(delCount > reader.NumDeletedDocs()); // beware of zombies
+                        Debug.Assert(delCount > reader.NumDeletedDocs); // beware of zombies
 
                         SegmentReader newReader = new SegmentReader(info, reader, liveDocs, info.Info.DocCount - delCount);
                         bool released = false;

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Index/MergePolicy.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Index/MergePolicy.cs b/src/Lucene.Net.Core/Index/MergePolicy.cs
index b72b81c..1b98ce4 100644
--- a/src/Lucene.Net.Core/Index/MergePolicy.cs
+++ b/src/Lucene.Net.Core/Index/MergePolicy.cs
@@ -174,7 +174,7 @@ namespace Lucene.Net.Index
                     IList<AtomicReader> readers = new List<AtomicReader>(this.Readers.Count);
                     foreach (AtomicReader reader in this.Readers)
                     {
-                        if (reader.NumDocs() > 0)
+                        if (reader.NumDocs > 0)
                         {
                             readers.Add(reader);
                         }

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Index/MergeState.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Index/MergeState.cs b/src/Lucene.Net.Core/Index/MergeState.cs
index ea7152e..3ea8198 100644
--- a/src/Lucene.Net.Core/Index/MergeState.cs
+++ b/src/Lucene.Net.Core/Index/MergeState.cs
@@ -50,24 +50,24 @@ namespace Lucene.Net.Index
             /// Returns the total number of documents, ignoring
             ///  deletions.
             /// </summary>
-            public abstract int MaxDoc();
+            public abstract int MaxDoc { get; }
 
             /// <summary>
             /// Returns the number of not-deleted documents. </summary>
-            public int NumDocs()
+            public int NumDocs
             {
-                return MaxDoc() - NumDeletedDocs();
+                get { return MaxDoc - NumDeletedDocs; }
             }
 
             /// <summary>
             /// Returns the number of deleted documents. </summary>
-            public abstract int NumDeletedDocs();
+            public abstract int NumDeletedDocs { get; }
 
             /// <summary>
             /// Returns true if there are any deletions. </summary>
             public virtual bool HasDeletions()
             {
-                return NumDeletedDocs() > 0;
+                return NumDeletedDocs > 0;
             }
 
             /// <summary>
@@ -76,8 +76,8 @@ namespace Lucene.Net.Index
             /// </summary>
             public static DocMap Build(AtomicReader reader)
             {
-                int maxDoc = reader.MaxDoc();
-                if (!reader.HasDeletions())
+                int maxDoc = reader.MaxDoc;
+                if (!reader.HasDeletions)
                 {
                     return new NoDelDocMap(maxDoc);
                 }
@@ -128,25 +128,25 @@ namespace Lucene.Net.Index
                     return (int)DocMap.Get(docID);
                 }
 
-                public override int MaxDoc()
+                public override int MaxDoc
                 {
-                    return maxDoc;
+                    get { return maxDoc; }
                 }
 
-                public override int NumDeletedDocs()
+                public override int NumDeletedDocs
                 {
-                    return numDeletedDocs;
+                    get { return numDeletedDocs; }
                 }
             }
         }
 
         private sealed class NoDelDocMap : DocMap
         {
-            internal readonly int MaxDoc_Renamed;
+            internal readonly int maxDoc;
 
             internal NoDelDocMap(int maxDoc)
             {
-                this.MaxDoc_Renamed = maxDoc;
+                this.maxDoc = maxDoc;
             }
 
             public override int Get(int docID)
@@ -154,14 +154,14 @@ namespace Lucene.Net.Index
                 return docID;
             }
 
-            public override int MaxDoc()
+            public override int MaxDoc
             {
-                return MaxDoc_Renamed;
+                get { return maxDoc; }
             }
 
-            public override int NumDeletedDocs()
+            public override int NumDeletedDocs
             {
-                return 0;
+                get { return 0; }
             }
         }
 

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Index/MultiDocValues.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Index/MultiDocValues.cs b/src/Lucene.Net.Core/Index/MultiDocValues.cs
index d6d66fa..7b340c8 100644
--- a/src/Lucene.Net.Core/Index/MultiDocValues.cs
+++ b/src/Lucene.Net.Core/Index/MultiDocValues.cs
@@ -60,7 +60,7 @@ namespace Lucene.Net.Index
         /// </summary>
         public static NumericDocValues GetNormValues(IndexReader r, string field)
         {
-            IList<AtomicReaderContext> leaves = r.Leaves();
+            IList<AtomicReaderContext> leaves = r.Leaves;
             int size = leaves.Count;
             if (size == 0)
             {
@@ -94,7 +94,7 @@ namespace Lucene.Net.Index
                 values[i] = v;
                 starts[i] = context.DocBase;
             }
-            starts[size] = r.MaxDoc();
+            starts[size] = r.MaxDoc;
 
             Debug.Assert(anyReal);
 
@@ -129,7 +129,7 @@ namespace Lucene.Net.Index
         /// </summary>
         public static NumericDocValues GetNumericValues(IndexReader r, string field)
         {
-            IList<AtomicReaderContext> leaves = r.Leaves();
+            IList<AtomicReaderContext> leaves = r.Leaves;
             int size = leaves.Count;
             if (size == 0)
             {
@@ -158,7 +158,7 @@ namespace Lucene.Net.Index
                 values[i] = v;
                 starts[i] = context.DocBase;
             }
-            starts[size] = r.MaxDoc();
+            starts[size] = r.MaxDoc;
 
             if (!anyReal)
             {
@@ -198,7 +198,7 @@ namespace Lucene.Net.Index
         /// </summary>
         public static Bits GetDocsWithField(IndexReader r, string field)
         {
-            IList<AtomicReaderContext> leaves = r.Leaves();
+            IList<AtomicReaderContext> leaves = r.Leaves;
             int size = leaves.Count;
             if (size == 0)
             {
@@ -219,7 +219,7 @@ namespace Lucene.Net.Index
                 Bits v = context.AtomicReader.GetDocsWithField(field);
                 if (v == null)
                 {
-                    v = new Lucene.Net.Util.Bits_MatchNoBits(context.Reader().MaxDoc());
+                    v = new Lucene.Net.Util.Bits_MatchNoBits(context.Reader.MaxDoc);
                     anyMissing = true;
                 }
                 else
@@ -233,7 +233,7 @@ namespace Lucene.Net.Index
                 values[i] = v;
                 starts[i] = context.DocBase;
             }
-            starts[size] = r.MaxDoc();
+            starts[size] = r.MaxDoc;
 
             if (!anyReal)
             {
@@ -241,7 +241,7 @@ namespace Lucene.Net.Index
             }
             else if (!anyMissing)
             {
-                return new Lucene.Net.Util.Bits_MatchAllBits(r.MaxDoc());
+                return new Lucene.Net.Util.Bits_MatchAllBits(r.MaxDoc);
             }
             else
             {
@@ -258,7 +258,7 @@ namespace Lucene.Net.Index
         /// </summary>
         public static BinaryDocValues GetBinaryValues(IndexReader r, string field)
         {
-            IList<AtomicReaderContext> leaves = r.Leaves();
+            IList<AtomicReaderContext> leaves = r.Leaves;
             int size = leaves.Count;
 
             if (size == 0)
@@ -288,7 +288,7 @@ namespace Lucene.Net.Index
                 values[i] = v;
                 starts[i] = context.DocBase;
             }
-            starts[size] = r.MaxDoc();
+            starts[size] = r.MaxDoc;
 
             if (!anyReal)
             {
@@ -327,7 +327,7 @@ namespace Lucene.Net.Index
         /// </summary>
         public static SortedDocValues GetSortedValues(IndexReader r, string field)
         {
-            IList<AtomicReaderContext> leaves = r.Leaves();
+            IList<AtomicReaderContext> leaves = r.Leaves;
             int size = leaves.Count;
 
             if (size == 0)
@@ -340,7 +340,7 @@ namespace Lucene.Net.Index
             }
 
             bool anyReal = false;
-            SortedDocValues[] values = new SortedDocValues[size];
+            var values = new SortedDocValues[size];
             int[] starts = new int[size + 1];
             for (int i = 0; i < size; i++)
             {
@@ -357,7 +357,7 @@ namespace Lucene.Net.Index
                 values[i] = v;
                 starts[i] = context.DocBase;
             }
-            starts[size] = r.MaxDoc();
+            starts[size] = r.MaxDoc;
 
             if (!anyReal)
             {
@@ -384,7 +384,7 @@ namespace Lucene.Net.Index
         /// </summary>
         public static SortedSetDocValues GetSortedSetValues(IndexReader r, string field)
         {
-            IList<AtomicReaderContext> leaves = r.Leaves();
+            IList<AtomicReaderContext> leaves = r.Leaves;
             int size = leaves.Count;
 
             if (size == 0)
@@ -414,7 +414,7 @@ namespace Lucene.Net.Index
                 values[i] = v;
                 starts[i] = context.DocBase;
             }
-            starts[size] = r.MaxDoc();
+            starts[size] = r.MaxDoc;
 
             if (!anyReal)
             {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Index/MultiFields.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Index/MultiFields.cs b/src/Lucene.Net.Core/Index/MultiFields.cs
index b450f1f..71be66d 100644
--- a/src/Lucene.Net.Core/Index/MultiFields.cs
+++ b/src/Lucene.Net.Core/Index/MultiFields.cs
@@ -61,7 +61,7 @@ namespace Lucene.Net.Index
         /// </summary>
         public static Fields GetFields(IndexReader reader)
         {
-            IList<AtomicReaderContext> leaves = reader.Leaves();
+            var leaves = reader.Leaves;
             switch (leaves.Count)
             {
                 case 0:
@@ -70,7 +70,7 @@ namespace Lucene.Net.Index
 
                 case 1:
                     // already an atomic reader / reader with one leave
-                    return leaves[0].AtomicReader.Fields();
+                    return leaves[0].AtomicReader.Fields;
 
                 default:
                     IList<Fields> fields = new List<Fields>();
@@ -78,11 +78,11 @@ namespace Lucene.Net.Index
                     foreach (AtomicReaderContext ctx in leaves)
                     {
                         AtomicReader r = ctx.AtomicReader;
-                        Fields f = r.Fields();
+                        Fields f = r.Fields;
                         if (f != null)
                         {
                             fields.Add(f);
-                            slices.Add(new ReaderSlice(ctx.DocBase, r.MaxDoc(), fields.Count - 1));
+                            slices.Add(new ReaderSlice(ctx.DocBase, r.MaxDoc, fields.Count - 1));
                         }
                     }
                     if (fields.Count == 0)
@@ -113,16 +113,16 @@ namespace Lucene.Net.Index
         /// </summary>
         public static Bits GetLiveDocs(IndexReader reader)
         {
-            if (reader.HasDeletions())
+            if (reader.HasDeletions)
             {
-                IList<AtomicReaderContext> leaves = reader.Leaves();
+                IList<AtomicReaderContext> leaves = reader.Leaves;
                 int size = leaves.Count;
                 Debug.Assert(size > 0, "A reader with deletions must have at least one leave");
                 if (size == 1)
                 {
                     return leaves[0].AtomicReader.LiveDocs;
                 }
-                Bits[] liveDocs = new Bits[size];
+                var liveDocs = new Bits[size];
                 int[] starts = new int[size + 1];
                 for (int i = 0; i < size; i++)
                 {
@@ -131,7 +131,7 @@ namespace Lucene.Net.Index
                     liveDocs[i] = ctx.AtomicReader.LiveDocs;
                     starts[i] = ctx.DocBase;
                 }
-                starts[size] = reader.MaxDoc();
+                starts[size] = reader.MaxDoc;
                 return new MultiBits(liveDocs, starts, true);
             }
             else
@@ -284,9 +284,9 @@ namespace Lucene.Net.Index
             return result;
         }
 
-        public override int Size()
+        public override int Size
         {
-            return -1;
+            get { return -1; }
         }
 
         /// <summary>
@@ -300,8 +300,8 @@ namespace Lucene.Net.Index
         /// </summary>
         public static FieldInfos GetMergedFieldInfos(IndexReader reader)
         {
-            FieldInfos.Builder builder = new FieldInfos.Builder();
-            foreach (AtomicReaderContext ctx in reader.Leaves())
+            var builder = new FieldInfos.Builder();
+            foreach (AtomicReaderContext ctx in reader.Leaves)
             {
                 builder.Add(ctx.AtomicReader.FieldInfos);
             }

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/e2f44e8e/src/Lucene.Net.Core/Index/ParallelAtomicReader.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Index/ParallelAtomicReader.cs b/src/Lucene.Net.Core/Index/ParallelAtomicReader.cs
index 5db8267..4364cd8 100644
--- a/src/Lucene.Net.Core/Index/ParallelAtomicReader.cs
+++ b/src/Lucene.Net.Core/Index/ParallelAtomicReader.cs
@@ -58,7 +58,7 @@ namespace Lucene.Net.Index
         private readonly AtomicReader[] ParallelReaders, StoredFieldsReaders;
         private readonly ISet<AtomicReader> CompleteReaderSet = new IdentityHashSet<AtomicReader>();
         private readonly bool CloseSubReaders;
-        private readonly int MaxDoc_Renamed, NumDocs_Renamed;
+        private readonly int maxDoc, numDocs;
         private readonly bool hasDeletions;
         private readonly IDictionary<string, AtomicReader> FieldToReader = new SortedDictionary<string, AtomicReader>();
         private readonly IDictionary<string, AtomicReader> TvFieldToReader = new SortedDictionary<string, AtomicReader>();
@@ -113,13 +113,13 @@ namespace Lucene.Net.Index
             if (ParallelReaders.Length > 0)
             {
                 AtomicReader first = ParallelReaders[0];
-                this.MaxDoc_Renamed = first.MaxDoc();
-                this.NumDocs_Renamed = first.NumDocs();
-                this.hasDeletions = first.HasDeletions();
+                this.maxDoc = first.MaxDoc;
+                this.numDocs = first.NumDocs;
+                this.hasDeletions = first.HasDeletions;
             }
             else
             {
-                this.MaxDoc_Renamed = this.NumDocs_Renamed = 0;
+                this.maxDoc = this.numDocs = 0;
                 this.hasDeletions = false;
             }
             CollectionsHelper.AddAll(CompleteReaderSet, this.ParallelReaders);
@@ -128,9 +128,9 @@ namespace Lucene.Net.Index
             // check compatibility:
             foreach (AtomicReader reader in CompleteReaderSet)
             {
-                if (reader.MaxDoc() != MaxDoc_Renamed)
+                if (reader.MaxDoc != maxDoc)
                 {
-                    throw new System.ArgumentException("All readers must have same maxDoc: " + MaxDoc_Renamed + "!=" + reader.MaxDoc());
+                    throw new System.ArgumentException("All readers must have same maxDoc: " + maxDoc + "!=" + reader.MaxDoc);
                 }
             }
 
@@ -159,7 +159,7 @@ namespace Lucene.Net.Index
             // build Fields instance
             foreach (AtomicReader reader in this.ParallelReaders)
             {
-                Fields readerFields = reader.Fields();
+                Fields readerFields = reader.Fields;
                 if (readerFields != null)
                 {
                     foreach (string field in readerFields)
@@ -232,9 +232,9 @@ namespace Lucene.Net.Index
                 return ret;
             }
 
-            public override int Size()
+            public override int Size
             {
-                return Fields.Count;
+                get { return Fields.Count; }
             }
         }
 
@@ -263,22 +263,31 @@ namespace Lucene.Net.Index
             }
         }
 
-        public override Fields Fields()
+        public override Fields Fields
         {
-            EnsureOpen();
-            return Fields_Renamed;
+            get
+            {
+                EnsureOpen();
+                return Fields_Renamed;
+            }
         }
 
-        public override int NumDocs()
+        public override int NumDocs
         {
-            // Don't call ensureOpen() here (it could affect performance)
-            return NumDocs_Renamed;
+            get
+            {
+                // Don't call ensureOpen() here (it could affect performance)
+                return numDocs;
+            }
         }
 
-        public override int MaxDoc()
+        public override int MaxDoc
         {
-            // Don't call ensureOpen() here (it could affect performance)
-            return MaxDoc_Renamed;
+            get
+            {
+                // Don't call ensureOpen() here (it could affect performance)
+                return maxDoc;
+            }
         }
 
         public override void Document(int docID, StoredFieldVisitor visitor)