### Question:
LuceneAllDocumentsReader implements BoundedIterable<Document> { @Override public Iterator<Document> iterator() { Iterator<Iterator<Document>> iterators = partitionReaders.stream() .map( LucenePartitionAllDocumentsReader::iterator ) .collect( toList() ) .iterator(); return Iterators.concat( iterators ); } LuceneAllDocumentsReader( List<LucenePartitionAllDocumentsReader> partitionReaders ); @Override long maxCount(); @Override Iterator<Document> iterator(); @Override void close();  }### Answer:
@Test void readAllDocuments() { LuceneAllDocumentsReader allDocumentsReader = createAllDocumentsReader(); List<Document> documents = Iterators.asList( allDocumentsReader.iterator() ); assertEquals( 3, documents.size(), "Should have 1 document from first partition and 2 from second one." ); assertEquals( "1", documents.get( 0 ).getField( "value" ).stringValue() ); assertEquals( "3", documents.get( 1 ).getField( "value" ).stringValue() ); assertEquals( "4", documents.get( 2 ).getField( "value" ).stringValue() ); }