// Path: src/main/java/org/simondean/vertx/async/RetryBuilder.java
// public interface RetryBuilder {
//   <T> RetryTimesBuilder<T> task(Consumer<AsyncResultHandler<T>> task);
// }
// 
// Path: src/main/java/org/simondean/vertx/async/RetryTimesBuilder.java
// public interface RetryTimesBuilder<T> {
//   Retry<T> times(int times);
// }


import org.simondean.vertx.async.RetryBuilder;
import org.simondean.vertx.async.RetryTimesBuilder;
import org.vertx.java.core.AsyncResultHandler;
import java.util.function.Consumer;
package org.simondean.vertx.async.internal;



public class RetryBuilderImpl implements RetryBuilder {
  @Override
// Path: src/main/java/org/simondean/vertx/async/RetryBuilder.java
// public interface RetryBuilder {
//   <T> RetryTimesBuilder<T> task(Consumer<AsyncResultHandler<T>> task);
// }
// 
// Path: src/main/java/org/simondean/vertx/async/RetryTimesBuilder.java
// public interface RetryTimesBuilder<T> {
//   Retry<T> times(int times);
// }


// Path: src/main/java/org/simondean/vertx/async/internal/RetryBuilderImpl.java
import org.simondean.vertx.async.RetryBuilder;
import org.simondean.vertx.async.RetryTimesBuilder;
import org.vertx.java.core.AsyncResultHandler;
import java.util.function.Consumer;

package org.simondean.vertx.async.internal;



public class RetryBuilderImpl implements RetryBuilder {
  @Override
  public <T> RetryTimesBuilder<T> task(Consumer<AsyncResultHandler<T>> task) {