/// <summary> /// Expert: same as <seealso cref="#wrap(AtomicReader, Sort)"/> but operates directly on a <seealso cref="Sorter.DocMap"/>. </summary> internal static AtomicReader wrap(AtomicReader reader, Sorter.DocMap docMap) { if (docMap == null) { // the reader is already sorter return reader; } if (reader.maxDoc() != docMap.size()) { throw new System.ArgumentException("reader.maxDoc() should be equal to docMap.size(), got" + reader.maxDoc() + " != " + docMap.size()); } Debug.Assert(Sorter.isConsistent(docMap)); return new SortingAtomicReader(reader, docMap); }