@ Override public CompletableFuture < T > getNext ( ) { // Verify no other call to getNext() is currently executing. return getNextBucket ( ) . thenCompose ( bucket -> { if ( bucket == null ) { // We are done. return CompletableFuture . completedFuture ( null ) ; } else { // Convert the TableBucket into the desired result. return this . resultConverter . apply ( bucket ) ; } } ) ; }
region AsyncIterator Implementation