code: public static <T> Iterable<T> wrap(Iterable<T> ts, ProgressBarBuilder pbb) {
          long size = ts.spliterator().getExactSizeIfKnown();
          if (size != -1)
              pbb.setInitialMax(size);
          return new ProgressBarWrappedIterable<>(ts, pbb);
      }
docs: Wraps an {@link Iterable} so that when iterated, a progress bar is shown to track the traversal progress.
  For this function the progress bar can be fully customized by using a {@link ProgressBarBuilder}.
  @param ts Underlying iterable
  @param pbb An instance of a {@link ProgressBarBuilder}