@Override
            public List<List<U>> listPerBatch() {
                List<List<U>> results = new ArrayList<>();
                try (ResultIterator<U> iterator = delegate.iterator()) {
                    for (int modCount : modifiedRowCountsSupplier.get()) {
                        if (modCount <= 0) {
                            // error return (SUCCESS_NO_INFO or EXECUTE_FAILED) or empty.
                            results.add(Collections.emptyList());
                        } else {
                            List<U> batchResult = new ArrayList<>(modCount);
                            for (int i = 0; i < modCount; i++) {
                                batchResult.add(iterator.next());
                            }
                            results.add(batchResult);
                        }
                    }
                }
                return results;
            }
Split the results into per-batch sub-lists. Note that this may not be correct if any of the executed batches returned an error code.

@return results in a {@link List} of {@link List}s.
core/src/main/java/org/jdbi/v3/core/result/BatchResultIterable.java