/// <summary>
/// Create a new <see cref="FilterDirectoryReader"/> that filters a passed in <see cref="DirectoryReader"/>,
/// using the supplied <see cref="SubReaderWrapper"/> to wrap its subreader. </summary>
/// <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()))
{
this.m_input = input;
}