code: public final Iterable<T> toIterable(int batchSize, @Nullable Supplier<Queue<T>>
  			queueProvider) {
  		final Supplier<Queue<T>> provider;
  		if(queueProvider == null){
  			provider = Queues.get(batchSize);
  		}
  		else{
  			provider = queueProvider;
  		}
  		return new BlockingIterable<>(this, batchSize, provider);
  	}
docs: Transform this {@link Flux} into a lazy {@link Iterable} blocking on
  {@link Iterator#next()} calls.
  
  <p>
  <img class="marble" src="doc-files/marbles/toIterableWithBatchSize.svg" alt="">
  <p>
  Note that iterating from within threads marked as "non-blocking only" is illegal and will
  cause an {@link IllegalStateException} to be thrown, but obtaining the {@link Iterable}
  itself within these threads is ok.
  
  @param batchSize the bounded capacity to prefetch from this {@link Flux} or
  {@code Integer.MAX_VALUE} for unbounded demand
  @param queueProvider the supplier of the queue implementation to be used for storing
  elements emitted faster than the iteration
  
  @return a blocking {@link Iterable}