public interface io.vertx.core.Future<T> extends io.vertx.core.AsyncResult<T>, io.vertx.core.Handler<io.vertx.core.AsyncResult<T>>
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: io.vertx.core.Future
  super_class: java.lang.Object
{
  public static final io.vertx.core.spi.FutureFactory factory;
    descriptor: Lio/vertx/core/spi/FutureFactory;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.GenIgnore()

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 494
            ldc Lio/vertx/core/spi/FutureFactory;
            invokestatic io.vertx.core.ServiceHelper.loadFactory:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast io.vertx.core.spi.FutureFactory
            putstatic io.vertx.core.Future.factory:Lio/vertx/core/spi/FutureFactory;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static <T> io.vertx.core.Future<T> future(io.vertx.core.Handler<io.vertx.core.Promise<T>>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/Future;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.vertx.core.Handler handler
         0: .line 39
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 1 /* promise */
        start local 1 // io.vertx.core.Promise promise
         1: .line 40
            aload 0 /* handler */
            aload 1 /* promise */
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 41
            aload 1 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 1 // io.vertx.core.Promise promise
        end local 0 // io.vertx.core.Handler handler
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  handler  Lio/vertx/core/Handler<Lio/vertx/core/Promise<TT;>;>;
            1    3     1  promise  Lio/vertx/core/Promise<TT;>;
    Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/Handler<Lio/vertx/core/Promise<TT;>;>;)Lio/vertx/core/Future<TT;>;
    MethodParameters:
         Name  Flags
      handler  

  public static <T> io.vertx.core.Future<T> future();
    descriptor: ()Lio/vertx/core/Future;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 53
            getstatic io.vertx.core.Future.factory:Lio/vertx/core/spi/FutureFactory;
            invokeinterface io.vertx.core.spi.FutureFactory.future:()Lio/vertx/core/Future;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <T:Ljava/lang/Object;>()Lio/vertx/core/Future<TT;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static <T> io.vertx.core.Future<T> succeededFuture();
    descriptor: ()Lio/vertx/core/Future;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 63
            getstatic io.vertx.core.Future.factory:Lio/vertx/core/spi/FutureFactory;
            invokeinterface io.vertx.core.spi.FutureFactory.succeededFuture:()Lio/vertx/core/Future;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <T:Ljava/lang/Object;>()Lio/vertx/core/Future<TT;>;

  public static <T> io.vertx.core.Future<T> succeededFuture(T);
    descriptor: (Ljava/lang/Object;)Lio/vertx/core/Future;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object result
         0: .line 74
            getstatic io.vertx.core.Future.factory:Lio/vertx/core/spi/FutureFactory;
            aload 0 /* result */
            invokeinterface io.vertx.core.spi.FutureFactory.succeededFuture:(Ljava/lang/Object;)Lio/vertx/core/Future;
            areturn
        end local 0 // java.lang.Object result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  result  TT;
    Signature: <T:Ljava/lang/Object;>(TT;)Lio/vertx/core/Future<TT;>;
    MethodParameters:
        Name  Flags
      result  

  public static <T> io.vertx.core.Future<T> failedFuture(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Lio/vertx/core/Future;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Throwable t
         0: .line 85
            getstatic io.vertx.core.Future.factory:Lio/vertx/core/spi/FutureFactory;
            aload 0 /* t */
            invokeinterface io.vertx.core.spi.FutureFactory.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
            areturn
        end local 0 // java.lang.Throwable t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     t  Ljava/lang/Throwable;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Throwable;)Lio/vertx/core/Future<TT;>;
    MethodParameters:
      Name  Flags
      t     

  public static <T> io.vertx.core.Future<T> failedFuture(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/core/Future;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String failureMessage
         0: .line 96
            getstatic io.vertx.core.Future.factory:Lio/vertx/core/spi/FutureFactory;
            aload 0 /* failureMessage */
            invokeinterface io.vertx.core.spi.FutureFactory.failureFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
            areturn
        end local 0 // java.lang.String failureMessage
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0  failureMessage  Ljava/lang/String;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;)Lio/vertx/core/Future<TT;>;
    MethodParameters:
                Name  Flags
      failureMessage  

  public abstract boolean isComplete();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract io.vertx.core.Future<T> setHandler(io.vertx.core.Handler<io.vertx.core.AsyncResult<T>>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/Future;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;)Lio/vertx/core/Future<TT;>;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
         Name  Flags
      handler  

  public abstract void complete();
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (TT;)V
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
        Name  Flags
      result  

  public abstract void complete();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public abstract void fail(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
       Name  Flags
      cause  

  public abstract void fail(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                Name  Flags
      failureMessage  

  public abstract boolean tryComplete();
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (TT;)Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
        Name  Flags
      result  

  public abstract boolean tryComplete();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public abstract boolean tryFail(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
       Name  Flags
      cause  

  public abstract boolean tryFail(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                Name  Flags
      failureMessage  

  public abstract T result();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()TT;

  public abstract java.lang.Throwable cause();
    descriptor: ()Ljava/lang/Throwable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean succeeded();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean failed();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public <U> io.vertx.core.Future<U> compose(io.vertx.core.Handler<T>, io.vertx.core.Future<U>);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/Future;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.core.Future this
        start local 1 // io.vertx.core.Handler handler
        start local 2 // io.vertx.core.Future next
         0: .line 246
            aload 0 /* this */
            aload 1 /* handler */
            aload 2 /* next */
            invokedynamic handle(Lio/vertx/core/Handler;Lio/vertx/core/Future;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/core/Future.lambda$0(Lio/vertx/core/Handler;Lio/vertx/core/Future;Lio/vertx/core/AsyncResult;)V (6 itf)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.core.Future.setHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
         1: .line 260
            aload 2 /* next */
            areturn
        end local 2 // io.vertx.core.Future next
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.core.Future this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/core/Future<TT;>;
            0    2     1  handler  Lio/vertx/core/Handler<TT;>;
            0    2     2     next  Lio/vertx/core/Future<TU;>;
    Signature: <U:Ljava/lang/Object;>(Lio/vertx/core/Handler<TT;>;Lio/vertx/core/Future<TU;>;)Lio/vertx/core/Future<TU;>;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.GenIgnore()
      java.lang.Deprecated()
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        io.vertx.codegen.annotations.GenIgnore()
    MethodParameters:
         Name  Flags
      handler  
      next     

  public <U> io.vertx.core.Future<U> compose(java.util.function.Function<T, io.vertx.core.Future<U>>);
    descriptor: (Ljava/util/function/Function;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.vertx.core.Future this
        start local 1 // java.util.function.Function mapper
         0: .line 279
            aload 1 /* mapper */
            ifnonnull 2
         1: .line 280
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 282
      StackMap locals:
      StackMap stack:
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 2 /* ret */
        start local 2 // io.vertx.core.Promise ret
         3: .line 283
            aload 0 /* this */
            aload 1 /* mapper */
            aload 2 /* ret */
            invokedynamic handle(Ljava/util/function/Function;Lio/vertx/core/Promise;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/core/Future.lambda$1(Ljava/util/function/Function;Lio/vertx/core/Promise;Lio/vertx/core/AsyncResult;)V (6 itf)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.core.Future.setHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
         4: .line 297
            aload 2 /* ret */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 2 // io.vertx.core.Promise ret
        end local 1 // java.util.function.Function mapper
        end local 0 // io.vertx.core.Future this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lio/vertx/core/Future<TT;>;
            0    5     1  mapper  Ljava/util/function/Function<TT;Lio/vertx/core/Future<TU;>;>;
            3    5     2     ret  Lio/vertx/core/Promise<TU;>;
    Signature: <U:Ljava/lang/Object;>(Ljava/util/function/Function<TT;Lio/vertx/core/Future<TU;>;>;)Lio/vertx/core/Future<TU;>;
    MethodParameters:
        Name  Flags
      mapper  

  public <U> io.vertx.core.Future<U> map(java.util.function.Function<T, U>);
    descriptor: (Ljava/util/function/Function;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.vertx.core.Future this
        start local 1 // java.util.function.Function mapper
         0: .line 314
            aload 1 /* mapper */
            ifnonnull 2
         1: .line 315
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 317
      StackMap locals:
      StackMap stack:
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 2 /* ret */
        start local 2 // io.vertx.core.Promise ret
         3: .line 318
            aload 0 /* this */
            aload 1 /* mapper */
            aload 2 /* ret */
            invokedynamic handle(Ljava/util/function/Function;Lio/vertx/core/Promise;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/core/Future.lambda$2(Ljava/util/function/Function;Lio/vertx/core/Promise;Lio/vertx/core/AsyncResult;)V (6 itf)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.core.Future.setHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
         4: .line 332
            aload 2 /* ret */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 2 // io.vertx.core.Promise ret
        end local 1 // java.util.function.Function mapper
        end local 0 // io.vertx.core.Future this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lio/vertx/core/Future<TT;>;
            0    5     1  mapper  Ljava/util/function/Function<TT;TU;>;
            3    5     2     ret  Lio/vertx/core/Promise<TU;>;
    Signature: <U:Ljava/lang/Object;>(Ljava/util/function/Function<TT;TU;>;)Lio/vertx/core/Future<TU;>;
    MethodParameters:
        Name  Flags
      mapper  

  public <V> io.vertx.core.Future<V> map(V);
    descriptor: (Ljava/lang/Object;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.vertx.core.Future this
        start local 1 // java.lang.Object value
         0: .line 346
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 2 /* ret */
        start local 2 // io.vertx.core.Promise ret
         1: .line 347
            aload 0 /* this */
            aload 2 /* ret */
            aload 1 /* value */
            invokedynamic handle(Lio/vertx/core/Promise;Ljava/lang/Object;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/core/Future.lambda$3(Lio/vertx/core/Promise;Ljava/lang/Object;Lio/vertx/core/AsyncResult;)V (6 itf)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.core.Future.setHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
         2: .line 354
            aload 2 /* ret */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 2 // io.vertx.core.Promise ret
        end local 1 // java.lang.Object value
        end local 0 // io.vertx.core.Future this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lio/vertx/core/Future<TT;>;
            0    3     1  value  TV;
            1    3     2    ret  Lio/vertx/core/Promise<TV;>;
    Signature: <V:Ljava/lang/Object;>(TV;)Lio/vertx/core/Future<TV;>;
    MethodParameters:
       Name  Flags
      value  

  public <V> io.vertx.core.Future<V> mapEmpty();
    descriptor: ()Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.Future this
         0: .line 370
            aload 0 /* this */
            invokespecial io.vertx.core.AsyncResult.mapEmpty:()Lio/vertx/core/AsyncResult;
            checkcast io.vertx.core.Future
            areturn
        end local 0 // io.vertx.core.Future this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/Future<TT;>;
    Signature: <V:Ljava/lang/Object;>()Lio/vertx/core/Future<TV;>;

  public abstract void handle(io.vertx.core.AsyncResult<T>);
    descriptor: (Lio/vertx/core/AsyncResult;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lio/vertx/core/AsyncResult<TT;>;)V
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.GenIgnore()
    MethodParameters:
             Name  Flags
      asyncResult  

  public io.vertx.core.Handler<io.vertx.core.AsyncResult<T>> completer();
    descriptor: ()Lio/vertx/core/Handler;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.Future this
         0: .line 389
            aload 0 /* this */
            areturn
        end local 0 // io.vertx.core.Future this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/Future<TT;>;
    Signature: ()Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
      io.vertx.codegen.annotations.CacheReturn()

  public io.vertx.core.Future<T> recover(java.util.function.Function<java.lang.Throwable, io.vertx.core.Future<T>>);
    descriptor: (Ljava/util/function/Function;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // io.vertx.core.Future this
        start local 1 // java.util.function.Function mapper
         0: .line 400
            aload 1 /* mapper */
            ifnonnull 2
         1: .line 401
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 403
      StackMap locals:
      StackMap stack:
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 2 /* ret */
        start local 2 // io.vertx.core.Promise ret
         3: .line 404
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* ret */
            aload 1 /* mapper */
            invokedynamic handle(Lio/vertx/core/Future;Lio/vertx/core/Promise;Ljava/util/function/Function;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/core/Future.lambda$4(Lio/vertx/core/Promise;Ljava/util/function/Function;Lio/vertx/core/AsyncResult;)V (7 itf)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.core.Future.setHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
         4: .line 418
            aload 2 /* ret */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 2 // io.vertx.core.Promise ret
        end local 1 // java.util.function.Function mapper
        end local 0 // io.vertx.core.Future this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lio/vertx/core/Future<TT;>;
            0    5     1  mapper  Ljava/util/function/Function<Ljava/lang/Throwable;Lio/vertx/core/Future<TT;>;>;
            3    5     2     ret  Lio/vertx/core/Promise<TT;>;
    Signature: (Ljava/util/function/Function<Ljava/lang/Throwable;Lio/vertx/core/Future<TT;>;>;)Lio/vertx/core/Future<TT;>;
    MethodParameters:
        Name  Flags
      mapper  

  public io.vertx.core.Future<T> otherwise(java.util.function.Function<java.lang.Throwable, T>);
    descriptor: (Ljava/util/function/Function;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // io.vertx.core.Future this
        start local 1 // java.util.function.Function mapper
         0: .line 435
            aload 1 /* mapper */
            ifnonnull 2
         1: .line 436
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 438
      StackMap locals:
      StackMap stack:
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 2 /* ret */
        start local 2 // io.vertx.core.Promise ret
         3: .line 439
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* ret */
            aload 1 /* mapper */
            invokedynamic handle(Lio/vertx/core/Future;Lio/vertx/core/Promise;Ljava/util/function/Function;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/core/Future.lambda$5(Lio/vertx/core/Promise;Ljava/util/function/Function;Lio/vertx/core/AsyncResult;)V (7 itf)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.core.Future.setHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
         4: .line 453
            aload 2 /* ret */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 2 // io.vertx.core.Promise ret
        end local 1 // java.util.function.Function mapper
        end local 0 // io.vertx.core.Future this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lio/vertx/core/Future<TT;>;
            0    5     1  mapper  Ljava/util/function/Function<Ljava/lang/Throwable;TT;>;
            3    5     2     ret  Lio/vertx/core/Promise<TT;>;
    Signature: (Ljava/util/function/Function<Ljava/lang/Throwable;TT;>;)Lio/vertx/core/Future<TT;>;
    MethodParameters:
        Name  Flags
      mapper  

  public io.vertx.core.Future<T> otherwise(T);
    descriptor: (Ljava/lang/Object;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // io.vertx.core.Future this
        start local 1 // java.lang.Object value
         0: .line 467
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 2 /* ret */
        start local 2 // io.vertx.core.Promise ret
         1: .line 468
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* ret */
            aload 1 /* value */
            invokedynamic handle(Lio/vertx/core/Future;Lio/vertx/core/Promise;Ljava/lang/Object;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/core/Future.lambda$6(Lio/vertx/core/Promise;Ljava/lang/Object;Lio/vertx/core/AsyncResult;)V (7 itf)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.core.Future.setHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
         2: .line 475
            aload 2 /* ret */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 2 // io.vertx.core.Promise ret
        end local 1 // java.lang.Object value
        end local 0 // io.vertx.core.Future this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lio/vertx/core/Future<TT;>;
            0    3     1  value  TT;
            1    3     2    ret  Lio/vertx/core/Promise<TT;>;
    Signature: (TT;)Lio/vertx/core/Future<TT;>;
    MethodParameters:
       Name  Flags
      value  

  public io.vertx.core.Future<T> otherwiseEmpty();
    descriptor: ()Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.Future this
         0: .line 490
            aload 0 /* this */
            invokespecial io.vertx.core.AsyncResult.otherwiseEmpty:()Lio/vertx/core/AsyncResult;
            checkcast io.vertx.core.Future
            areturn
        end local 0 // io.vertx.core.Future this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/Future<TT;>;
    Signature: ()Lio/vertx/core/Future<TT;>;

  public io.vertx.core.AsyncResult map(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lio/vertx/core/AsyncResult;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.lang.Object
            invokeinterface io.vertx.core.Future.map:(Ljava/lang/Object;)Lio/vertx/core/Future;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.AsyncResult map(java.util.function.Function);
    descriptor: (Ljava/util/function/Function;)Lio/vertx/core/AsyncResult;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.util.function.Function
            invokeinterface io.vertx.core.Future.map:(Ljava/util/function/Function;)Lio/vertx/core/Future;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void handle(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast io.vertx.core.AsyncResult
            invokeinterface io.vertx.core.Future.handle:(Lio/vertx/core/AsyncResult;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.AsyncResult otherwiseEmpty();
    descriptor: ()Lio/vertx/core/AsyncResult;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokeinterface io.vertx.core.Future.otherwiseEmpty:()Lio/vertx/core/Future;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.AsyncResult otherwise(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lio/vertx/core/AsyncResult;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.lang.Object
            invokeinterface io.vertx.core.Future.otherwise:(Ljava/lang/Object;)Lio/vertx/core/Future;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.AsyncResult otherwise(java.util.function.Function);
    descriptor: (Ljava/util/function/Function;)Lio/vertx/core/AsyncResult;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.util.function.Function
            invokeinterface io.vertx.core.Future.otherwise:(Ljava/util/function/Function;)Lio/vertx/core/Future;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.AsyncResult mapEmpty();
    descriptor: ()Lio/vertx/core/AsyncResult;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokeinterface io.vertx.core.Future.mapEmpty:()Lio/vertx/core/Future;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$0(io.vertx.core.Handler, io.vertx.core.Future, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/Future;Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=4, args_size=3
        start local 2 // io.vertx.core.AsyncResult ar
         0: .line 247
            aload 2 /* ar */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 8
         1: .line 249
            aload 0
            aload 2 /* ar */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 250
            goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 3 /* err */
        start local 3 // java.lang.Throwable err
         4: .line 251
            aload 1
            invokeinterface io.vertx.core.Future.isComplete:()Z
            ifeq 6
         5: .line 252
            aload 3 /* err */
            athrow
         6: .line 254
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 1
            aload 3 /* err */
            invokeinterface io.vertx.core.Future.fail:(Ljava/lang/Throwable;)V
        end local 3 // java.lang.Throwable err
         7: .line 256
            goto 9
         8: .line 257
      StackMap locals:
      StackMap stack:
            aload 1
            aload 2 /* ar */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokeinterface io.vertx.core.Future.fail:(Ljava/lang/Throwable;)V
         9: .line 259
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.core.AsyncResult ar
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     2    ar  Lio/vertx/core/AsyncResult<TT;>;
            4    7     3   err  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Throwable

  private static void lambda$1(java.util.function.Function, io.vertx.core.Promise, io.vertx.core.AsyncResult);
    descriptor: (Ljava/util/function/Function;Lio/vertx/core/Promise;Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=5, args_size=3
        start local 2 // io.vertx.core.AsyncResult ar
         0: .line 284
            aload 2 /* ar */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 8
         1: .line 287
            aload 0
            aload 2 /* ar */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.vertx.core.Future
            astore 3 /* apply */
        start local 3 // io.vertx.core.Future apply
         2: .line 288
            goto 6
        end local 3 // io.vertx.core.Future apply
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 4 /* e */
        start local 4 // java.lang.Throwable e
         4: .line 289
            aload 1
            aload 4 /* e */
            invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/Throwable;)V
         5: .line 290
            return
        end local 4 // java.lang.Throwable e
        start local 3 // io.vertx.core.Future apply
         6: .line 292
      StackMap locals: io.vertx.core.Future
      StackMap stack:
            aload 3 /* apply */
            aload 1
            invokeinterface io.vertx.core.Future.setHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
        end local 3 // io.vertx.core.Future apply
         7: .line 293
            goto 9
         8: .line 294
      StackMap locals:
      StackMap stack:
            aload 1
            aload 2 /* ar */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/Throwable;)V
         9: .line 296
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.core.AsyncResult ar
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     2     ar  Lio/vertx/core/AsyncResult<TT;>;
            2    3     3  apply  Lio/vertx/core/Future<TU;>;
            6    7     3  apply  Lio/vertx/core/Future<TU;>;
            4    6     4      e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Throwable

  private static void lambda$2(java.util.function.Function, io.vertx.core.Promise, io.vertx.core.AsyncResult);
    descriptor: (Ljava/util/function/Function;Lio/vertx/core/Promise;Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=5, args_size=3
        start local 2 // io.vertx.core.AsyncResult ar
         0: .line 319
            aload 2 /* ar */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 8
         1: .line 322
            aload 0
            aload 2 /* ar */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* mapped */
        start local 3 // java.lang.Object mapped
         2: .line 323
            goto 6
        end local 3 // java.lang.Object mapped
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 4 /* e */
        start local 4 // java.lang.Throwable e
         4: .line 324
            aload 1
            aload 4 /* e */
            invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/Throwable;)V
         5: .line 325
            return
        end local 4 // java.lang.Throwable e
        start local 3 // java.lang.Object mapped
         6: .line 327
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1
            aload 3 /* mapped */
            invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
        end local 3 // java.lang.Object mapped
         7: .line 328
            goto 9
         8: .line 329
      StackMap locals:
      StackMap stack:
            aload 1
            aload 2 /* ar */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/Throwable;)V
         9: .line 331
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.core.AsyncResult ar
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     2      ar  Lio/vertx/core/AsyncResult<TT;>;
            2    3     3  mapped  TU;
            6    7     3  mapped  TU;
            4    6     4       e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Throwable

  private static void lambda$3(io.vertx.core.Promise, java.lang.Object, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Promise;Ljava/lang/Object;Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 2 // io.vertx.core.AsyncResult ar
         0: .line 348
            aload 2 /* ar */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 3
         1: .line 349
            aload 0
            aload 1
            invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
         2: .line 350
            goto 4
         3: .line 351
      StackMap locals:
      StackMap stack:
            aload 0
            aload 2 /* ar */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/Throwable;)V
         4: .line 353
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.core.AsyncResult ar
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     2    ar  Lio/vertx/core/AsyncResult<TT;>;

  private void lambda$4(io.vertx.core.Promise, java.util.function.Function, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Promise;Ljava/util/function/Function;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=6, args_size=4
        start local 0 // io.vertx.core.Future this
        start local 3 // io.vertx.core.AsyncResult ar
         0: .line 405
            aload 3 /* ar */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 3
         1: .line 406
            aload 1
            aload 0 /* this */
            invokeinterface io.vertx.core.Future.result:()Ljava/lang/Object;
            invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
         2: .line 407
            goto 9
         3: .line 410
      StackMap locals:
      StackMap stack:
            aload 2
            aload 3 /* ar */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.vertx.core.Future
            astore 4 /* mapped */
        start local 4 // io.vertx.core.Future mapped
         4: .line 411
            goto 8
        end local 4 // io.vertx.core.Future mapped
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: astore 5 /* e */
        start local 5 // java.lang.Throwable e
         6: .line 412
            aload 1
            aload 5 /* e */
            invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/Throwable;)V
         7: .line 413
            return
        end local 5 // java.lang.Throwable e
        start local 4 // io.vertx.core.Future mapped
         8: .line 415
      StackMap locals: io.vertx.core.Future
      StackMap stack:
            aload 4 /* mapped */
            aload 1
            invokeinterface io.vertx.core.Future.setHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
        end local 4 // io.vertx.core.Future mapped
         9: .line 417
      StackMap locals:
      StackMap stack:
            return
        end local 3 // io.vertx.core.AsyncResult ar
        end local 0 // io.vertx.core.Future this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lio/vertx/core/Future<TT;>;
            0   10     3      ar  Lio/vertx/core/AsyncResult<TT;>;
            4    5     4  mapped  Lio/vertx/core/Future<TT;>;
            8    9     4  mapped  Lio/vertx/core/Future<TT;>;
            6    8     5       e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.Throwable

  private void lambda$5(io.vertx.core.Promise, java.util.function.Function, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Promise;Ljava/util/function/Function;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=6, args_size=4
        start local 0 // io.vertx.core.Future this
        start local 3 // io.vertx.core.AsyncResult ar
         0: .line 440
            aload 3 /* ar */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 3
         1: .line 441
            aload 1
            aload 0 /* this */
            invokeinterface io.vertx.core.Future.result:()Ljava/lang/Object;
            invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
         2: .line 442
            goto 9
         3: .line 445
      StackMap locals:
      StackMap stack:
            aload 2
            aload 3 /* ar */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* value */
        start local 4 // java.lang.Object value
         4: .line 446
            goto 8
        end local 4 // java.lang.Object value
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: astore 5 /* e */
        start local 5 // java.lang.Throwable e
         6: .line 447
            aload 1
            aload 5 /* e */
            invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/Throwable;)V
         7: .line 448
            return
        end local 5 // java.lang.Throwable e
        start local 4 // java.lang.Object value
         8: .line 450
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1
            aload 4 /* value */
            invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
        end local 4 // java.lang.Object value
         9: .line 452
      StackMap locals:
      StackMap stack:
            return
        end local 3 // io.vertx.core.AsyncResult ar
        end local 0 // io.vertx.core.Future this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lio/vertx/core/Future<TT;>;
            0   10     3     ar  Lio/vertx/core/AsyncResult<TT;>;
            4    5     4  value  TT;
            8    9     4  value  TT;
            6    8     5      e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.Throwable

  private void lambda$6(io.vertx.core.Promise, java.lang.Object, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Promise;Ljava/lang/Object;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // io.vertx.core.Future this
        start local 3 // io.vertx.core.AsyncResult ar
         0: .line 469
            aload 3 /* ar */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 3
         1: .line 470
            aload 1
            aload 0 /* this */
            invokeinterface io.vertx.core.Future.result:()Ljava/lang/Object;
            invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
         2: .line 471
            goto 4
         3: .line 472
      StackMap locals:
      StackMap stack:
            aload 1
            aload 2
            invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
         4: .line 474
      StackMap locals:
      StackMap stack:
            return
        end local 3 // io.vertx.core.AsyncResult ar
        end local 0 // io.vertx.core.Future this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/vertx/core/Future<TT;>;
            0    5     3    ar  Lio/vertx/core/AsyncResult<TT;>;
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Lio/vertx/core/AsyncResult<TT;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;
SourceFile: "Future.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.VertxGen()