// Path: src/main/java/org/simondean/vertx/async/EachBuilder.java
// public interface EachBuilder {
//   void run(Vertx vertx, AsyncResultHandler<Void> handler);
// }
// 
// Path: src/main/java/org/simondean/vertx/async/IterableBuilder.java
// public interface IterableBuilder<T> {
//   EachBuilder each(BiConsumer<T, AsyncResultHandler<Void>> each);
// }


import org.simondean.vertx.async.EachBuilder;
import org.simondean.vertx.async.IterableBuilder;
import org.vertx.java.core.AsyncResultHandler;
import java.util.function.BiConsumer;
package org.simondean.vertx.async.internal;



public class IterableBuilderImpl<T> implements IterableBuilder<T> {
  private final Iterable<T> iterable;

  public IterableBuilderImpl(Iterable<T> iterable) {
    this.iterable = iterable;
  }

  @Override
// Path: src/main/java/org/simondean/vertx/async/EachBuilder.java
// public interface EachBuilder {
//   void run(Vertx vertx, AsyncResultHandler<Void> handler);
// }
// 
// Path: src/main/java/org/simondean/vertx/async/IterableBuilder.java
// public interface IterableBuilder<T> {
//   EachBuilder each(BiConsumer<T, AsyncResultHandler<Void>> each);
// }


// Path: src/main/java/org/simondean/vertx/async/internal/IterableBuilderImpl.java
import org.simondean.vertx.async.EachBuilder;
import org.simondean.vertx.async.IterableBuilder;
import org.vertx.java.core.AsyncResultHandler;
import java.util.function.BiConsumer;

package org.simondean.vertx.async.internal;



public class IterableBuilderImpl<T> implements IterableBuilder<T> {
  private final Iterable<T> iterable;

  public IterableBuilderImpl(Iterable<T> iterable) {
    this.iterable = iterable;
  }

  @Override
  public EachBuilder each(BiConsumer<T, AsyncResultHandler<Void>> each) {