docs: static Iterator<Map<Integer, List<Data>>> toBatches(final Iterator<Entry<Integer, Data>> entries,
                                                          final int maxBatch) {
          return new UnmodifiableIterator<Map<Integer, List<Data>>>() {
              @Override
              public boolean hasNext() {
                  return entries.hasNext();
              }
  
              @Override
              public Map<Integer, List<Data>> next() {
                  if (!entries.hasNext()) {
                      throw new NoSuchElementException();
                  }
                  return nextBatch(entries, maxBatch);
              }
          };
      }