Index: lucene/src/test/org/apache/lucene/index/TestFilterIndexReader.java =================================================================== --- lucene/src/test/org/apache/lucene/index/TestFilterIndexReader.java (revision 1036589) +++ lucene/src/test/org/apache/lucene/index/TestFilterIndexReader.java (working copy) @@ -149,7 +149,7 @@ //IndexReader reader = new TestReader(IndexReader.open(directory, true)); Directory target = newDirectory(); writer = new IndexWriter(target, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer())); - IndexReader reader = new TestReader(IndexReader.open(directory, true)); + IndexReader reader = new TestReader(SlowMultiReaderWrapper.wrap(IndexReader.open(directory, true))); writer.addIndexes(reader); writer.close(); reader.close(); Index: lucene/src/java/org/apache/lucene/index/FilterIndexReader.java =================================================================== --- lucene/src/java/org/apache/lucene/index/FilterIndexReader.java (revision 1036589) +++ lucene/src/java/org/apache/lucene/index/FilterIndexReader.java (working copy) @@ -279,7 +279,7 @@ @Override public Bits getDeletedDocs() { - return MultiFields.getDeletedDocs(in); + return in.getDeletedDocs(); } @Override @@ -415,12 +415,12 @@ @Override public IndexReader[] getSequentialSubReaders() { - return null; + return in.getSequentialSubReaders(); } @Override public Fields fields() throws IOException { - return MultiFields.getFields(in); + return in.fields(); } /** If the subclass of FilteredIndexReader modifies the Index: lucene/src/java/org/apache/lucene/index/SlowMultiReaderWrapper.java =================================================================== --- lucene/src/java/org/apache/lucene/index/SlowMultiReaderWrapper.java (revision 1036589) +++ lucene/src/java/org/apache/lucene/index/SlowMultiReaderWrapper.java (working copy) @@ -82,4 +82,9 @@ public void doClose() throws IOException { throw new UnsupportedOperationException("please call close on the original reader instead"); } + + @Override + public IndexReader[] getSequentialSubReaders() { + return null; + } } Index: lucene/contrib/misc/src/java/org/apache/lucene/index/MultiPassIndexSplitter.java =================================================================== --- lucene/contrib/misc/src/java/org/apache/lucene/index/MultiPassIndexSplitter.java (revision 1036589) +++ lucene/contrib/misc/src/java/org/apache/lucene/index/MultiPassIndexSplitter.java (working copy) @@ -179,8 +179,8 @@ OpenBitSet dels; OpenBitSet oldDels = null; - public FakeDeleteIndexReader(IndexReader in) { - super(in); + public FakeDeleteIndexReader(IndexReader in) throws IOException { + super(SlowMultiReaderWrapper.wrap(in)); dels = new OpenBitSet(in.maxDoc()); if (in.hasDeletions()) { oldDels = new OpenBitSet(in.maxDoc());