Lucene.Net.Index.FilterDirectoryReader: Eliminated unnecessary O(n + n) operation
diff --git a/src/Lucene.Net/Index/FilterDirectoryReader.cs b/src/Lucene.Net/Index/FilterDirectoryReader.cs
index f53dd85..d0262cf 100644
--- a/src/Lucene.Net/Index/FilterDirectoryReader.cs
+++ b/src/Lucene.Net/Index/FilterDirectoryReader.cs
@@ -41,12 +41,12 @@
/// </summary>
public abstract class SubReaderWrapper
{
- internal virtual AtomicReader[] Wrap(IList<AtomicReader> readers)
+ internal virtual AtomicReader[] Wrap(IList<IndexReader> readers) // LUCENENET specific: Changed from IList<AtomicReader> to IList<IndexReader> to eliminate cast in calling method
{
AtomicReader[] wrapped = new AtomicReader[readers.Count];
for (int i = 0; i < readers.Count; i++)
{
- wrapped[i] = Wrap(readers[i]);
+ wrapped[i] = Wrap((AtomicReader)readers[i]);
}
return wrapped;
}
@@ -100,7 +100,7 @@
/// <param name="input"> the <see cref="DirectoryReader"/> to filter </param>
/// <param name="wrapper"> the <see cref="SubReaderWrapper"/> to use to wrap subreaders </param>
public FilterDirectoryReader(DirectoryReader input, SubReaderWrapper wrapper)
- : base(input.Directory, wrapper.Wrap(input.GetSequentialSubReaders().OfType<AtomicReader>().ToList()))
+ : base(input.Directory, wrapper.Wrap(input.GetSequentialSubReaders()))
{
this.m_input = input;
}