}
if ( ! jsapResult.getBoolean( "noComp" ) ) {
IndexReader additionalReader;
IntLinkedOpenHashSet s0 = new IntLinkedOpenHashSet();
IntOpenHashSet s1 = new IntOpenHashSet();
IntAVLTreeSet s2 = new IntAVLTreeSet();
IntIterator it;
IndexIterator indexIterator, additionalIterator;
it.unimi.dsi.mg4j.search.DocumentIterator documentIterator;
int u = 0;
try {
for (i = 0; i < index.length; i++) {
pl.expectedUpdates = numberOfTerms[ i ];
pl.start("Verifying composite iterators in " + index[i] + "...");
additionalReader = index[ i ].getReader();
for (t = 0; t < numberOfTerms[ i ]; t++) {
for (u = 0; u < numberOfTerms[ i ]; u++) {
s0.clear();
s1.clear();
// TODO: in case we have positions, we should check them, too
IntIterators.pour( termLists ? indexReader[ i ].documents( terms[ i ].get( t ) ) : indexReader[ i ].documents( t ), s0 );
IntIterators.pour( termLists ? indexReader[ i ].documents( terms[ i ].get( u ) ) : indexReader[ i ].documents( u ), s1 );
s0.retainAll( s1 );
indexIterator = termLists ? indexReader[ i ].documents( terms[ i ].get( t ) ) : indexReader[ i ].documents( t );
additionalIterator = termLists ? additionalReader.documents( terms[ i ].get( u ) ) : additionalReader.documents( u );
it = s0.iterator();
documentIterator = AndDocumentIterator.getInstance( indexIterator, additionalIterator );
for( int j = s0.size(); j-- != 0; ) if ( it.nextInt() != documentIterator.nextDocument() ) throw new AssertionError();
if ( documentIterator.hasNext() ) throw new AssertionError();
s2.clear();
IntIterators.pour( termLists ? indexReader[ i ].documents( terms[ i ].get( t ) ) : indexReader[ i ].documents( t ), s2 );
IntIterators.pour( termLists ? indexReader[ i ].documents( terms[ i ].get( u ) ) : indexReader[ i ].documents( u ), s2 );