public class io.vertx.amqp.impl.AmqpReceiverImpl implements io.vertx.amqp.AmqpReceiver
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.amqp.impl.AmqpReceiverImpl
  super_class: java.lang.Object
{
  private static final io.vertx.core.logging.Logger LOGGER;
    descriptor: Lio/vertx/core/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final io.vertx.proton.ProtonReceiver receiver;
    descriptor: Lio/vertx/proton/ProtonReceiver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.vertx.amqp.impl.AmqpConnectionImpl connection;
    descriptor: Lio/vertx/amqp/impl/AmqpConnectionImpl;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Queue<io.vertx.amqp.impl.AmqpMessageImpl> buffered;
    descriptor: Ljava/util/Queue;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Queue<Lio/vertx/amqp/impl/AmqpMessageImpl;>;

  private final boolean durable;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean autoAck;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.lang.String address;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private io.vertx.core.Handler<io.vertx.amqp.AmqpMessage> handler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/Handler<Lio/vertx/amqp/AmqpMessage;>;

  private long demand;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private boolean closed;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private io.vertx.core.Handler<java.lang.Void> endHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/Handler<Ljava/lang/Void;>;

  private io.vertx.core.Handler<java.lang.Throwable> exceptionHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/Handler<Ljava/lang/Throwable;>;

  private boolean initialCreditGiven;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private int initialCredit;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 36
            ldc Lio/vertx/amqp/impl/AmqpReceiverImpl;
            invokestatic io.vertx.core.logging.LoggerFactory.getLogger:(Ljava/lang/Class;)Lio/vertx/core/logging/Logger;
            putstatic io.vertx.amqp.impl.AmqpReceiverImpl.LOGGER:Lio/vertx/core/logging/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(java.lang.String, io.vertx.amqp.impl.AmqpConnectionImpl, io.vertx.amqp.AmqpReceiverOptions, io.vertx.proton.ProtonReceiver, io.vertx.core.Handler<io.vertx.amqp.AmqpMessage>, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.amqp.AmqpReceiver>>);
    descriptor: (Ljava/lang/String;Lio/vertx/amqp/impl/AmqpConnectionImpl;Lio/vertx/amqp/AmqpReceiverOptions;Lio/vertx/proton/ProtonReceiver;Lio/vertx/core/Handler;Lio/vertx/core/Handler;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=8, args_size=7
        start local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
        start local 1 // java.lang.String address
        start local 2 // io.vertx.amqp.impl.AmqpConnectionImpl connection
        start local 3 // io.vertx.amqp.AmqpReceiverOptions options
        start local 4 // io.vertx.proton.ProtonReceiver receiver
        start local 5 // io.vertx.core.Handler handler
        start local 6 // io.vertx.core.Handler completionHandler
         0: .line 66
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 39
            aload 0 /* this */
            new java.util.ArrayDeque
            dup
            invokespecial java.util.ArrayDeque.<init>:()V
            putfield io.vertx.amqp.impl.AmqpReceiverImpl.buffered:Ljava/util/Queue;
         2: .line 48
            aload 0 /* this */
            ldc 9223372036854775807
            putfield io.vertx.amqp.impl.AmqpReceiverImpl.demand:J
         3: .line 53
            aload 0 /* this */
            sipush 1000
            putfield io.vertx.amqp.impl.AmqpReceiverImpl.initialCredit:I
         4: .line 72
            aload 0 /* this */
            aload 1 /* address */
            putfield io.vertx.amqp.impl.AmqpReceiverImpl.address:Ljava/lang/String;
         5: .line 73
            aload 0 /* this */
            aload 4 /* receiver */
            putfield io.vertx.amqp.impl.AmqpReceiverImpl.receiver:Lio/vertx/proton/ProtonReceiver;
         6: .line 74
            aload 0 /* this */
            aload 2 /* connection */
            putfield io.vertx.amqp.impl.AmqpReceiverImpl.connection:Lio/vertx/amqp/impl/AmqpConnectionImpl;
         7: .line 75
            aload 0 /* this */
            aload 5 /* handler */
            putfield io.vertx.amqp.impl.AmqpReceiverImpl.handler:Lio/vertx/core/Handler;
         8: .line 76
            aload 0 /* this */
            aload 3 /* options */
            invokevirtual io.vertx.amqp.AmqpReceiverOptions.isDurable:()Z
            putfield io.vertx.amqp.impl.AmqpReceiverImpl.durable:Z
         9: .line 77
            aload 0 /* this */
            aload 3 /* options */
            invokevirtual io.vertx.amqp.AmqpReceiverOptions.isAutoAcknowledgement:()Z
            putfield io.vertx.amqp.impl.AmqpReceiverImpl.autoAck:Z
        10: .line 78
            aload 3 /* options */
            invokevirtual io.vertx.amqp.AmqpReceiverOptions.getMaxBufferedMessages:()I
            istore 7 /* maxBufferedMessages */
        start local 7 // int maxBufferedMessages
        11: .line 79
            iload 7 /* maxBufferedMessages */
            ifle 13
        12: .line 80
            aload 0 /* this */
            iload 7 /* maxBufferedMessages */
            putfield io.vertx.amqp.impl.AmqpReceiverImpl.initialCredit:I
        13: .line 85
      StackMap locals: io.vertx.amqp.impl.AmqpReceiverImpl java.lang.String io.vertx.amqp.impl.AmqpConnectionImpl io.vertx.amqp.AmqpReceiverOptions io.vertx.proton.ProtonReceiver io.vertx.core.Handler io.vertx.core.Handler int
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.receiver:Lio/vertx/proton/ProtonReceiver;
        14: .line 86
            iconst_0
            invokeinterface io.vertx.proton.ProtonReceiver.setAutoAccept:(Z)Lio/vertx/proton/ProtonReceiver;
        15: .line 87
            iconst_0
            invokeinterface io.vertx.proton.ProtonReceiver.setPrefetch:(I)Lio/vertx/proton/ProtonReceiver;
            pop
        16: .line 89
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.receiver:Lio/vertx/proton/ProtonReceiver;
            aload 0 /* this */
            invokedynamic handle(Lio/vertx/amqp/impl/AmqpReceiverImpl;)Lio/vertx/proton/ProtonMessageHandler;
              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:
                  (Lio/vertx/proton/ProtonDelivery;Lorg/apache/qpid/proton/message/Message;)V
                  io/vertx/amqp/impl/AmqpReceiverImpl.lambda$0(Lio/vertx/proton/ProtonDelivery;Lorg/apache/qpid/proton/message/Message;)V (7)
                  (Lio/vertx/proton/ProtonDelivery;Lorg/apache/qpid/proton/message/Message;)V
            invokeinterface io.vertx.proton.ProtonReceiver.handler:(Lio/vertx/proton/ProtonMessageHandler;)Lio/vertx/proton/ProtonReceiver;
            pop
        17: .line 90
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.handler:Lio/vertx/core/Handler;
            ifnull 19
        18: .line 91
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.handler:Lio/vertx/core/Handler;
            invokevirtual io.vertx.amqp.impl.AmqpReceiverImpl.handler:(Lio/vertx/core/Handler;)Lio/vertx/amqp/AmqpReceiver;
            pop
        19: .line 94
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.receiver:Lio/vertx/proton/ProtonReceiver;
            aload 0 /* this */
            aload 1 /* address */
            aload 4 /* receiver */
            invokedynamic handle(Lio/vertx/amqp/impl/AmqpReceiverImpl;Ljava/lang/String;Lio/vertx/proton/ProtonReceiver;)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/amqp/impl/AmqpReceiverImpl.lambda$1(Ljava/lang/String;Lio/vertx/proton/ProtonReceiver;Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.proton.ProtonReceiver.closeHandler:(Lio/vertx/core/Handler;)Lio/vertx/proton/ProtonLink;
            checkcast io.vertx.proton.ProtonReceiver
        20: .line 97
            aload 0 /* this */
            aload 1 /* address */
            aload 4 /* receiver */
            invokedynamic handle(Lio/vertx/amqp/impl/AmqpReceiverImpl;Ljava/lang/String;Lio/vertx/proton/ProtonReceiver;)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/amqp/impl/AmqpReceiverImpl.lambda$2(Ljava/lang/String;Lio/vertx/proton/ProtonReceiver;Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.proton.ProtonReceiver.detachHandler:(Lio/vertx/core/Handler;)Lio/vertx/proton/ProtonLink;
            pop
        21: .line 101
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.receiver:Lio/vertx/proton/ProtonReceiver;
        22: .line 102
            aload 0 /* this */
            aload 6 /* completionHandler */
            invokedynamic handle(Lio/vertx/amqp/impl/AmqpReceiverImpl;Lio/vertx/core/Handler;)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/amqp/impl/AmqpReceiverImpl.lambda$3(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.proton.ProtonReceiver.openHandler:(Lio/vertx/core/Handler;)Lio/vertx/proton/ProtonLink;
            pop
        23: .line 116
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.receiver:Lio/vertx/proton/ProtonReceiver;
            invokeinterface io.vertx.proton.ProtonReceiver.open:()Lio/vertx/proton/ProtonLink;
            pop
        24: .line 117
            return
        end local 7 // int maxBufferedMessages
        end local 6 // io.vertx.core.Handler completionHandler
        end local 5 // io.vertx.core.Handler handler
        end local 4 // io.vertx.proton.ProtonReceiver receiver
        end local 3 // io.vertx.amqp.AmqpReceiverOptions options
        end local 2 // io.vertx.amqp.impl.AmqpConnectionImpl connection
        end local 1 // java.lang.String address
        end local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   25     0                 this  Lio/vertx/amqp/impl/AmqpReceiverImpl;
            0   25     1              address  Ljava/lang/String;
            0   25     2           connection  Lio/vertx/amqp/impl/AmqpConnectionImpl;
            0   25     3              options  Lio/vertx/amqp/AmqpReceiverOptions;
            0   25     4             receiver  Lio/vertx/proton/ProtonReceiver;
            0   25     5              handler  Lio/vertx/core/Handler<Lio/vertx/amqp/AmqpMessage;>;
            0   25     6    completionHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/amqp/AmqpReceiver;>;>;
           11   25     7  maxBufferedMessages  I
    Signature: (Ljava/lang/String;Lio/vertx/amqp/impl/AmqpConnectionImpl;Lio/vertx/amqp/AmqpReceiverOptions;Lio/vertx/proton/ProtonReceiver;Lio/vertx/core/Handler<Lio/vertx/amqp/AmqpMessage;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/amqp/AmqpReceiver;>;>;)V
    MethodParameters:
                   Name  Flags
      address            
      connection         
      options            
      receiver           
      handler            
      completionHandler  

  private void onClose(java.lang.String, io.vertx.proton.ProtonReceiver, io.vertx.core.AsyncResult<io.vertx.proton.ProtonReceiver>, );
    descriptor: (Ljava/lang/String;Lio/vertx/proton/ProtonReceiver;Lio/vertx/core/AsyncResult;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=5
        start local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
        start local 1 // java.lang.String address
        start local 2 // io.vertx.proton.ProtonReceiver receiver
        start local 3 // io.vertx.core.AsyncResult res
        start local 4 // boolean detach
         0: .line 120
            aconst_null
            astore 5 /* endh */
        start local 5 // io.vertx.core.Handler endh
         1: .line 121
            aconst_null
            astore 6 /* exh */
        start local 6 // io.vertx.core.Handler exh
         2: .line 122
            iconst_0
            istore 7 /* closeReceiver */
        start local 7 // boolean closeReceiver
         3: .line 124
            aload 0 /* this */
            dup
            astore 8
            monitorenter
         4: .line 125
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.closed:Z
            ifne 7
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.endHandler:Lio/vertx/core/Handler;
            ifnull 7
         5: .line 126
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.endHandler:Lio/vertx/core/Handler;
            astore 5 /* endh */
         6: .line 127
            goto 9
      StackMap locals: io.vertx.amqp.impl.AmqpReceiverImpl java.lang.String io.vertx.proton.ProtonReceiver io.vertx.core.AsyncResult int io.vertx.core.Handler io.vertx.core.Handler int io.vertx.amqp.impl.AmqpReceiverImpl
      StackMap stack:
         7: aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.closed:Z
            ifne 9
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.exceptionHandler:Lio/vertx/core/Handler;
            ifnull 9
         8: .line 128
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.exceptionHandler:Lio/vertx/core/Handler;
            astore 6 /* exh */
         9: .line 131
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.closed:Z
            ifne 12
        10: .line 132
            aload 0 /* this */
            iconst_1
            putfield io.vertx.amqp.impl.AmqpReceiverImpl.closed:Z
        11: .line 133
            iconst_1
            istore 7 /* closeReceiver */
        12: .line 124
      StackMap locals:
      StackMap stack:
            aload 8
            monitorexit
        13: goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: aload 8
            monitorexit
        15: athrow
        16: .line 137
      StackMap locals:
      StackMap stack:
            aload 5 /* endh */
            ifnull 19
        17: .line 138
            aload 5 /* endh */
            aconst_null
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        18: .line 139
            goto 29
      StackMap locals:
      StackMap stack:
        19: aload 6 /* exh */
            ifnull 25
        20: .line 140
            aload 3 /* res */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 23
        21: .line 141
            aload 6 /* exh */
            new io.vertx.core.VertxException
            dup
            ldc "Consumer closed remotely"
            invokespecial io.vertx.core.VertxException.<init>:(Ljava/lang/String;)V
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        22: .line 142
            goto 29
        23: .line 143
      StackMap locals:
      StackMap stack:
            aload 6 /* exh */
            new io.vertx.core.VertxException
            dup
            ldc "Consumer closed remotely with error"
            aload 3 /* res */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokespecial io.vertx.core.VertxException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        24: .line 145
            goto 29
        25: .line 146
      StackMap locals:
      StackMap stack:
            aload 3 /* res */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 28
        26: .line 147
            getstatic io.vertx.amqp.impl.AmqpReceiverImpl.LOGGER:Lio/vertx/core/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Consumer for address "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* address */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " unexpectedly closed remotely"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual io.vertx.core.logging.Logger.warn:(Ljava/lang/Object;)V
        27: .line 148
            goto 29
        28: .line 149
      StackMap locals:
      StackMap stack:
            getstatic io.vertx.amqp.impl.AmqpReceiverImpl.LOGGER:Lio/vertx/core/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Consumer for address "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* address */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " unexpectedly closed remotely with error"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* res */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokevirtual io.vertx.core.logging.Logger.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        29: .line 153
      StackMap locals:
      StackMap stack:
            iload 7 /* closeReceiver */
            ifeq 34
        30: .line 154
            iload 4 /* detach */
            ifeq 33
        31: .line 155
            aload 2 /* receiver */
            invokeinterface io.vertx.proton.ProtonReceiver.detach:()Lio/vertx/proton/ProtonLink;
            pop
        32: .line 156
            goto 34
        33: .line 157
      StackMap locals:
      StackMap stack:
            aload 2 /* receiver */
            invokeinterface io.vertx.proton.ProtonReceiver.close:()Lio/vertx/proton/ProtonLink;
            pop
        34: .line 160
      StackMap locals:
      StackMap stack:
            return
        end local 7 // boolean closeReceiver
        end local 6 // io.vertx.core.Handler exh
        end local 5 // io.vertx.core.Handler endh
        end local 4 // boolean detach
        end local 3 // io.vertx.core.AsyncResult res
        end local 2 // io.vertx.proton.ProtonReceiver receiver
        end local 1 // java.lang.String address
        end local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   35     0           this  Lio/vertx/amqp/impl/AmqpReceiverImpl;
            0   35     1        address  Ljava/lang/String;
            0   35     2       receiver  Lio/vertx/proton/ProtonReceiver;
            0   35     3            res  Lio/vertx/core/AsyncResult<Lio/vertx/proton/ProtonReceiver;>;
            0   35     4         detach  Z
            1   35     5           endh  Lio/vertx/core/Handler<Ljava/lang/Void;>;
            2   35     6            exh  Lio/vertx/core/Handler<Ljava/lang/Throwable;>;
            3   35     7  closeReceiver  Z
      Exception table:
        from    to  target  type
           4    13      14  any
          14    15      14  any
    Signature: (Ljava/lang/String;Lio/vertx/proton/ProtonReceiver;Lio/vertx/core/AsyncResult<Lio/vertx/proton/ProtonReceiver;>;Z)V
    MethodParameters:
          Name  Flags
      address   
      receiver  
      res       
      detach    

  private void handleMessage(io.vertx.amqp.impl.AmqpMessageImpl);
    descriptor: (Lio/vertx/amqp/impl/AmqpMessageImpl;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
        start local 1 // io.vertx.amqp.impl.AmqpMessageImpl message
         0: .line 163
            iconst_0
            istore 2 /* schedule */
        start local 2 // boolean schedule
         1: .line 164
            iconst_0
            istore 3 /* dispatchNow */
        start local 3 // boolean dispatchNow
         2: .line 166
            aload 0 /* this */
            dup
            astore 4
            monitorenter
         3: .line 167
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.handler:Lio/vertx/core/Handler;
            ifnull 8
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.demand:J
            lconst_0
            lcmp
            ifle 8
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.buffered:Ljava/util/Queue;
            invokeinterface java.util.Queue.isEmpty:()Z
            ifeq 8
         4: .line 168
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.demand:J
            ldc 9223372036854775807
            lcmp
            ifeq 6
         5: .line 169
            aload 0 /* this */
            dup
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.demand:J
            lconst_1
            lsub
            putfield io.vertx.amqp.impl.AmqpReceiverImpl.demand:J
         6: .line 171
      StackMap locals: int int io.vertx.amqp.impl.AmqpReceiverImpl
      StackMap stack:
            iconst_1
            istore 3 /* dispatchNow */
         7: .line 172
            goto 16
      StackMap locals:
      StackMap stack:
         8: aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.handler:Lio/vertx/core/Handler;
            ifnull 15
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.demand:J
            lconst_0
            lcmp
            ifle 15
         9: .line 174
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.buffered:Ljava/util/Queue;
            aload 1 /* message */
            invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
            pop
        10: .line 175
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.buffered:Ljava/util/Queue;
            invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
            checkcast io.vertx.amqp.impl.AmqpMessageImpl
            astore 1 /* message */
        11: .line 176
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.demand:J
            ldc 9223372036854775807
            lcmp
            ifeq 13
        12: .line 177
            aload 0 /* this */
            dup
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.demand:J
            lconst_1
            lsub
            putfield io.vertx.amqp.impl.AmqpReceiverImpl.demand:J
        13: .line 181
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* schedule */
        14: .line 182
            goto 16
        15: .line 184
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.buffered:Ljava/util/Queue;
            aload 1 /* message */
            invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
            pop
        16: .line 166
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
        17: goto 20
      StackMap locals:
      StackMap stack: java.lang.Throwable
        18: aload 4
            monitorexit
        19: athrow
        20: .line 189
      StackMap locals:
      StackMap stack:
            iload 2 /* schedule */
            ifeq 23
        21: .line 190
            aload 0 /* this */
            invokevirtual io.vertx.amqp.impl.AmqpReceiverImpl.scheduleBufferedMessageDelivery:()V
        22: .line 191
            goto 25
      StackMap locals:
      StackMap stack:
        23: iload 3 /* dispatchNow */
            ifeq 25
        24: .line 192
            aload 0 /* this */
            aload 1 /* message */
            invokevirtual io.vertx.amqp.impl.AmqpReceiverImpl.deliverMessageToHandler:(Lio/vertx/amqp/impl/AmqpMessageImpl;)V
        25: .line 194
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean dispatchNow
        end local 2 // boolean schedule
        end local 1 // io.vertx.amqp.impl.AmqpMessageImpl message
        end local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   26     0         this  Lio/vertx/amqp/impl/AmqpReceiverImpl;
            0   26     1      message  Lio/vertx/amqp/impl/AmqpMessageImpl;
            1   26     2     schedule  Z
            2   26     3  dispatchNow  Z
      Exception table:
        from    to  target  type
           3    17      18  any
          18    19      18  any
    MethodParameters:
         Name  Flags
      message  

  public synchronized io.vertx.amqp.AmqpReceiver exceptionHandler(io.vertx.core.Handler<java.lang.Throwable>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/amqp/AmqpReceiver;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
        start local 1 // io.vertx.core.Handler handler
         0: .line 198
            aload 0 /* this */
            aload 1 /* handler */
            putfield io.vertx.amqp.impl.AmqpReceiverImpl.exceptionHandler:Lio/vertx/core/Handler;
         1: .line 199
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/amqp/impl/AmqpReceiverImpl;
            0    2     1  handler  Lio/vertx/core/Handler<Ljava/lang/Throwable;>;
    Signature: (Lio/vertx/core/Handler<Ljava/lang/Throwable;>;)Lio/vertx/amqp/AmqpReceiver;
    MethodParameters:
         Name  Flags
      handler  

  public io.vertx.amqp.AmqpReceiver handler(io.vertx.core.Handler<io.vertx.amqp.AmqpMessage>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/amqp/AmqpReceiver;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
        start local 1 // io.vertx.core.Handler handler
         0: .line 204
            iconst_0
            istore 2 /* creditToFlow */
        start local 2 // int creditToFlow
         1: .line 205
            iconst_0
            istore 3 /* schedule */
        start local 3 // boolean schedule
         2: .line 207
            aload 0 /* this */
            dup
            astore 4
            monitorenter
         3: .line 208
            aload 0 /* this */
            aload 1 /* handler */
            putfield io.vertx.amqp.impl.AmqpReceiverImpl.handler:Lio/vertx/core/Handler;
         4: .line 209
            aload 1 /* handler */
            ifnull 9
         5: .line 210
            iconst_1
            istore 3 /* schedule */
         6: .line 213
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.initialCreditGiven:Z
            ifne 9
         7: .line 214
            aload 0 /* this */
            iconst_1
            putfield io.vertx.amqp.impl.AmqpReceiverImpl.initialCreditGiven:Z
         8: .line 215
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.initialCredit:I
            istore 2 /* creditToFlow */
         9: .line 207
      StackMap locals: int int io.vertx.amqp.impl.AmqpReceiverImpl
      StackMap stack:
            aload 4
            monitorexit
        10: goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: aload 4
            monitorexit
        12: athrow
        13: .line 220
      StackMap locals:
      StackMap stack:
            iload 2 /* creditToFlow */
            ifle 16
        14: .line 221
            iload 2 /* creditToFlow */
            istore 4 /* c */
        start local 4 // int c
        15: .line 222
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.connection:Lio/vertx/amqp/impl/AmqpConnectionImpl;
            aload 0 /* this */
            iload 4 /* c */
            invokedynamic handle(Lio/vertx/amqp/impl/AmqpReceiverImpl;I)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/amqp/impl/AmqpReceiverImpl.lambda$4(ILjava/lang/Void;)V (7)
                  (Ljava/lang/Void;)V
            invokevirtual io.vertx.amqp.impl.AmqpConnectionImpl.runWithTrampoline:(Lio/vertx/core/Handler;)V
        end local 4 // int c
        16: .line 225
      StackMap locals:
      StackMap stack:
            iload 3 /* schedule */
            ifeq 18
        17: .line 226
            aload 0 /* this */
            invokevirtual io.vertx.amqp.impl.AmqpReceiverImpl.scheduleBufferedMessageDelivery:()V
        18: .line 229
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 3 // boolean schedule
        end local 2 // int creditToFlow
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   19     0          this  Lio/vertx/amqp/impl/AmqpReceiverImpl;
            0   19     1       handler  Lio/vertx/core/Handler<Lio/vertx/amqp/AmqpMessage;>;
            1   19     2  creditToFlow  I
            2   19     3      schedule  Z
           15   16     4             c  I
      Exception table:
        from    to  target  type
           3    10      11  any
          11    12      11  any
    Signature: (Lio/vertx/core/Handler<Lio/vertx/amqp/AmqpMessage;>;)Lio/vertx/amqp/AmqpReceiver;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        io.vertx.codegen.annotations.Nullable()
    MethodParameters:
         Name  Flags
      handler  

  public synchronized io.vertx.amqp.impl.AmqpReceiverImpl pause();
    descriptor: ()Lio/vertx/amqp/impl/AmqpReceiverImpl;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
         0: .line 234
            aload 0 /* this */
            lconst_0
            putfield io.vertx.amqp.impl.AmqpReceiverImpl.demand:J
         1: .line 235
            aload 0 /* this */
            areturn
        end local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/amqp/impl/AmqpReceiverImpl;

  public synchronized io.vertx.amqp.impl.AmqpReceiverImpl fetch(long);
    descriptor: (J)Lio/vertx/amqp/impl/AmqpReceiverImpl;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
        start local 1 // long amount
         0: .line 240
            lload 1 /* amount */
            lconst_0
            lcmp
            ifle 5
         1: .line 241
            aload 0 /* this */
            dup
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.demand:J
            lload 1 /* amount */
            ladd
            putfield io.vertx.amqp.impl.AmqpReceiverImpl.demand:J
         2: .line 242
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.demand:J
            lconst_0
            lcmp
            ifge 4
         3: .line 243
            aload 0 /* this */
            ldc 9223372036854775807
            putfield io.vertx.amqp.impl.AmqpReceiverImpl.demand:J
         4: .line 245
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.vertx.amqp.impl.AmqpReceiverImpl.scheduleBufferedMessageDelivery:()V
         5: .line 247
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // long amount
        end local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lio/vertx/amqp/impl/AmqpReceiverImpl;
            0    6     1  amount  J
    MethodParameters:
        Name  Flags
      amount  

  public synchronized io.vertx.amqp.impl.AmqpReceiverImpl resume();
    descriptor: ()Lio/vertx/amqp/impl/AmqpReceiverImpl;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
         0: .line 252
            aload 0 /* this */
            ldc 9223372036854775807
            invokevirtual io.vertx.amqp.impl.AmqpReceiverImpl.fetch:(J)Lio/vertx/amqp/impl/AmqpReceiverImpl;
            areturn
        end local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/amqp/impl/AmqpReceiverImpl;

  public synchronized io.vertx.amqp.impl.AmqpReceiverImpl endHandler(io.vertx.core.Handler<java.lang.Void>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/amqp/impl/AmqpReceiverImpl;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
        start local 1 // io.vertx.core.Handler endHandler
         0: .line 257
            aload 0 /* this */
            aload 1 /* endHandler */
            putfield io.vertx.amqp.impl.AmqpReceiverImpl.endHandler:Lio/vertx/core/Handler;
         1: .line 258
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.Handler endHandler
        end local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lio/vertx/amqp/impl/AmqpReceiverImpl;
            0    2     1  endHandler  Lio/vertx/core/Handler<Ljava/lang/Void;>;
    Signature: (Lio/vertx/core/Handler<Ljava/lang/Void;>;)Lio/vertx/amqp/impl/AmqpReceiverImpl;
    MethodParameters:
            Name  Flags
      endHandler  

  private void deliverMessageToHandler(io.vertx.amqp.impl.AmqpMessageImpl);
    descriptor: (Lio/vertx/amqp/impl/AmqpMessageImpl;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
        start local 1 // io.vertx.amqp.impl.AmqpMessageImpl message
         0: .line 263
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         1: .line 264
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.handler:Lio/vertx/core/Handler;
            astore 2 /* h */
        start local 2 // io.vertx.core.Handler h
         2: .line 263
            aload 3
            monitorexit
         3: goto 6
        end local 2 // io.vertx.core.Handler h
      StackMap locals: io.vertx.amqp.impl.AmqpReceiverImpl io.vertx.amqp.impl.AmqpMessageImpl top io.vertx.amqp.impl.AmqpReceiverImpl
      StackMap stack: java.lang.Throwable
         4: aload 3
            monitorexit
         5: athrow
        start local 2 // io.vertx.core.Handler h
         6: .line 268
      StackMap locals: io.vertx.amqp.impl.AmqpReceiverImpl io.vertx.amqp.impl.AmqpMessageImpl io.vertx.core.Handler
      StackMap stack:
            aload 2 /* h */
            aload 1 /* message */
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         7: .line 269
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.autoAck:Z
            ifeq 14
         8: .line 270
            aload 1 /* message */
            invokevirtual io.vertx.amqp.impl.AmqpMessageImpl.accepted:()Lio/vertx/amqp/AmqpMessage;
            pop
         9: .line 272
            goto 14
      StackMap locals:
      StackMap stack: java.lang.Exception
        10: astore 3 /* e */
        start local 3 // java.lang.Exception e
        11: .line 273
            getstatic io.vertx.amqp.impl.AmqpReceiverImpl.LOGGER:Lio/vertx/core/logging/Logger;
            ldc "Unable to dispatch the AMQP message"
            aload 3 /* e */
            invokevirtual io.vertx.core.logging.Logger.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        12: .line 274
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.autoAck:Z
            ifeq 14
        13: .line 275
            aload 1 /* message */
            invokevirtual io.vertx.amqp.impl.AmqpMessageImpl.rejected:()Lio/vertx/amqp/AmqpMessage;
            pop
        end local 3 // java.lang.Exception e
        14: .line 279
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.receiver:Lio/vertx/proton/ProtonReceiver;
            iconst_1
            invokeinterface io.vertx.proton.ProtonReceiver.flow:(I)Lio/vertx/proton/ProtonReceiver;
            pop
        15: .line 280
            return
        end local 2 // io.vertx.core.Handler h
        end local 1 // io.vertx.amqp.impl.AmqpMessageImpl message
        end local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lio/vertx/amqp/impl/AmqpReceiverImpl;
            0   16     1  message  Lio/vertx/amqp/impl/AmqpMessageImpl;
            2    4     2        h  Lio/vertx/core/Handler<Lio/vertx/amqp/AmqpMessage;>;
            6   16     2        h  Lio/vertx/core/Handler<Lio/vertx/amqp/AmqpMessage;>;
           11   14     3        e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
           6     9      10  Class java.lang.Exception
    MethodParameters:
         Name  Flags
      message  

  private void scheduleBufferedMessageDelivery();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
         0: .line 285
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         1: .line 286
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.buffered:Ljava/util/Queue;
            invokeinterface java.util.Queue.isEmpty:()Z
            ifne 2
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.demand:J
            lconst_0
            lcmp
            ifle 2
            iconst_1
            goto 3
      StackMap locals: io.vertx.amqp.impl.AmqpReceiverImpl top io.vertx.amqp.impl.AmqpReceiverImpl
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 1 /* schedule */
        start local 1 // boolean schedule
         4: .line 285
            aload 2
            monitorexit
         5: goto 8
        end local 1 // boolean schedule
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: aload 2
            monitorexit
         7: athrow
        start local 1 // boolean schedule
         8: .line 289
      StackMap locals: io.vertx.amqp.impl.AmqpReceiverImpl int
      StackMap stack:
            iload 1 /* schedule */
            ifeq 10
         9: .line 290
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.connection:Lio/vertx/amqp/impl/AmqpConnectionImpl;
            aload 0 /* this */
            invokedynamic handle(Lio/vertx/amqp/impl/AmqpReceiverImpl;)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/amqp/impl/AmqpReceiverImpl.lambda$5(Ljava/lang/Void;)V (7)
                  (Ljava/lang/Void;)V
            invokevirtual io.vertx.amqp.impl.AmqpConnectionImpl.runOnContext:(Lio/vertx/core/Handler;)V
        10: .line 311
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean schedule
        end local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lio/vertx/amqp/impl/AmqpReceiverImpl;
            4    6     1  schedule  Z
            8   11     1  schedule  Z
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any

  public synchronized java.lang.String address();
    descriptor: ()Ljava/lang/String;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
         0: .line 315
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.address:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/amqp/impl/AmqpReceiverImpl;

  public io.vertx.amqp.AmqpConnection connection();
    descriptor: ()Lio/vertx/amqp/AmqpConnection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
         0: .line 320
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.connection:Lio/vertx/amqp/impl/AmqpConnectionImpl;
            areturn
        end local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/amqp/impl/AmqpReceiverImpl;

  public void close(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
        start local 1 // io.vertx.core.Handler handler
         0: .line 326
            aload 1 /* handler */
            ifnonnull 3
         1: .line 327
            invokedynamic handle()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/amqp/impl/AmqpReceiverImpl.lambda$6(Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            astore 2 /* actualHandler */
        start local 2 // io.vertx.core.Handler actualHandler
         2: .line 328
            goto 4
        end local 2 // io.vertx.core.Handler actualHandler
         3: .line 329
      StackMap locals:
      StackMap stack:
            aload 1 /* handler */
            astore 2 /* actualHandler */
        start local 2 // io.vertx.core.Handler actualHandler
         4: .line 332
      StackMap locals: io.vertx.core.Handler
      StackMap stack:
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         5: .line 333
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.closed:Z
            ifeq 9
         6: .line 334
            aload 2 /* actualHandler */
            invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         7: .line 335
            aload 3
            monitorexit
         8: return
         9: .line 337
      StackMap locals: io.vertx.amqp.impl.AmqpReceiverImpl
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield io.vertx.amqp.impl.AmqpReceiverImpl.closed:Z
        10: .line 332
            aload 3
            monitorexit
        11: goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: aload 3
            monitorexit
        13: athrow
        14: .line 340
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.connection:Lio/vertx/amqp/impl/AmqpConnectionImpl;
            aload 0 /* this */
            invokevirtual io.vertx.amqp.impl.AmqpConnectionImpl.unregister:(Lio/vertx/amqp/AmqpReceiver;)V
        15: .line 341
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.connection:Lio/vertx/amqp/impl/AmqpConnectionImpl;
            aload 0 /* this */
            aload 2 /* actualHandler */
            invokedynamic handle(Lio/vertx/amqp/impl/AmqpReceiverImpl;Lio/vertx/core/Handler;)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/amqp/impl/AmqpReceiverImpl.lambda$7(Lio/vertx/core/Handler;Ljava/lang/Void;)V (7)
                  (Ljava/lang/Void;)V
            invokevirtual io.vertx.amqp.impl.AmqpConnectionImpl.runWithTrampoline:(Lio/vertx/core/Handler;)V
        16: .line 361
            return
        end local 2 // io.vertx.core.Handler actualHandler
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   17     0           this  Lio/vertx/amqp/impl/AmqpReceiverImpl;
            0   17     1        handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
            2    3     2  actualHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
            4   17     2  actualHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
      Exception table:
        from    to  target  type
           5     8      12  any
           9    11      12  any
          12    13      12  any
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
         Name  Flags
      handler  

  private synchronized boolean isDurable();
    descriptor: ()Z
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
         0: .line 364
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.durable:Z
            ireturn
        end local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/amqp/impl/AmqpReceiverImpl;

  public io.vertx.core.streams.ReadStream pause();
    descriptor: ()Lio/vertx/core/streams/ReadStream;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual io.vertx.amqp.impl.AmqpReceiverImpl.pause:()Lio/vertx/amqp/impl/AmqpReceiverImpl;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.amqp.AmqpReceiver pause();
    descriptor: ()Lio/vertx/amqp/AmqpReceiver;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual io.vertx.amqp.impl.AmqpReceiverImpl.pause:()Lio/vertx/amqp/impl/AmqpReceiverImpl;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.streams.ReadStream handler(io.vertx.core.Handler);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/ReadStream;
    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.Handler
            invokevirtual io.vertx.amqp.impl.AmqpReceiverImpl.handler:(Lio/vertx/core/Handler;)Lio/vertx/amqp/AmqpReceiver;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.streams.ReadStream endHandler(io.vertx.core.Handler);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/ReadStream;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual io.vertx.amqp.impl.AmqpReceiverImpl.endHandler:(Lio/vertx/core/Handler;)Lio/vertx/amqp/impl/AmqpReceiverImpl;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.amqp.AmqpReceiver endHandler(io.vertx.core.Handler);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/amqp/AmqpReceiver;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual io.vertx.amqp.impl.AmqpReceiverImpl.endHandler:(Lio/vertx/core/Handler;)Lio/vertx/amqp/impl/AmqpReceiverImpl;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.streams.ReadStream resume();
    descriptor: ()Lio/vertx/core/streams/ReadStream;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual io.vertx.amqp.impl.AmqpReceiverImpl.resume:()Lio/vertx/amqp/impl/AmqpReceiverImpl;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.amqp.AmqpReceiver resume();
    descriptor: ()Lio/vertx/amqp/AmqpReceiver;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual io.vertx.amqp.impl.AmqpReceiverImpl.resume:()Lio/vertx/amqp/impl/AmqpReceiverImpl;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.streams.ReadStream fetch(long);
    descriptor: (J)Lio/vertx/core/streams/ReadStream;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=2
         0: .line 1
            aload 0
            lload 1
            invokevirtual io.vertx.amqp.impl.AmqpReceiverImpl.fetch:(J)Lio/vertx/amqp/impl/AmqpReceiverImpl;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.amqp.AmqpReceiver fetch(long);
    descriptor: (J)Lio/vertx/amqp/AmqpReceiver;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=2
         0: .line 1
            aload 0
            lload 1
            invokevirtual io.vertx.amqp.impl.AmqpReceiverImpl.fetch:(J)Lio/vertx/amqp/impl/AmqpReceiverImpl;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.streams.StreamBase exceptionHandler(io.vertx.core.Handler);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/StreamBase;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual io.vertx.amqp.impl.AmqpReceiverImpl.exceptionHandler:(Lio/vertx/core/Handler;)Lio/vertx/amqp/AmqpReceiver;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.streams.ReadStream exceptionHandler(io.vertx.core.Handler);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/ReadStream;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual io.vertx.amqp.impl.AmqpReceiverImpl.exceptionHandler:(Lio/vertx/core/Handler;)Lio/vertx/amqp/AmqpReceiver;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void lambda$0(io.vertx.proton.ProtonDelivery, org.apache.qpid.proton.message.Message);
    descriptor: (Lio/vertx/proton/ProtonDelivery;Lorg/apache/qpid/proton/message/Message;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
        start local 1 // io.vertx.proton.ProtonDelivery delivery
        start local 2 // org.apache.qpid.proton.message.Message message
         0: .line 89
            aload 0 /* this */
            new io.vertx.amqp.impl.AmqpMessageImpl
            dup
            aload 2 /* message */
            aload 1 /* delivery */
            invokespecial io.vertx.amqp.impl.AmqpMessageImpl.<init>:(Lorg/apache/qpid/proton/message/Message;Lio/vertx/proton/ProtonDelivery;)V
            invokevirtual io.vertx.amqp.impl.AmqpReceiverImpl.handleMessage:(Lio/vertx/amqp/impl/AmqpMessageImpl;)V
            return
        end local 2 // org.apache.qpid.proton.message.Message message
        end local 1 // io.vertx.proton.ProtonDelivery delivery
        end local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lio/vertx/amqp/impl/AmqpReceiverImpl;
            0    1     1  delivery  Lio/vertx/proton/ProtonDelivery;
            0    1     2   message  Lorg/apache/qpid/proton/message/Message;

  private void lambda$1(java.lang.String, io.vertx.proton.ProtonReceiver, io.vertx.core.AsyncResult);
    descriptor: (Ljava/lang/String;Lio/vertx/proton/ProtonReceiver;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
        start local 3 // io.vertx.core.AsyncResult res
         0: .line 95
            aload 0 /* this */
            aload 1
            aload 2
            aload 3 /* res */
            iconst_0
            invokevirtual io.vertx.amqp.impl.AmqpReceiverImpl.onClose:(Ljava/lang/String;Lio/vertx/proton/ProtonReceiver;Lio/vertx/core/AsyncResult;Z)V
         1: .line 96
            return
        end local 3 // io.vertx.core.AsyncResult res
        end local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/amqp/impl/AmqpReceiverImpl;
            0    2     3   res  Lio/vertx/core/AsyncResult<Lio/vertx/proton/ProtonReceiver;>;

  private void lambda$2(java.lang.String, io.vertx.proton.ProtonReceiver, io.vertx.core.AsyncResult);
    descriptor: (Ljava/lang/String;Lio/vertx/proton/ProtonReceiver;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
        start local 3 // io.vertx.core.AsyncResult res
         0: .line 98
            aload 0 /* this */
            aload 1
            aload 2
            aload 3 /* res */
            iconst_1
            invokevirtual io.vertx.amqp.impl.AmqpReceiverImpl.onClose:(Ljava/lang/String;Lio/vertx/proton/ProtonReceiver;Lio/vertx/core/AsyncResult;Z)V
         1: .line 99
            return
        end local 3 // io.vertx.core.AsyncResult res
        end local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/amqp/impl/AmqpReceiverImpl;
            0    2     3   res  Lio/vertx/core/AsyncResult<Lio/vertx/proton/ProtonReceiver;>;

  private void lambda$3(io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
        start local 2 // io.vertx.core.AsyncResult res
         0: .line 103
            aload 2 /* res */
            invokeinterface io.vertx.core.AsyncResult.failed:()Z
            ifeq 3
         1: .line 104
            aload 1
            aload 2 /* res */
            invokeinterface io.vertx.core.AsyncResult.mapEmpty:()Lio/vertx/core/AsyncResult;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 105
            goto 12
         3: .line 106
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.connection:Lio/vertx/amqp/impl/AmqpConnectionImpl;
            aload 0 /* this */
            invokevirtual io.vertx.amqp.impl.AmqpConnectionImpl.register:(Lio/vertx/amqp/impl/AmqpReceiverImpl;)V
         4: .line 107
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         5: .line 108
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.address:Ljava/lang/String;
            ifnonnull 7
         6: .line 109
            aload 0 /* this */
            aload 2 /* res */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast io.vertx.proton.ProtonReceiver
            invokeinterface io.vertx.proton.ProtonReceiver.getRemoteAddress:()Ljava/lang/String;
            putfield io.vertx.amqp.impl.AmqpReceiverImpl.address:Ljava/lang/String;
         7: .line 107
      StackMap locals: io.vertx.amqp.impl.AmqpReceiverImpl
      StackMap stack:
            aload 3
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 3
            monitorexit
        10: athrow
        11: .line 112
      StackMap locals:
      StackMap stack:
            aload 1
            aload 0 /* this */
            invokestatic io.vertx.core.Future.succeededFuture:(Ljava/lang/Object;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        12: .line 114
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.core.AsyncResult res
        end local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lio/vertx/amqp/impl/AmqpReceiverImpl;
            0   13     2   res  Lio/vertx/core/AsyncResult<Lio/vertx/proton/ProtonReceiver;>;
      Exception table:
        from    to  target  type
           5     8       9  any
           9    10       9  any

  private void lambda$4(int, java.lang.Void);
    descriptor: (ILjava/lang/Void;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
        start local 2 // java.lang.Void v
         0: .line 222
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.receiver:Lio/vertx/proton/ProtonReceiver;
            iload 1
            invokeinterface io.vertx.proton.ProtonReceiver.flow:(I)Lio/vertx/proton/ProtonReceiver;
            return
        end local 2 // java.lang.Void v
        end local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/amqp/impl/AmqpReceiverImpl;
            0    1     2     v  Ljava/lang/Void;

  private void lambda$5(java.lang.Void);
    descriptor: (Ljava/lang/Void;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
        start local 1 // java.lang.Void v
         0: .line 291
            aconst_null
            astore 2 /* message */
        start local 2 // io.vertx.amqp.impl.AmqpMessageImpl message
         1: .line 293
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         2: .line 294
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.demand:J
            lconst_0
            lcmp
            ifle 6
         3: .line 295
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.demand:J
            ldc 9223372036854775807
            lcmp
            ifeq 5
         4: .line 296
            aload 0 /* this */
            dup
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.demand:J
            lconst_1
            lsub
            putfield io.vertx.amqp.impl.AmqpReceiverImpl.demand:J
         5: .line 298
      StackMap locals: io.vertx.amqp.impl.AmqpMessageImpl io.vertx.amqp.impl.AmqpReceiverImpl
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.buffered:Ljava/util/Queue;
            invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
            checkcast io.vertx.amqp.impl.AmqpMessageImpl
            astore 2 /* message */
         6: .line 293
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
         7: goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: aload 3
            monitorexit
         9: athrow
        10: .line 302
      StackMap locals:
      StackMap stack:
            aload 2 /* message */
            ifnull 13
        11: .line 304
            aload 0 /* this */
            aload 2 /* message */
            invokevirtual io.vertx.amqp.impl.AmqpReceiverImpl.deliverMessageToHandler:(Lio/vertx/amqp/impl/AmqpMessageImpl;)V
        12: .line 307
            aload 0 /* this */
            invokevirtual io.vertx.amqp.impl.AmqpReceiverImpl.scheduleBufferedMessageDelivery:()V
        end local 2 // io.vertx.amqp.impl.AmqpMessageImpl message
        13: .line 309
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Void v
        end local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lio/vertx/amqp/impl/AmqpReceiverImpl;
            0   14     1        v  Ljava/lang/Void;
            1   13     2  message  Lio/vertx/amqp/impl/AmqpMessageImpl;
      Exception table:
        from    to  target  type
           2     7       8  any
           8     9       8  any

  private static void lambda$6(io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // io.vertx.core.AsyncResult x
         0: .line 327
            return
        end local 0 // io.vertx.core.AsyncResult x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;

  private void lambda$7(io.vertx.core.Handler, java.lang.Void);
    descriptor: (Lio/vertx/core/Handler;Ljava/lang/Void;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
        start local 2 // java.lang.Void x
         0: .line 342
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.receiver:Lio/vertx/proton/ProtonReceiver;
            invokeinterface io.vertx.proton.ProtonReceiver.isOpen:()Z
            ifeq 12
         1: .line 344
            aload 0 /* this */
            invokevirtual io.vertx.amqp.impl.AmqpReceiverImpl.isDurable:()Z
            ifeq 5
         2: .line 345
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.receiver:Lio/vertx/proton/ProtonReceiver;
            aload 1
            invokedynamic handle(Lio/vertx/core/Handler;)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/amqp/impl/AmqpReceiverImpl.lambda$8(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.proton.ProtonReceiver.detachHandler:(Lio/vertx/core/Handler;)Lio/vertx/proton/ProtonLink;
            checkcast io.vertx.proton.ProtonReceiver
         3: .line 346
            invokeinterface io.vertx.proton.ProtonReceiver.detach:()Lio/vertx/proton/ProtonLink;
            pop
         4: .line 347
            goto 13
         5: .line 348
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.amqp.impl.AmqpReceiverImpl.receiver:Lio/vertx/proton/ProtonReceiver;
         6: .line 349
            aload 1
            invokedynamic handle(Lio/vertx/core/Handler;)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/amqp/impl/AmqpReceiverImpl.lambda$9(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.proton.ProtonReceiver.closeHandler:(Lio/vertx/core/Handler;)Lio/vertx/proton/ProtonLink;
            checkcast io.vertx.proton.ProtonReceiver
         7: .line 350
            invokeinterface io.vertx.proton.ProtonReceiver.close:()Lio/vertx/proton/ProtonLink;
            pop
         8: .line 352
            goto 13
      StackMap locals:
      StackMap stack: java.lang.Exception
         9: astore 3 /* e */
        start local 3 // java.lang.Exception e
        10: .line 354
            aload 1
            aload 3 /* e */
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        end local 3 // java.lang.Exception e
        11: .line 356
            goto 13
        12: .line 357
      StackMap locals:
      StackMap stack:
            aload 1
            invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        13: .line 359
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Void x
        end local 0 // io.vertx.amqp.impl.AmqpReceiverImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lio/vertx/amqp/impl/AmqpReceiverImpl;
            0   14     2     x  Ljava/lang/Void;
           10   11     3     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     8       9  Class java.lang.Exception

  private static void lambda$8(io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // io.vertx.core.AsyncResult done
         0: .line 345
            aload 0
            aload 1 /* done */
            invokeinterface io.vertx.core.AsyncResult.mapEmpty:()Lio/vertx/core/AsyncResult;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
            return
        end local 1 // io.vertx.core.AsyncResult done
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1  done  Lio/vertx/core/AsyncResult<Lio/vertx/proton/ProtonReceiver;>;

  private static void lambda$9(io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // io.vertx.core.AsyncResult done
         0: .line 349
            aload 0
            aload 1 /* done */
            invokeinterface io.vertx.core.AsyncResult.mapEmpty:()Lio/vertx/core/AsyncResult;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
            return
        end local 1 // io.vertx.core.AsyncResult done
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1  done  Lio/vertx/core/AsyncResult<Lio/vertx/proton/ProtonReceiver;>;
}
SourceFile: "AmqpReceiverImpl.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles