public class io.vertx.rabbitmq.impl.RabbitMQClientImpl implements io.vertx.rabbitmq.RabbitMQClient, com.rabbitmq.client.ShutdownListener
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.rabbitmq.impl.RabbitMQClientImpl
  super_class: java.lang.Object
{
  private static final io.vertx.core.logging.Logger log;
    descriptor: Lio/vertx/core/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final io.vertx.core.json.JsonObject emptyConfig;
    descriptor: Lio/vertx/core/json/JsonObject;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final io.vertx.core.Vertx vertx;
    descriptor: Lio/vertx/core/Vertx;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.vertx.rabbitmq.RabbitMQOptions config;
    descriptor: Lio/vertx/rabbitmq/RabbitMQOptions;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Integer retries;
    descriptor: Ljava/lang/Integer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private com.rabbitmq.client.Connection connection;
    descriptor: Lcom/rabbitmq/client/Connection;
    flags: (0x0002) ACC_PRIVATE

  private com.rabbitmq.client.Channel channel;
    descriptor: Lcom/rabbitmq/client/Channel;
    flags: (0x0002) ACC_PRIVATE

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 27
            ldc Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            invokestatic io.vertx.core.logging.LoggerFactory.getLogger:(Ljava/lang/Class;)Lio/vertx/core/logging/Logger;
            putstatic io.vertx.rabbitmq.impl.RabbitMQClientImpl.log:Lio/vertx/core/logging/Logger;
         1: .line 28
            new io.vertx.core.json.JsonObject
            dup
            invokespecial io.vertx.core.json.JsonObject.<init>:()V
            putstatic io.vertx.rabbitmq.impl.RabbitMQClientImpl.emptyConfig:Lio/vertx/core/json/JsonObject;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(io.vertx.core.Vertx, io.vertx.rabbitmq.RabbitMQOptions);
    descriptor: (Lio/vertx/core/Vertx;Lio/vertx/rabbitmq/RabbitMQOptions;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // io.vertx.core.Vertx vertx
        start local 2 // io.vertx.rabbitmq.RabbitMQOptions config
         0: .line 39
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 37
            aload 0 /* this */
            iconst_0
            putfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.channelConfirms:Z
         2: .line 40
            aload 0 /* this */
            aload 1 /* vertx */
            putfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.vertx:Lio/vertx/core/Vertx;
         3: .line 41
            aload 0 /* this */
            aload 2 /* config */
            putfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.config:Lio/vertx/rabbitmq/RabbitMQOptions;
         4: .line 42
            aload 0 /* this */
            aload 2 /* config */
            invokevirtual io.vertx.rabbitmq.RabbitMQOptions.getConnectionRetries:()Ljava/lang/Integer;
            putfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.retries:Ljava/lang/Integer;
         5: .line 45
            aload 0 /* this */
            aload 2 /* config */
            invokevirtual io.vertx.rabbitmq.RabbitMQOptions.getIncludeProperties:()Z
            putfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.includeProperties:Z
         6: .line 46
            return
        end local 2 // io.vertx.rabbitmq.RabbitMQOptions config
        end local 1 // io.vertx.core.Vertx vertx
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    7     1   vertx  Lio/vertx/core/Vertx;
            0    7     2  config  Lio/vertx/rabbitmq/RabbitMQOptions;
    MethodParameters:
        Name  Flags
      vertx   
      config  

  private static com.rabbitmq.client.Connection newConnection(io.vertx.rabbitmq.RabbitMQOptions);
    descriptor: (Lio/vertx/rabbitmq/RabbitMQOptions;)Lcom/rabbitmq/client/Connection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // io.vertx.rabbitmq.RabbitMQOptions config
         0: .line 49
            new com.rabbitmq.client.ConnectionFactory
            dup
            invokespecial com.rabbitmq.client.ConnectionFactory.<init>:()V
            astore 1 /* cf */
        start local 1 // com.rabbitmq.client.ConnectionFactory cf
         1: .line 50
            aload 0 /* config */
            invokevirtual io.vertx.rabbitmq.RabbitMQOptions.getUri:()Ljava/lang/String;
            astore 2 /* uri */
        start local 2 // java.lang.String uri
         2: .line 52
            aconst_null
            astore 3 /* addresses */
        start local 3 // java.util.List addresses
         3: .line 53
            aload 2 /* uri */
            ifnull 8
         4: .line 55
            aload 1 /* cf */
            aload 2 /* uri */
            invokevirtual com.rabbitmq.client.ConnectionFactory.setUri:(Ljava/lang/String;)V
         5: .line 56
            goto 15
      StackMap locals: io.vertx.rabbitmq.RabbitMQOptions com.rabbitmq.client.ConnectionFactory java.lang.String java.util.List
      StackMap stack: java.lang.Exception
         6: pop
         7: .line 57
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid rabbitmq connection uri "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* uri */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 60
      StackMap locals:
      StackMap stack:
            aload 1 /* cf */
            aload 0 /* config */
            invokevirtual io.vertx.rabbitmq.RabbitMQOptions.getUser:()Ljava/lang/String;
            invokevirtual com.rabbitmq.client.ConnectionFactory.setUsername:(Ljava/lang/String;)V
         9: .line 61
            aload 1 /* cf */
            aload 0 /* config */
            invokevirtual io.vertx.rabbitmq.RabbitMQOptions.getPassword:()Ljava/lang/String;
            invokevirtual com.rabbitmq.client.ConnectionFactory.setPassword:(Ljava/lang/String;)V
        10: .line 62
            aload 0 /* config */
            invokevirtual io.vertx.rabbitmq.RabbitMQOptions.getAddresses:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 12
        11: .line 63
            new com.rabbitmq.client.Address
            dup
            aload 0 /* config */
            invokevirtual io.vertx.rabbitmq.RabbitMQOptions.getHost:()Ljava/lang/String;
            aload 0 /* config */
            invokevirtual io.vertx.rabbitmq.RabbitMQOptions.getPort:()I
            invokespecial com.rabbitmq.client.Address.<init>:(Ljava/lang/String;I)V
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            goto 13
        12: .line 64
      StackMap locals:
      StackMap stack:
            aload 0 /* config */
            invokevirtual io.vertx.rabbitmq.RabbitMQOptions.getAddresses:()Ljava/util/List;
        13: .line 62
      StackMap locals:
      StackMap stack: java.util.List
            astore 3 /* addresses */
        14: .line 65
            aload 1 /* cf */
            aload 0 /* config */
            invokevirtual io.vertx.rabbitmq.RabbitMQOptions.getVirtualHost:()Ljava/lang/String;
            invokevirtual com.rabbitmq.client.ConnectionFactory.setVirtualHost:(Ljava/lang/String;)V
        15: .line 68
      StackMap locals:
      StackMap stack:
            aload 1 /* cf */
            aload 0 /* config */
            invokevirtual io.vertx.rabbitmq.RabbitMQOptions.getConnectionTimeout:()I
            invokevirtual com.rabbitmq.client.ConnectionFactory.setConnectionTimeout:(I)V
        16: .line 69
            aload 1 /* cf */
            aload 0 /* config */
            invokevirtual io.vertx.rabbitmq.RabbitMQOptions.getRequestedHeartbeat:()I
            invokevirtual com.rabbitmq.client.ConnectionFactory.setRequestedHeartbeat:(I)V
        17: .line 70
            aload 1 /* cf */
            aload 0 /* config */
            invokevirtual io.vertx.rabbitmq.RabbitMQOptions.getHandshakeTimeout:()I
            invokevirtual com.rabbitmq.client.ConnectionFactory.setHandshakeTimeout:(I)V
        18: .line 71
            aload 1 /* cf */
            aload 0 /* config */
            invokevirtual io.vertx.rabbitmq.RabbitMQOptions.getRequestedChannelMax:()I
            invokevirtual com.rabbitmq.client.ConnectionFactory.setRequestedChannelMax:(I)V
        19: .line 72
            aload 1 /* cf */
            aload 0 /* config */
            invokevirtual io.vertx.rabbitmq.RabbitMQOptions.getNetworkRecoveryInterval:()J
            invokevirtual com.rabbitmq.client.ConnectionFactory.setNetworkRecoveryInterval:(J)V
        20: .line 73
            aload 1 /* cf */
            aload 0 /* config */
            invokevirtual io.vertx.rabbitmq.RabbitMQOptions.isAutomaticRecoveryEnabled:()Z
            invokevirtual com.rabbitmq.client.ConnectionFactory.setAutomaticRecoveryEnabled:(Z)V
        21: .line 78
            aload 3 /* addresses */
            ifnonnull 23
        22: .line 79
            aload 1 /* cf */
            invokevirtual com.rabbitmq.client.ConnectionFactory.newConnection:()Lcom/rabbitmq/client/Connection;
            goto 24
        23: .line 80
      StackMap locals:
      StackMap stack:
            aload 1 /* cf */
            aload 3 /* addresses */
            invokevirtual com.rabbitmq.client.ConnectionFactory.newConnection:(Ljava/util/List;)Lcom/rabbitmq/client/Connection;
        24: .line 78
      StackMap locals:
      StackMap stack: com.rabbitmq.client.Connection
            areturn
        end local 3 // java.util.List addresses
        end local 2 // java.lang.String uri
        end local 1 // com.rabbitmq.client.ConnectionFactory cf
        end local 0 // io.vertx.rabbitmq.RabbitMQOptions config
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   25     0     config  Lio/vertx/rabbitmq/RabbitMQOptions;
            1   25     1         cf  Lcom/rabbitmq/client/ConnectionFactory;
            2   25     2        uri  Ljava/lang/String;
            3   25     3  addresses  Ljava/util/List<Lcom/rabbitmq/client/Address;>;
      Exception table:
        from    to  target  type
           4     5       6  Class java.lang.Exception
    Exceptions:
      throws java.io.IOException, java.util.concurrent.TimeoutException
    MethodParameters:
        Name  Flags
      config  

  public boolean isConnected();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
         0: .line 85
            iconst_0
            istore 1 /* connected */
        start local 1 // boolean connected
         1: .line 86
            aload 0 /* this */
            getfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.connection:Lcom/rabbitmq/client/Connection;
            ifnull 4
         2: .line 87
            aload 0 /* this */
            getfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.connection:Lcom/rabbitmq/client/Connection;
            invokeinterface com.rabbitmq.client.Connection.isOpen:()Z
            ifeq 4
         3: .line 88
            iconst_1
            istore 1 /* connected */
         4: .line 91
      StackMap locals: int
      StackMap stack:
            iload 1 /* connected */
            ireturn
        end local 1 // boolean connected
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            1    5     1  connected  Z

  public boolean isOpenChannel();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
         0: .line 96
            aload 0 /* this */
            getfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.channel:Lcom/rabbitmq/client/Channel;
            ifnull 1
            aload 0 /* this */
            getfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.channel:Lcom/rabbitmq/client/Channel;
            invokeinterface com.rabbitmq.client.Channel.isOpen:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;

  public void basicAck(long, boolean, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.json.JsonObject>>);
    descriptor: (JZLio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // long deliveryTag
        start local 3 // boolean multiple
        start local 4 // io.vertx.core.Handler resultHandler
         0: .line 101
            aload 0 /* this */
            aload 4 /* resultHandler */
            lload 1 /* deliveryTag */
            iload 3 /* multiple */
            invokedynamic handle(JZ)Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;
              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:
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Object;
                  io/vertx/rabbitmq/impl/RabbitMQClientImpl.lambda$0(JZLcom/rabbitmq/client/Channel;)Lio/vertx/core/json/JsonObject; (6)
                  (Lcom/rabbitmq/client/Channel;)Lio/vertx/core/json/JsonObject;
            invokevirtual io.vertx.rabbitmq.impl.RabbitMQClientImpl.forChannel:(Lio/vertx/core/Handler;Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;)V
         1: .line 105
            return
        end local 4 // io.vertx.core.Handler resultHandler
        end local 3 // boolean multiple
        end local 1 // long deliveryTag
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    2     1    deliveryTag  J
            0    2     3       multiple  Z
            0    2     4  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;>;
    Signature: (JZLio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;>;)V
    MethodParameters:
               Name  Flags
      deliveryTag    
      multiple       
      resultHandler  

  public void basicNack(long, boolean, boolean, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.json.JsonObject>>);
    descriptor: (JZZLio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // long deliveryTag
        start local 3 // boolean multiple
        start local 4 // boolean requeue
        start local 5 // io.vertx.core.Handler resultHandler
         0: .line 109
            aload 0 /* this */
            aload 5 /* resultHandler */
            lload 1 /* deliveryTag */
            iload 3 /* multiple */
            iload 4 /* requeue */
            invokedynamic handle(JZZ)Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;
              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:
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Object;
                  io/vertx/rabbitmq/impl/RabbitMQClientImpl.lambda$1(JZZLcom/rabbitmq/client/Channel;)Lio/vertx/core/json/JsonObject; (6)
                  (Lcom/rabbitmq/client/Channel;)Lio/vertx/core/json/JsonObject;
            invokevirtual io.vertx.rabbitmq.impl.RabbitMQClientImpl.forChannel:(Lio/vertx/core/Handler;Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;)V
         1: .line 113
            return
        end local 5 // io.vertx.core.Handler resultHandler
        end local 4 // boolean requeue
        end local 3 // boolean multiple
        end local 1 // long deliveryTag
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    2     1    deliveryTag  J
            0    2     3       multiple  Z
            0    2     4        requeue  Z
            0    2     5  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;>;
    Signature: (JZZLio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;>;)V
    MethodParameters:
               Name  Flags
      deliveryTag    
      multiple       
      requeue        
      resultHandler  

  public void basicConsumer(java.lang.String, io.vertx.rabbitmq.QueueOptions, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.rabbitmq.RabbitMQConsumer>>);
    descriptor: (Ljava/lang/String;Lio/vertx/rabbitmq/QueueOptions;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // java.lang.String queue
        start local 2 // io.vertx.rabbitmq.QueueOptions options
        start local 3 // io.vertx.core.Handler resultHandler
         0: .line 117
            aload 0 /* this */
            aload 3 /* resultHandler */
            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/rabbitmq/impl/RabbitMQClientImpl.lambda$2(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
         1: .line 128
            aload 0 /* this */
            aload 2 /* options */
            aload 1 /* queue */
            invokedynamic handle(Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;Lio/vertx/rabbitmq/QueueOptions;Ljava/lang/String;)Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;
              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:
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Object;
                  io/vertx/rabbitmq/impl/RabbitMQClientImpl.lambda$3(Lio/vertx/rabbitmq/QueueOptions;Ljava/lang/String;Lcom/rabbitmq/client/Channel;)Lio/vertx/rabbitmq/impl/QueueConsumerHandler; (7)
                  (Lcom/rabbitmq/client/Channel;)Lio/vertx/rabbitmq/impl/QueueConsumerHandler;
         2: .line 117
            invokevirtual io.vertx.rabbitmq.impl.RabbitMQClientImpl.forChannel:(Lio/vertx/core/Handler;Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;)V
         3: .line 133
            return
        end local 3 // io.vertx.core.Handler resultHandler
        end local 2 // io.vertx.rabbitmq.QueueOptions options
        end local 1 // java.lang.String queue
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    4     1          queue  Ljava/lang/String;
            0    4     2        options  Lio/vertx/rabbitmq/QueueOptions;
            0    4     3  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/rabbitmq/RabbitMQConsumer;>;>;
    Signature: (Ljava/lang/String;Lio/vertx/rabbitmq/QueueOptions;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/rabbitmq/RabbitMQConsumer;>;>;)V
    MethodParameters:
               Name  Flags
      queue          
      options        
      resultHandler  

  public void basicConsume(java.lang.String, java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.String>>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // java.lang.String queue
        start local 2 // java.lang.String address
        start local 3 // io.vertx.core.Handler resultHandler
         0: .line 137
            aload 0 /* this */
            aload 1 /* queue */
            aload 2 /* address */
            iconst_1
            aload 3 /* resultHandler */
            invokevirtual io.vertx.rabbitmq.impl.RabbitMQClientImpl.basicConsume:(Ljava/lang/String;Ljava/lang/String;ZLio/vertx/core/Handler;)V
         1: .line 138
            return
        end local 3 // io.vertx.core.Handler resultHandler
        end local 2 // java.lang.String address
        end local 1 // java.lang.String queue
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    2     1          queue  Ljava/lang/String;
            0    2     2        address  Ljava/lang/String;
            0    2     3  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/String;>;>;
    Signature: (Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/String;>;>;)V
    MethodParameters:
               Name  Flags
      queue          
      address        
      resultHandler  

  public void basicConsume(java.lang.String, java.lang.String, boolean, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.String>>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;ZLio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // java.lang.String queue
        start local 2 // java.lang.String address
        start local 3 // boolean autoAck
        start local 4 // io.vertx.core.Handler resultHandler
         0: .line 142
            aload 0 /* this */
            aload 1 /* queue */
            aload 2 /* address */
            iload 3 /* autoAck */
            aload 4 /* resultHandler */
            aconst_null
            invokevirtual io.vertx.rabbitmq.impl.RabbitMQClientImpl.basicConsume:(Ljava/lang/String;Ljava/lang/String;ZLio/vertx/core/Handler;Lio/vertx/core/Handler;)V
         1: .line 143
            return
        end local 4 // io.vertx.core.Handler resultHandler
        end local 3 // boolean autoAck
        end local 2 // java.lang.String address
        end local 1 // java.lang.String queue
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    2     1          queue  Ljava/lang/String;
            0    2     2        address  Ljava/lang/String;
            0    2     3        autoAck  Z
            0    2     4  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/String;>;>;
    Signature: (Ljava/lang/String;Ljava/lang/String;ZLio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/String;>;>;)V
    MethodParameters:
               Name  Flags
      queue          
      address        
      autoAck        
      resultHandler  

  public void basicConsume(java.lang.String, java.lang.String, boolean, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.String>>, io.vertx.core.Handler<java.lang.Throwable>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;ZLio/vertx/core/Handler;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // java.lang.String queue
        start local 2 // java.lang.String address
        start local 3 // boolean autoAck
        start local 4 // io.vertx.core.Handler resultHandler
        start local 5 // io.vertx.core.Handler errorHandler
         0: .line 147
            aload 0 /* this */
            aload 4 /* resultHandler */
            aload 0 /* this */
            aload 1 /* queue */
            iload 3 /* autoAck */
            aload 2 /* address */
            aload 5 /* errorHandler */
            invokedynamic handle(Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;Ljava/lang/String;ZLjava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;
              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:
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Object;
                  io/vertx/rabbitmq/impl/RabbitMQClientImpl.lambda$4(Ljava/lang/String;ZLjava/lang/String;Lio/vertx/core/Handler;Lcom/rabbitmq/client/Channel;)Ljava/lang/String; (7)
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/String;
            invokevirtual io.vertx.rabbitmq.impl.RabbitMQClientImpl.forChannel:(Lio/vertx/core/Handler;Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;)V
         1: .line 158
            return
        end local 5 // io.vertx.core.Handler errorHandler
        end local 4 // io.vertx.core.Handler resultHandler
        end local 3 // boolean autoAck
        end local 2 // java.lang.String address
        end local 1 // java.lang.String queue
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    2     1          queue  Ljava/lang/String;
            0    2     2        address  Ljava/lang/String;
            0    2     3        autoAck  Z
            0    2     4  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/String;>;>;
            0    2     5   errorHandler  Lio/vertx/core/Handler<Ljava/lang/Throwable;>;
    Signature: (Ljava/lang/String;Ljava/lang/String;ZLio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/String;>;>;Lio/vertx/core/Handler<Ljava/lang/Throwable;>;)V
    MethodParameters:
               Name  Flags
      queue          
      address        
      autoAck        
      resultHandler  
      errorHandler   

  public void basicCancel(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // java.lang.String consumerTag
         0: .line 162
            aload 0 /* this */
            aload 1 /* consumerTag */
            aconst_null
            invokevirtual io.vertx.rabbitmq.impl.RabbitMQClientImpl.basicCancel:(Ljava/lang/String;Lio/vertx/core/Handler;)V
         1: .line 163
            return
        end local 1 // java.lang.String consumerTag
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    2     1  consumerTag  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      consumerTag  

  public void basicCancel(java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // java.lang.String consumerTag
        start local 2 // io.vertx.core.Handler resultHandler
         0: .line 167
            aload 0 /* this */
            aload 2 /* resultHandler */
            aload 1 /* consumerTag */
            invokedynamic handle(Ljava/lang/String;)Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;
              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:
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Object;
                  io/vertx/rabbitmq/impl/RabbitMQClientImpl.lambda$6(Ljava/lang/String;Lcom/rabbitmq/client/Channel;)Ljava/lang/Void; (6)
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Void;
            invokevirtual io.vertx.rabbitmq.impl.RabbitMQClientImpl.forChannel:(Lio/vertx/core/Handler;Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;)V
         1: .line 171
            return
        end local 2 // io.vertx.core.Handler resultHandler
        end local 1 // java.lang.String consumerTag
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    2     1    consumerTag  Ljava/lang/String;
            0    2     2  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
               Name  Flags
      consumerTag    
      resultHandler  

  public void basicGet(java.lang.String, boolean, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.json.JsonObject>>);
    descriptor: (Ljava/lang/String;ZLio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // java.lang.String queue
        start local 2 // boolean autoAck
        start local 3 // io.vertx.core.Handler resultHandler
         0: .line 175
            aload 0 /* this */
            aload 3 /* resultHandler */
            aload 0 /* this */
            aload 1 /* queue */
            iload 2 /* autoAck */
            invokedynamic handle(Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;Ljava/lang/String;Z)Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;
              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:
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Object;
                  io/vertx/rabbitmq/impl/RabbitMQClientImpl.lambda$7(Ljava/lang/String;ZLcom/rabbitmq/client/Channel;)Lio/vertx/core/json/JsonObject; (7)
                  (Lcom/rabbitmq/client/Channel;)Lio/vertx/core/json/JsonObject;
            invokevirtual io.vertx.rabbitmq.impl.RabbitMQClientImpl.forChannel:(Lio/vertx/core/Handler;Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;)V
         1: .line 190
            return
        end local 3 // io.vertx.core.Handler resultHandler
        end local 2 // boolean autoAck
        end local 1 // java.lang.String queue
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    2     1          queue  Ljava/lang/String;
            0    2     2        autoAck  Z
            0    2     3  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;>;
    Signature: (Ljava/lang/String;ZLio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;>;)V
    MethodParameters:
               Name  Flags
      queue          
      autoAck        
      resultHandler  

  public void basicPublish(java.lang.String, java.lang.String, io.vertx.core.json.JsonObject, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/json/JsonObject;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // java.lang.String exchange
        start local 2 // java.lang.String routingKey
        start local 3 // io.vertx.core.json.JsonObject message
        start local 4 // io.vertx.core.Handler resultHandler
         0: .line 194
            aload 0 /* this */
            aload 4 /* resultHandler */
            aload 3 /* message */
            aload 1 /* exchange */
            aload 2 /* routingKey */
            invokedynamic handle(Lio/vertx/core/json/JsonObject;Ljava/lang/String;Ljava/lang/String;)Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;
              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:
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Object;
                  io/vertx/rabbitmq/impl/RabbitMQClientImpl.lambda$8(Lio/vertx/core/json/JsonObject;Ljava/lang/String;Ljava/lang/String;Lcom/rabbitmq/client/Channel;)Ljava/lang/Void; (6)
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Void;
            invokevirtual io.vertx.rabbitmq.impl.RabbitMQClientImpl.forChannel:(Lio/vertx/core/Handler;Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;)V
         1: .line 219
            return
        end local 4 // io.vertx.core.Handler resultHandler
        end local 3 // io.vertx.core.json.JsonObject message
        end local 2 // java.lang.String routingKey
        end local 1 // java.lang.String exchange
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    2     1       exchange  Ljava/lang/String;
            0    2     2     routingKey  Ljava/lang/String;
            0    2     3        message  Lio/vertx/core/json/JsonObject;
            0    2     4  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/json/JsonObject;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
               Name  Flags
      exchange       
      routingKey     
      message        
      resultHandler  

  public void confirmSelect(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=2, args_size=2
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // io.vertx.core.Handler resultHandler
         0: .line 223
            aload 0 /* this */
            aload 1 /* resultHandler */
            aload 0 /* this */
            invokedynamic handle(Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;)Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;
              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:
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Object;
                  io/vertx/rabbitmq/impl/RabbitMQClientImpl.lambda$9(Lcom/rabbitmq/client/Channel;)Ljava/lang/Void; (7)
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Void;
            invokevirtual io.vertx.rabbitmq.impl.RabbitMQClientImpl.forChannel:(Lio/vertx/core/Handler;Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;)V
         1: .line 231
            return
        end local 1 // io.vertx.core.Handler resultHandler
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    2     1  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
               Name  Flags
      resultHandler  

  public void waitForConfirms(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=2, args_size=2
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // io.vertx.core.Handler resultHandler
         0: .line 235
            aload 0 /* this */
            aload 1 /* resultHandler */
            invokedynamic handle()Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;
              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:
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Object;
                  io/vertx/rabbitmq/impl/RabbitMQClientImpl.lambda$10(Lcom/rabbitmq/client/Channel;)Ljava/lang/Void; (6)
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Void;
            invokevirtual io.vertx.rabbitmq.impl.RabbitMQClientImpl.forChannel:(Lio/vertx/core/Handler;Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;)V
         1: .line 240
            return
        end local 1 // io.vertx.core.Handler resultHandler
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    2     1  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
               Name  Flags
      resultHandler  

  public void waitForConfirms(long, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (JLio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // long timeout
        start local 3 // io.vertx.core.Handler resultHandler
         0: .line 244
            aload 0 /* this */
            aload 3 /* resultHandler */
            lload 1 /* timeout */
            invokedynamic handle(J)Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;
              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:
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Object;
                  io/vertx/rabbitmq/impl/RabbitMQClientImpl.lambda$11(JLcom/rabbitmq/client/Channel;)Ljava/lang/Void; (6)
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Void;
            invokevirtual io.vertx.rabbitmq.impl.RabbitMQClientImpl.forChannel:(Lio/vertx/core/Handler;Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;)V
         1: .line 249
            return
        end local 3 // io.vertx.core.Handler resultHandler
        end local 1 // long timeout
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    2     1        timeout  J
            0    2     3  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (JLio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
               Name  Flags
      timeout        
      resultHandler  

  public void basicQos(int, int, boolean, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (IIZLio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // int prefetchSize
        start local 2 // int prefetchCount
        start local 3 // boolean global
        start local 4 // io.vertx.core.Handler resultHandler
         0: .line 253
            aload 0 /* this */
            aload 4 /* resultHandler */
            iload 1 /* prefetchSize */
            iload 2 /* prefetchCount */
            iload 3 /* global */
            invokedynamic handle(IIZ)Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;
              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:
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Object;
                  io/vertx/rabbitmq/impl/RabbitMQClientImpl.lambda$12(IIZLcom/rabbitmq/client/Channel;)Ljava/lang/Void; (6)
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Void;
            invokevirtual io.vertx.rabbitmq.impl.RabbitMQClientImpl.forChannel:(Lio/vertx/core/Handler;Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;)V
         1: .line 257
            return
        end local 4 // io.vertx.core.Handler resultHandler
        end local 3 // boolean global
        end local 2 // int prefetchCount
        end local 1 // int prefetchSize
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    2     1   prefetchSize  I
            0    2     2  prefetchCount  I
            0    2     3         global  Z
            0    2     4  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (IIZLio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
               Name  Flags
      prefetchSize   
      prefetchCount  
      global         
      resultHandler  

  public void exchangeDeclare(java.lang.String, java.lang.String, boolean, boolean, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;ZZLio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // java.lang.String exchange
        start local 2 // java.lang.String type
        start local 3 // boolean durable
        start local 4 // boolean autoDelete
        start local 5 // io.vertx.core.Handler resultHandler
         0: .line 261
            aload 0 /* this */
            aload 1 /* exchange */
            aload 2 /* type */
            iload 3 /* durable */
            iload 4 /* autoDelete */
            getstatic io.vertx.rabbitmq.impl.RabbitMQClientImpl.emptyConfig:Lio/vertx/core/json/JsonObject;
            aload 5 /* resultHandler */
            invokevirtual io.vertx.rabbitmq.impl.RabbitMQClientImpl.exchangeDeclare:(Ljava/lang/String;Ljava/lang/String;ZZLio/vertx/core/json/JsonObject;Lio/vertx/core/Handler;)V
         1: .line 262
            return
        end local 5 // io.vertx.core.Handler resultHandler
        end local 4 // boolean autoDelete
        end local 3 // boolean durable
        end local 2 // java.lang.String type
        end local 1 // java.lang.String exchange
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    2     1       exchange  Ljava/lang/String;
            0    2     2           type  Ljava/lang/String;
            0    2     3        durable  Z
            0    2     4     autoDelete  Z
            0    2     5  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Ljava/lang/String;Ljava/lang/String;ZZLio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
               Name  Flags
      exchange       
      type           
      durable        
      autoDelete     
      resultHandler  

  public void exchangeDeclare(java.lang.String, java.lang.String, boolean, boolean, java.util.Map<java.lang.String, java.lang.String>, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;ZZLjava/util/Map;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=7
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // java.lang.String exchange
        start local 2 // java.lang.String type
        start local 3 // boolean durable
        start local 4 // boolean autoDelete
        start local 5 // java.util.Map config
        start local 6 // io.vertx.core.Handler resultHandler
         0: .line 268
            aload 0 /* this */
            aload 6 /* resultHandler */
            aload 0 /* this */
            aload 1 /* exchange */
            aload 2 /* type */
            iload 3 /* durable */
            iload 4 /* autoDelete */
            aload 5 /* config */
            invokedynamic handle(Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;Ljava/lang/String;Ljava/lang/String;ZZLjava/util/Map;)Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;
              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:
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Object;
                  io/vertx/rabbitmq/impl/RabbitMQClientImpl.lambda$13(Ljava/lang/String;Ljava/lang/String;ZZLjava/util/Map;Lcom/rabbitmq/client/Channel;)Ljava/lang/Void; (7)
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Void;
            invokevirtual io.vertx.rabbitmq.impl.RabbitMQClientImpl.forChannel:(Lio/vertx/core/Handler;Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;)V
         1: .line 272
            return
        end local 6 // io.vertx.core.Handler resultHandler
        end local 5 // java.util.Map config
        end local 4 // boolean autoDelete
        end local 3 // boolean durable
        end local 2 // java.lang.String type
        end local 1 // java.lang.String exchange
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    2     1       exchange  Ljava/lang/String;
            0    2     2           type  Ljava/lang/String;
            0    2     3        durable  Z
            0    2     4     autoDelete  Z
            0    2     5         config  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0    2     6  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Ljava/lang/String;Ljava/lang/String;ZZLjava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
               Name  Flags
      exchange       
      type           
      durable        
      autoDelete     
      config         
      resultHandler  

  public void exchangeDeclare(java.lang.String, java.lang.String, boolean, boolean, io.vertx.core.json.JsonObject, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;ZZLio/vertx/core/json/JsonObject;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=7
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // java.lang.String exchange
        start local 2 // java.lang.String type
        start local 3 // boolean durable
        start local 4 // boolean autoDelete
        start local 5 // io.vertx.core.json.JsonObject config
        start local 6 // io.vertx.core.Handler resultHandler
         0: .line 283
            aload 0 /* this */
            aload 6 /* resultHandler */
            aload 1 /* exchange */
            aload 2 /* type */
            iload 3 /* durable */
            iload 4 /* autoDelete */
            aload 5 /* config */
            invokedynamic handle(Ljava/lang/String;Ljava/lang/String;ZZLio/vertx/core/json/JsonObject;)Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;
              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:
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Object;
                  io/vertx/rabbitmq/impl/RabbitMQClientImpl.lambda$14(Ljava/lang/String;Ljava/lang/String;ZZLio/vertx/core/json/JsonObject;Lcom/rabbitmq/client/Channel;)Ljava/lang/Void; (6)
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Void;
            invokevirtual io.vertx.rabbitmq.impl.RabbitMQClientImpl.forChannel:(Lio/vertx/core/Handler;Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;)V
         1: .line 287
            return
        end local 6 // io.vertx.core.Handler resultHandler
        end local 5 // io.vertx.core.json.JsonObject config
        end local 4 // boolean autoDelete
        end local 3 // boolean durable
        end local 2 // java.lang.String type
        end local 1 // java.lang.String exchange
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    2     1       exchange  Ljava/lang/String;
            0    2     2           type  Ljava/lang/String;
            0    2     3        durable  Z
            0    2     4     autoDelete  Z
            0    2     5         config  Lio/vertx/core/json/JsonObject;
            0    2     6  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Ljava/lang/String;Ljava/lang/String;ZZLio/vertx/core/json/JsonObject;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
               Name  Flags
      exchange       
      type           
      durable        
      autoDelete     
      config         
      resultHandler  

  public void exchangeDelete(java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // java.lang.String exchange
        start local 2 // io.vertx.core.Handler resultHandler
         0: .line 291
            aload 0 /* this */
            aload 2 /* resultHandler */
            aload 1 /* exchange */
            invokedynamic handle(Ljava/lang/String;)Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;
              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:
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Object;
                  io/vertx/rabbitmq/impl/RabbitMQClientImpl.lambda$15(Ljava/lang/String;Lcom/rabbitmq/client/Channel;)Ljava/lang/Void; (6)
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Void;
            invokevirtual io.vertx.rabbitmq.impl.RabbitMQClientImpl.forChannel:(Lio/vertx/core/Handler;Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;)V
         1: .line 295
            return
        end local 2 // io.vertx.core.Handler resultHandler
        end local 1 // java.lang.String exchange
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    2     1       exchange  Ljava/lang/String;
            0    2     2  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
               Name  Flags
      exchange       
      resultHandler  

  public void exchangeBind(java.lang.String, java.lang.String, java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // java.lang.String destination
        start local 2 // java.lang.String source
        start local 3 // java.lang.String routingKey
        start local 4 // io.vertx.core.Handler resultHandler
         0: .line 299
            aload 0 /* this */
            aload 4 /* resultHandler */
            aload 1 /* destination */
            aload 2 /* source */
            aload 3 /* routingKey */
            invokedynamic handle(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;
              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:
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Object;
                  io/vertx/rabbitmq/impl/RabbitMQClientImpl.lambda$16(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/rabbitmq/client/Channel;)Ljava/lang/Void; (6)
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Void;
            invokevirtual io.vertx.rabbitmq.impl.RabbitMQClientImpl.forChannel:(Lio/vertx/core/Handler;Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;)V
         1: .line 303
            return
        end local 4 // io.vertx.core.Handler resultHandler
        end local 3 // java.lang.String routingKey
        end local 2 // java.lang.String source
        end local 1 // java.lang.String destination
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    2     1    destination  Ljava/lang/String;
            0    2     2         source  Ljava/lang/String;
            0    2     3     routingKey  Ljava/lang/String;
            0    2     4  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
               Name  Flags
      destination    
      source         
      routingKey     
      resultHandler  

  public void exchangeUnbind(java.lang.String, java.lang.String, java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // java.lang.String destination
        start local 2 // java.lang.String source
        start local 3 // java.lang.String routingKey
        start local 4 // io.vertx.core.Handler resultHandler
         0: .line 307
            aload 0 /* this */
            aload 4 /* resultHandler */
            aload 1 /* destination */
            aload 2 /* source */
            aload 3 /* routingKey */
            invokedynamic handle(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;
              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:
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Object;
                  io/vertx/rabbitmq/impl/RabbitMQClientImpl.lambda$17(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/rabbitmq/client/Channel;)Ljava/lang/Void; (6)
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Void;
            invokevirtual io.vertx.rabbitmq.impl.RabbitMQClientImpl.forChannel:(Lio/vertx/core/Handler;Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;)V
         1: .line 311
            return
        end local 4 // io.vertx.core.Handler resultHandler
        end local 3 // java.lang.String routingKey
        end local 2 // java.lang.String source
        end local 1 // java.lang.String destination
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    2     1    destination  Ljava/lang/String;
            0    2     2         source  Ljava/lang/String;
            0    2     3     routingKey  Ljava/lang/String;
            0    2     4  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
               Name  Flags
      destination    
      source         
      routingKey     
      resultHandler  

  public void queueDeclareAuto(io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.json.JsonObject>>);
    descriptor: (Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // io.vertx.core.Handler resultHandler
         0: .line 315
            aload 0 /* this */
            aload 1 /* resultHandler */
            invokedynamic handle()Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;
              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:
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Object;
                  io/vertx/rabbitmq/impl/RabbitMQClientImpl.lambda$18(Lcom/rabbitmq/client/Channel;)Lio/vertx/core/json/JsonObject; (6)
                  (Lcom/rabbitmq/client/Channel;)Lio/vertx/core/json/JsonObject;
            invokevirtual io.vertx.rabbitmq.impl.RabbitMQClientImpl.forChannel:(Lio/vertx/core/Handler;Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;)V
         1: .line 319
            return
        end local 1 // io.vertx.core.Handler resultHandler
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    2     1  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;>;)V
    MethodParameters:
               Name  Flags
      resultHandler  

  public void queueDeclare(java.lang.String, boolean, boolean, boolean, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.json.JsonObject>>);
    descriptor: (Ljava/lang/String;ZZZLio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // java.lang.String queue
        start local 2 // boolean durable
        start local 3 // boolean exclusive
        start local 4 // boolean autoDelete
        start local 5 // io.vertx.core.Handler resultHandler
         0: .line 323
            aload 0 /* this */
            aload 1 /* queue */
            iload 2 /* durable */
            iload 3 /* exclusive */
            iload 4 /* autoDelete */
            getstatic io.vertx.rabbitmq.impl.RabbitMQClientImpl.emptyConfig:Lio/vertx/core/json/JsonObject;
            aload 5 /* resultHandler */
            invokevirtual io.vertx.rabbitmq.impl.RabbitMQClientImpl.queueDeclare:(Ljava/lang/String;ZZZLio/vertx/core/json/JsonObject;Lio/vertx/core/Handler;)V
         1: .line 324
            return
        end local 5 // io.vertx.core.Handler resultHandler
        end local 4 // boolean autoDelete
        end local 3 // boolean exclusive
        end local 2 // boolean durable
        end local 1 // java.lang.String queue
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    2     1          queue  Ljava/lang/String;
            0    2     2        durable  Z
            0    2     3      exclusive  Z
            0    2     4     autoDelete  Z
            0    2     5  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;>;
    Signature: (Ljava/lang/String;ZZZLio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;>;)V
    MethodParameters:
               Name  Flags
      queue          
      durable        
      exclusive      
      autoDelete     
      resultHandler  

  public void queueDeclare(java.lang.String, boolean, boolean, boolean, java.util.Map<java.lang.String, java.lang.String>, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.json.JsonObject>>);
    descriptor: (Ljava/lang/String;ZZZLjava/util/Map;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=7
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // java.lang.String queue
        start local 2 // boolean durable
        start local 3 // boolean exclusive
        start local 4 // boolean autoDelete
        start local 5 // java.util.Map config
        start local 6 // io.vertx.core.Handler resultHandler
         0: .line 329
            aload 0 /* this */
            aload 6 /* resultHandler */
            aload 0 /* this */
            aload 1 /* queue */
            iload 2 /* durable */
            iload 3 /* exclusive */
            iload 4 /* autoDelete */
            aload 5 /* config */
            invokedynamic handle(Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;Ljava/lang/String;ZZZLjava/util/Map;)Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;
              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:
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Object;
                  io/vertx/rabbitmq/impl/RabbitMQClientImpl.lambda$19(Ljava/lang/String;ZZZLjava/util/Map;Lcom/rabbitmq/client/Channel;)Lio/vertx/core/json/JsonObject; (7)
                  (Lcom/rabbitmq/client/Channel;)Lio/vertx/core/json/JsonObject;
            invokevirtual io.vertx.rabbitmq.impl.RabbitMQClientImpl.forChannel:(Lio/vertx/core/Handler;Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;)V
         1: .line 333
            return
        end local 6 // io.vertx.core.Handler resultHandler
        end local 5 // java.util.Map config
        end local 4 // boolean autoDelete
        end local 3 // boolean exclusive
        end local 2 // boolean durable
        end local 1 // java.lang.String queue
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    2     1          queue  Ljava/lang/String;
            0    2     2        durable  Z
            0    2     3      exclusive  Z
            0    2     4     autoDelete  Z
            0    2     5         config  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0    2     6  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;>;
    Signature: (Ljava/lang/String;ZZZLjava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;>;)V
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
               Name  Flags
      queue          
      durable        
      exclusive      
      autoDelete     
      config         
      resultHandler  

  public void queueDeclare(java.lang.String, boolean, boolean, boolean, io.vertx.core.json.JsonObject, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.json.JsonObject>>);
    descriptor: (Ljava/lang/String;ZZZLio/vertx/core/json/JsonObject;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=7
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // java.lang.String queue
        start local 2 // boolean durable
        start local 3 // boolean exclusive
        start local 4 // boolean autoDelete
        start local 5 // io.vertx.core.json.JsonObject config
        start local 6 // io.vertx.core.Handler resultHandler
         0: .line 344
            aload 0 /* this */
            aload 6 /* resultHandler */
            aload 1 /* queue */
            iload 2 /* durable */
            iload 3 /* exclusive */
            iload 4 /* autoDelete */
            aload 5 /* config */
            invokedynamic handle(Ljava/lang/String;ZZZLio/vertx/core/json/JsonObject;)Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;
              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:
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Object;
                  io/vertx/rabbitmq/impl/RabbitMQClientImpl.lambda$20(Ljava/lang/String;ZZZLio/vertx/core/json/JsonObject;Lcom/rabbitmq/client/Channel;)Lio/vertx/core/json/JsonObject; (6)
                  (Lcom/rabbitmq/client/Channel;)Lio/vertx/core/json/JsonObject;
            invokevirtual io.vertx.rabbitmq.impl.RabbitMQClientImpl.forChannel:(Lio/vertx/core/Handler;Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;)V
         1: .line 348
            return
        end local 6 // io.vertx.core.Handler resultHandler
        end local 5 // io.vertx.core.json.JsonObject config
        end local 4 // boolean autoDelete
        end local 3 // boolean exclusive
        end local 2 // boolean durable
        end local 1 // java.lang.String queue
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    2     1          queue  Ljava/lang/String;
            0    2     2        durable  Z
            0    2     3      exclusive  Z
            0    2     4     autoDelete  Z
            0    2     5         config  Lio/vertx/core/json/JsonObject;
            0    2     6  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;>;
    Signature: (Ljava/lang/String;ZZZLio/vertx/core/json/JsonObject;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;>;)V
    MethodParameters:
               Name  Flags
      queue          
      durable        
      exclusive      
      autoDelete     
      config         
      resultHandler  

  public void queueDelete(java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.json.JsonObject>>);
    descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // java.lang.String queue
        start local 2 // io.vertx.core.Handler resultHandler
         0: .line 352
            aload 0 /* this */
            aload 2 /* resultHandler */
            aload 1 /* queue */
            invokedynamic handle(Ljava/lang/String;)Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;
              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:
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Object;
                  io/vertx/rabbitmq/impl/RabbitMQClientImpl.lambda$21(Ljava/lang/String;Lcom/rabbitmq/client/Channel;)Lio/vertx/core/json/JsonObject; (6)
                  (Lcom/rabbitmq/client/Channel;)Lio/vertx/core/json/JsonObject;
            invokevirtual io.vertx.rabbitmq.impl.RabbitMQClientImpl.forChannel:(Lio/vertx/core/Handler;Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;)V
         1: .line 356
            return
        end local 2 // io.vertx.core.Handler resultHandler
        end local 1 // java.lang.String queue
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    2     1          queue  Ljava/lang/String;
            0    2     2  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;>;
    Signature: (Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;>;)V
    MethodParameters:
               Name  Flags
      queue          
      resultHandler  

  public void queueDeleteIf(java.lang.String, boolean, boolean, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.json.JsonObject>>);
    descriptor: (Ljava/lang/String;ZZLio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // java.lang.String queue
        start local 2 // boolean ifUnused
        start local 3 // boolean ifEmpty
        start local 4 // io.vertx.core.Handler resultHandler
         0: .line 360
            aload 0 /* this */
            aload 4 /* resultHandler */
            aload 1 /* queue */
            iload 2 /* ifUnused */
            iload 3 /* ifEmpty */
            invokedynamic handle(Ljava/lang/String;ZZ)Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;
              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:
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Object;
                  io/vertx/rabbitmq/impl/RabbitMQClientImpl.lambda$22(Ljava/lang/String;ZZLcom/rabbitmq/client/Channel;)Lio/vertx/core/json/JsonObject; (6)
                  (Lcom/rabbitmq/client/Channel;)Lio/vertx/core/json/JsonObject;
            invokevirtual io.vertx.rabbitmq.impl.RabbitMQClientImpl.forChannel:(Lio/vertx/core/Handler;Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;)V
         1: .line 364
            return
        end local 4 // io.vertx.core.Handler resultHandler
        end local 3 // boolean ifEmpty
        end local 2 // boolean ifUnused
        end local 1 // java.lang.String queue
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    2     1          queue  Ljava/lang/String;
            0    2     2       ifUnused  Z
            0    2     3        ifEmpty  Z
            0    2     4  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;>;
    Signature: (Ljava/lang/String;ZZLio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;>;)V
    MethodParameters:
               Name  Flags
      queue          
      ifUnused       
      ifEmpty        
      resultHandler  

  public void queueBind(java.lang.String, java.lang.String, java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // java.lang.String queue
        start local 2 // java.lang.String exchange
        start local 3 // java.lang.String routingKey
        start local 4 // io.vertx.core.Handler resultHandler
         0: .line 368
            aload 0 /* this */
            aload 4 /* resultHandler */
            aload 1 /* queue */
            aload 2 /* exchange */
            aload 3 /* routingKey */
            invokedynamic handle(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;
              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:
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Object;
                  io/vertx/rabbitmq/impl/RabbitMQClientImpl.lambda$23(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/rabbitmq/client/Channel;)Ljava/lang/Void; (6)
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Void;
            invokevirtual io.vertx.rabbitmq.impl.RabbitMQClientImpl.forChannel:(Lio/vertx/core/Handler;Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;)V
         1: .line 372
            return
        end local 4 // io.vertx.core.Handler resultHandler
        end local 3 // java.lang.String routingKey
        end local 2 // java.lang.String exchange
        end local 1 // java.lang.String queue
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    2     1          queue  Ljava/lang/String;
            0    2     2       exchange  Ljava/lang/String;
            0    2     3     routingKey  Ljava/lang/String;
            0    2     4  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
               Name  Flags
      queue          
      exchange       
      routingKey     
      resultHandler  

  public void messageCount(java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Long>>);
    descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // java.lang.String queue
        start local 2 // io.vertx.core.Handler resultHandler
         0: .line 376
            aload 0 /* this */
            aload 2 /* resultHandler */
            aload 1 /* queue */
            invokedynamic handle(Ljava/lang/String;)Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;
              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:
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Object;
                  io/vertx/rabbitmq/impl/RabbitMQClientImpl.lambda$24(Ljava/lang/String;Lcom/rabbitmq/client/Channel;)Ljava/lang/Long; (6)
                  (Lcom/rabbitmq/client/Channel;)Ljava/lang/Long;
            invokevirtual io.vertx.rabbitmq.impl.RabbitMQClientImpl.forChannel:(Lio/vertx/core/Handler;Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;)V
         1: .line 377
            return
        end local 2 // io.vertx.core.Handler resultHandler
        end local 1 // java.lang.String queue
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    2     1          queue  Ljava/lang/String;
            0    2     2  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Long;>;>;
    Signature: (Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Long;>;>;)V
    MethodParameters:
               Name  Flags
      queue          
      resultHandler  

  public void start(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=2, args_size=2
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // io.vertx.core.Handler resultHandler
         0: .line 381
            getstatic io.vertx.rabbitmq.impl.RabbitMQClientImpl.log:Lio/vertx/core/logging/Logger;
            ldc "Starting rabbitmq client"
            invokevirtual io.vertx.core.logging.Logger.info:(Ljava/lang/Object;)V
         1: .line 382
            aload 0 /* this */
            iconst_0
            aload 1 /* resultHandler */
            invokevirtual io.vertx.rabbitmq.impl.RabbitMQClientImpl.start:(ILio/vertx/core/Handler;)V
         2: .line 383
            return
        end local 1 // io.vertx.core.Handler resultHandler
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    3     1  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
               Name  Flags
      resultHandler  

  private void start(int, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (ILio/vertx/core/Handler;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // int attempts
        start local 2 // io.vertx.core.Handler resultHandler
         0: .line 386
            aload 0 /* this */
            getfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.vertx:Lio/vertx/core/Vertx;
            aload 0 /* this */
            invokedynamic handle(Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;)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/rabbitmq/impl/RabbitMQClientImpl.lambda$25(Lio/vertx/core/Promise;)V (7)
                  (Lio/vertx/core/Promise;)V
         1: .line 394
            aload 0 /* this */
            aload 2 /* resultHandler */
            iload 1 /* attempts */
            invokedynamic handle(Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;Lio/vertx/core/Handler;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/rabbitmq/impl/RabbitMQClientImpl.lambda$26(Lio/vertx/core/Handler;ILio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
         2: .line 386
            invokeinterface io.vertx.core.Vertx.executeBlocking:(Lio/vertx/core/Handler;Lio/vertx/core/Handler;)V
         3: .line 409
            return
        end local 2 // io.vertx.core.Handler resultHandler
        end local 1 // int attempts
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    4     1       attempts  I
            0    4     2  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (ILio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
               Name  Flags
      attempts       
      resultHandler  

  public void stop(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=2, args_size=2
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // io.vertx.core.Handler resultHandler
         0: .line 413
            getstatic io.vertx.rabbitmq.impl.RabbitMQClientImpl.log:Lio/vertx/core/logging/Logger;
            ldc "Stopping rabbitmq client"
            invokevirtual io.vertx.core.logging.Logger.info:(Ljava/lang/Object;)V
         1: .line 414
            aload 0 /* this */
            getfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.vertx:Lio/vertx/core/Vertx;
            aload 0 /* this */
            invokedynamic handle(Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;)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/rabbitmq/impl/RabbitMQClientImpl.lambda$28(Lio/vertx/core/Promise;)V (7)
                  (Lio/vertx/core/Promise;)V
         2: .line 421
            aload 1 /* resultHandler */
         3: .line 414
            invokeinterface io.vertx.core.Vertx.executeBlocking:(Lio/vertx/core/Handler;Lio/vertx/core/Handler;)V
         4: .line 422
            return
        end local 1 // io.vertx.core.Handler resultHandler
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    5     1  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
               Name  Flags
      resultHandler  

  private <T> void forChannel(io.vertx.core.Handler<io.vertx.core.AsyncResult<T>>, io.vertx.rabbitmq.impl.RabbitMQClientImpl$ChannelHandler<T>);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // io.vertx.core.Handler resultHandler
        start local 2 // io.vertx.rabbitmq.impl.RabbitMQClientImpl$ChannelHandler channelHandler
         0: .line 425
            aload 0 /* this */
            getfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.connection:Lcom/rabbitmq/client/Connection;
            ifnull 1
            aload 0 /* this */
            getfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.channel:Lcom/rabbitmq/client/Channel;
            ifnonnull 3
         1: .line 426
      StackMap locals:
      StackMap stack:
            aload 1 /* resultHandler */
            ldc "Not connected"
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 427
            return
         3: .line 429
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.channel:Lcom/rabbitmq/client/Channel;
            invokeinterface com.rabbitmq.client.Channel.isOpen:()Z
            ifne 12
         4: .line 434
            getstatic io.vertx.rabbitmq.impl.RabbitMQClientImpl.log:Lio/vertx/core/logging/Logger;
            ldc "channel is close, try create Channel"
            invokevirtual io.vertx.core.logging.Logger.debug:(Ljava/lang/Object;)V
         5: .line 436
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.connection:Lcom/rabbitmq/client/Connection;
            invokeinterface com.rabbitmq.client.Connection.createChannel:()Lcom/rabbitmq/client/Channel;
            putfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.channel:Lcom/rabbitmq/client/Channel;
         6: .line 438
            aload 0 /* this */
            getfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.channelConfirms:Z
            ifeq 12
         7: .line 439
            aload 0 /* this */
            getfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.channel:Lcom/rabbitmq/client/Channel;
            invokeinterface com.rabbitmq.client.Channel.confirmSelect:()Lcom/rabbitmq/client/AMQP$Confirm$SelectOk;
            pop
         8: .line 440
            goto 12
      StackMap locals:
      StackMap stack: java.io.IOException
         9: astore 3 /* e */
        start local 3 // java.io.IOException e
        10: .line 441
            getstatic io.vertx.rabbitmq.impl.RabbitMQClientImpl.log:Lio/vertx/core/logging/Logger;
            ldc "create channel error"
            invokevirtual io.vertx.core.logging.Logger.debug:(Ljava/lang/Object;)V
        11: .line 442
            aload 1 /* resultHandler */
            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.io.IOException e
        12: .line 446
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.vertx:Lio/vertx/core/Vertx;
            aload 0 /* this */
            aload 2 /* channelHandler */
            invokedynamic handle(Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;)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/rabbitmq/impl/RabbitMQClientImpl.lambda$29(Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;Lio/vertx/core/Promise;)V (7)
                  (Lio/vertx/core/Promise;)V
        13: .line 453
            aload 1 /* resultHandler */
        14: .line 446
            invokeinterface io.vertx.core.Vertx.executeBlocking:(Lio/vertx/core/Handler;Lio/vertx/core/Handler;)V
        15: .line 454
            return
        end local 2 // io.vertx.rabbitmq.impl.RabbitMQClientImpl$ChannelHandler channelHandler
        end local 1 // io.vertx.core.Handler resultHandler
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   16     0            this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0   16     1   resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;
            0   16     2  channelHandler  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler<TT;>;
           10   12     3               e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           4     8       9  Class java.io.IOException
    Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler<TT;>;)V
    MethodParameters:
                Name  Flags
      resultHandler   
      channelHandler  

  private void connect();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
         0: .line 457
            getstatic io.vertx.rabbitmq.impl.RabbitMQClientImpl.log:Lio/vertx/core/logging/Logger;
            ldc "Connecting to rabbitmq..."
            invokevirtual io.vertx.core.logging.Logger.debug:(Ljava/lang/Object;)V
         1: .line 458
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.config:Lio/vertx/rabbitmq/RabbitMQOptions;
            invokestatic io.vertx.rabbitmq.impl.RabbitMQClientImpl.newConnection:(Lio/vertx/rabbitmq/RabbitMQOptions;)Lcom/rabbitmq/client/Connection;
            putfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.connection:Lcom/rabbitmq/client/Connection;
         2: .line 459
            aload 0 /* this */
            getfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.connection:Lcom/rabbitmq/client/Connection;
            aload 0 /* this */
            invokeinterface com.rabbitmq.client.Connection.addShutdownListener:(Lcom/rabbitmq/client/ShutdownListener;)V
         3: .line 460
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.connection:Lcom/rabbitmq/client/Connection;
            invokeinterface com.rabbitmq.client.Connection.createChannel:()Lcom/rabbitmq/client/Channel;
            putfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.channel:Lcom/rabbitmq/client/Channel;
         4: .line 461
            getstatic io.vertx.rabbitmq.impl.RabbitMQClientImpl.log:Lio/vertx/core/logging/Logger;
            ldc "Connected to rabbitmq !"
            invokevirtual io.vertx.core.logging.Logger.debug:(Ljava/lang/Object;)V
         5: .line 462
            return
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
    Exceptions:
      throws java.io.IOException, java.util.concurrent.TimeoutException

  private void disconnect();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
         0: .line 466
            getstatic io.vertx.rabbitmq.impl.RabbitMQClientImpl.log:Lio/vertx/core/logging/Logger;
            ldc "Disconnecting from rabbitmq..."
            invokevirtual io.vertx.core.logging.Logger.debug:(Ljava/lang/Object;)V
         1: .line 468
            aload 0 /* this */
            getfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.connection:Lcom/rabbitmq/client/Connection;
            invokeinterface com.rabbitmq.client.Connection.close:()V
         2: .line 469
            getstatic io.vertx.rabbitmq.impl.RabbitMQClientImpl.log:Lio/vertx/core/logging/Logger;
            ldc "Disconnected from rabbitmq !"
            invokevirtual io.vertx.core.logging.Logger.debug:(Ljava/lang/Object;)V
         3: .line 470
            goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         4: astore 1
         5: .line 471
            aload 0 /* this */
            aconst_null
            putfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.connection:Lcom/rabbitmq/client/Connection;
         6: .line 472
            aload 0 /* this */
            aconst_null
            putfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.channel:Lcom/rabbitmq/client/Channel;
         7: .line 473
            aload 1
            athrow
         8: .line 471
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.connection:Lcom/rabbitmq/client/Connection;
         9: .line 472
            aload 0 /* this */
            aconst_null
            putfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.channel:Lcom/rabbitmq/client/Channel;
        10: .line 474
            return
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
      Exception table:
        from    to  target  type
           0     4       4  any
    Exceptions:
      throws java.io.IOException

  private java.util.Map<java.lang.String, java.lang.Object> toArgumentsMap(java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljava/util/Map;)Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // java.util.Map map
         0: .line 477
            aconst_null
            astore 2 /* transformedMap */
        start local 2 // java.util.Map transformedMap
         1: .line 478
            aload 1 /* map */
            ifnull 4
         2: .line 479
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* transformedMap */
         3: .line 480
            aload 1 /* map */
            aload 2 /* transformedMap */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Ljava/util/Map;)Ljava/util/function/BiConsumer;
              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;Ljava/lang/Object;)V
                  java/util/Map.put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; (9 itf)
                  (Ljava/lang/String;Ljava/lang/String;)V
            invokeinterface java.util.Map.forEach:(Ljava/util/function/BiConsumer;)V
         4: .line 482
      StackMap locals: java.util.Map
      StackMap stack:
            aload 2 /* transformedMap */
            areturn
        end local 2 // java.util.Map transformedMap
        end local 1 // java.util.Map map
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    5     1             map  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            1    5     2  transformedMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    MethodParameters:
      Name  Flags
      map   

  public void shutdownCompleted(com.rabbitmq.client.ShutdownSignalException);
    descriptor: (Lcom/rabbitmq/client/ShutdownSignalException;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // com.rabbitmq.client.ShutdownSignalException cause
         0: .line 487
            aload 1 /* cause */
            invokevirtual com.rabbitmq.client.ShutdownSignalException.isInitiatedByApplication:()Z
            ifeq 2
         1: .line 488
            return
         2: .line 491
      StackMap locals:
      StackMap stack:
            getstatic io.vertx.rabbitmq.impl.RabbitMQClientImpl.log:Lio/vertx/core/logging/Logger;
            ldc "RabbitMQ connection shutdown! The client will attempt to reconnect automatically"
            aload 1 /* cause */
            invokevirtual io.vertx.core.logging.Logger.info:(Ljava/lang/Object;Ljava/lang/Throwable;)V
         3: .line 492
            return
        end local 1 // com.rabbitmq.client.ShutdownSignalException cause
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    4     1  cause  Lcom/rabbitmq/client/ShutdownSignalException;
    MethodParameters:
       Name  Flags
      cause  

  private static io.vertx.core.json.JsonObject lambda$0(long, boolean, com.rabbitmq.client.Channel);
    descriptor: (JZLcom/rabbitmq/client/Channel;)Lio/vertx/core/json/JsonObject;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=3
        start local 3 // com.rabbitmq.client.Channel channel
         0: .line 102
            aload 3 /* channel */
            lload 0
            iload 2
            invokeinterface com.rabbitmq.client.Channel.basicAck:(JZ)V
         1: .line 103
            aconst_null
            areturn
        end local 3 // com.rabbitmq.client.Channel channel
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     3  channel  Lcom/rabbitmq/client/Channel;
    Exceptions:
      throws java.lang.Exception

  private static io.vertx.core.json.JsonObject lambda$1(long, boolean, boolean, com.rabbitmq.client.Channel);
    descriptor: (JZZLcom/rabbitmq/client/Channel;)Lio/vertx/core/json/JsonObject;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=4
        start local 4 // com.rabbitmq.client.Channel channel
         0: .line 110
            aload 4 /* channel */
            lload 0
            iload 2
            iload 3
            invokeinterface com.rabbitmq.client.Channel.basicNack:(JZZ)V
         1: .line 111
            aconst_null
            areturn
        end local 4 // com.rabbitmq.client.Channel channel
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     4  channel  Lcom/rabbitmq/client/Channel;
    Exceptions:
      throws java.lang.Exception

  private static void lambda$2(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=3, args_size=2
        start local 1 // io.vertx.core.AsyncResult ar
         0: .line 118
            aload 1 /* ar */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 5
         1: .line 119
            aload 1 /* ar */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast io.vertx.rabbitmq.impl.QueueConsumerHandler
            invokevirtual io.vertx.rabbitmq.impl.QueueConsumerHandler.queue:()Lio/vertx/rabbitmq/RabbitMQConsumer;
            astore 2 /* q */
        start local 2 // io.vertx.rabbitmq.RabbitMQConsumer q
         2: .line 122
            aload 2 /* q */
            invokeinterface io.vertx.rabbitmq.RabbitMQConsumer.resume:()Lio/vertx/rabbitmq/RabbitMQConsumer;
            pop
         3: .line 124
            aload 0
            aload 2 /* q */
            invokestatic io.vertx.core.Future.succeededFuture:(Ljava/lang/Object;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        end local 2 // io.vertx.rabbitmq.RabbitMQConsumer q
         4: .line 125
            goto 6
         5: .line 126
      StackMap locals:
      StackMap stack:
            aload 0
            aload 1 /* ar */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         6: .line 128
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.AsyncResult ar
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     1    ar  Lio/vertx/core/AsyncResult<Lio/vertx/rabbitmq/impl/QueueConsumerHandler;>;
            2    4     2     q  Lio/vertx/rabbitmq/RabbitMQConsumer;

  private io.vertx.rabbitmq.impl.QueueConsumerHandler lambda$3(io.vertx.rabbitmq.QueueOptions, java.lang.String, com.rabbitmq.client.Channel);
    descriptor: (Lio/vertx/rabbitmq/QueueOptions;Ljava/lang/String;Lcom/rabbitmq/client/Channel;)Lio/vertx/rabbitmq/impl/QueueConsumerHandler;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 3 // com.rabbitmq.client.Channel channel
         0: .line 129
            new io.vertx.rabbitmq.impl.QueueConsumerHandler
            dup
            aload 0 /* this */
            getfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.vertx:Lio/vertx/core/Vertx;
            aload 3 /* channel */
            aload 0 /* this */
            getfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.includeProperties:Z
            aload 1
            invokespecial io.vertx.rabbitmq.impl.QueueConsumerHandler.<init>:(Lio/vertx/core/Vertx;Lcom/rabbitmq/client/Channel;ZLio/vertx/rabbitmq/QueueOptions;)V
            astore 4 /* handler */
        start local 4 // io.vertx.rabbitmq.impl.QueueConsumerHandler handler
         1: .line 130
            aload 3 /* channel */
            aload 2
            aload 1
            invokevirtual io.vertx.rabbitmq.QueueOptions.isAutoAck:()Z
            aload 4 /* handler */
            invokeinterface com.rabbitmq.client.Channel.basicConsume:(Ljava/lang/String;ZLcom/rabbitmq/client/Consumer;)Ljava/lang/String;
            pop
         2: .line 131
            aload 4 /* handler */
            areturn
        end local 4 // io.vertx.rabbitmq.impl.QueueConsumerHandler handler
        end local 3 // com.rabbitmq.client.Channel channel
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    3     3  channel  Lcom/rabbitmq/client/Channel;
            1    3     4  handler  Lio/vertx/rabbitmq/impl/QueueConsumerHandler;
    Exceptions:
      throws java.lang.Exception

  private java.lang.String lambda$4(java.lang.String, boolean, java.lang.String, io.vertx.core.Handler, com.rabbitmq.client.Channel);
    descriptor: (Ljava/lang/String;ZLjava/lang/String;Lio/vertx/core/Handler;Lcom/rabbitmq/client/Channel;)Ljava/lang/String;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=11, locals=6, args_size=6
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 5 // com.rabbitmq.client.Channel channel
         0: .line 148
            aload 5 /* channel */
            aload 1
            iload 2
            new io.vertx.rabbitmq.impl.ConsumerHandler
            dup
            aload 0 /* this */
            getfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.vertx:Lio/vertx/core/Vertx;
            aload 5 /* channel */
            aload 0 /* this */
            getfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.includeProperties:Z
            aload 0 /* this */
            aload 3
            aload 4
            invokedynamic handle(Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;Ljava/lang/String;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/rabbitmq/impl/RabbitMQClientImpl.lambda$5(Ljava/lang/String;Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            invokespecial io.vertx.rabbitmq.impl.ConsumerHandler.<init>:(Lio/vertx/core/Vertx;Lcom/rabbitmq/client/Channel;ZLio/vertx/core/Handler;)V
            invokeinterface com.rabbitmq.client.Channel.basicConsume:(Ljava/lang/String;ZLcom/rabbitmq/client/Consumer;)Ljava/lang/String;
         1: .line 157
            areturn
        end local 5 // com.rabbitmq.client.Channel channel
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    2     5  channel  Lcom/rabbitmq/client/Channel;
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Void lambda$6(java.lang.String, com.rabbitmq.client.Channel);
    descriptor: (Ljava/lang/String;Lcom/rabbitmq/client/Channel;)Ljava/lang/Void;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // com.rabbitmq.client.Channel channel
         0: .line 168
            aload 1 /* channel */
            aload 0
            invokeinterface com.rabbitmq.client.Channel.basicCancel:(Ljava/lang/String;)V
         1: .line 169
            aconst_null
            areturn
        end local 1 // com.rabbitmq.client.Channel channel
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     1  channel  Lcom/rabbitmq/client/Channel;
    Exceptions:
      throws java.lang.Exception

  private io.vertx.core.json.JsonObject lambda$7(java.lang.String, boolean, com.rabbitmq.client.Channel);
    descriptor: (Ljava/lang/String;ZLcom/rabbitmq/client/Channel;)Lio/vertx/core/json/JsonObject;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 3 // com.rabbitmq.client.Channel channel
         0: .line 176
            aload 3 /* channel */
            aload 1
            iload 2
            invokeinterface com.rabbitmq.client.Channel.basicGet:(Ljava/lang/String;Z)Lcom/rabbitmq/client/GetResponse;
            astore 4 /* response */
        start local 4 // com.rabbitmq.client.GetResponse response
         1: .line 177
            aload 4 /* response */
            ifnonnull 3
         2: .line 178
            aconst_null
            areturn
         3: .line 180
      StackMap locals: com.rabbitmq.client.GetResponse
      StackMap stack:
            new io.vertx.core.json.JsonObject
            dup
            invokespecial io.vertx.core.json.JsonObject.<init>:()V
            astore 5 /* json */
        start local 5 // io.vertx.core.json.JsonObject json
         4: .line 181
            aload 5 /* json */
            aload 4 /* response */
            invokevirtual com.rabbitmq.client.GetResponse.getEnvelope:()Lcom/rabbitmq/client/Envelope;
            invokestatic io.vertx.rabbitmq.impl.Utils.populate:(Lio/vertx/core/json/JsonObject;Lcom/rabbitmq/client/Envelope;)V
         5: .line 182
            aload 0 /* this */
            getfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.includeProperties:Z
            ifeq 7
         6: .line 183
            ldc "properties"
            aload 4 /* response */
            invokevirtual com.rabbitmq.client.GetResponse.getProps:()Lcom/rabbitmq/client/AMQP$BasicProperties;
            invokestatic io.vertx.rabbitmq.impl.Utils.toJson:(Lcom/rabbitmq/client/AMQP$BasicProperties;)Lio/vertx/core/json/JsonObject;
            aload 5 /* json */
            invokestatic io.vertx.rabbitmq.impl.Utils.put:(Ljava/lang/String;Ljava/lang/Object;Lio/vertx/core/json/JsonObject;)V
         7: .line 185
      StackMap locals: io.vertx.core.json.JsonObject
      StackMap stack:
            ldc "body"
            aload 4 /* response */
            invokevirtual com.rabbitmq.client.GetResponse.getProps:()Lcom/rabbitmq/client/AMQP$BasicProperties;
            aload 4 /* response */
            invokevirtual com.rabbitmq.client.GetResponse.getBody:()[B
            invokestatic io.vertx.rabbitmq.impl.Utils.parse:(Lcom/rabbitmq/client/AMQP$BasicProperties;[B)Ljava/lang/Object;
            aload 5 /* json */
            invokestatic io.vertx.rabbitmq.impl.Utils.put:(Ljava/lang/String;Ljava/lang/Object;Lio/vertx/core/json/JsonObject;)V
         8: .line 186
            ldc "messageCount"
            aload 4 /* response */
            invokevirtual com.rabbitmq.client.GetResponse.getMessageCount:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 5 /* json */
            invokestatic io.vertx.rabbitmq.impl.Utils.put:(Ljava/lang/String;Ljava/lang/Object;Lio/vertx/core/json/JsonObject;)V
         9: .line 187
            aload 5 /* json */
            areturn
        end local 5 // io.vertx.core.json.JsonObject json
        end local 4 // com.rabbitmq.client.GetResponse response
        end local 3 // com.rabbitmq.client.Channel channel
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0   10     3   channel  Lcom/rabbitmq/client/Channel;
            1   10     4  response  Lcom/rabbitmq/client/GetResponse;
            4   10     5      json  Lio/vertx/core/json/JsonObject;
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Void lambda$8(io.vertx.core.json.JsonObject, java.lang.String, java.lang.String, com.rabbitmq.client.Channel);
    descriptor: (Lio/vertx/core/json/JsonObject;Ljava/lang/String;Ljava/lang/String;Lcom/rabbitmq/client/Channel;)Ljava/lang/Void;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=9, args_size=4
        start local 3 // com.rabbitmq.client.Channel channel
         0: .line 196
            aload 0
            ldc "properties"
            invokevirtual io.vertx.core.json.JsonObject.getJsonObject:(Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            astore 4 /* properties */
        start local 4 // io.vertx.core.json.JsonObject properties
         1: .line 197
            aload 4 /* properties */
            ifnonnull 2
            aconst_null
            goto 3
      StackMap locals: io.vertx.core.json.JsonObject
      StackMap stack:
         2: aload 4 /* properties */
            ldc "contentType"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         3: astore 5 /* contentType */
        start local 5 // java.lang.String contentType
         4: .line 198
            aload 4 /* properties */
            ifnonnull 5
            aconst_null
            goto 6
      StackMap locals: java.lang.String
      StackMap stack:
         5: aload 4 /* properties */
            ldc "contentEncoding"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         6: astore 6 /* encoding */
        start local 6 // java.lang.String encoding
         7: .line 200
            aload 5 /* contentType */
            ifnull 18
         8: .line 201
            aload 5 /* contentType */
            dup
            astore 8
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 3
            -43840953: 9
            817335912: 10
           1178484637: 11
              default: 16
          }
      StackMap locals: io.vertx.core.json.JsonObject java.lang.String java.lang.String com.rabbitmq.client.Channel io.vertx.core.json.JsonObject java.lang.String java.lang.String top java.lang.String
      StackMap stack:
         9: aload 8
            ldc "application/json"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 12
            goto 16
      StackMap locals:
      StackMap stack:
        10: aload 8
            ldc "text/plain"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 16
            goto 16
      StackMap locals:
      StackMap stack:
        11: aload 8
            ldc "application/octet-stream"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 14
            goto 16
        12: .line 203
      StackMap locals:
      StackMap stack:
            aload 6 /* encoding */
            aload 0
            ldc "body"
            invokevirtual io.vertx.core.json.JsonObject.getJsonObject:(Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            invokevirtual io.vertx.core.json.JsonObject.toString:()Ljava/lang/String;
            invokestatic io.vertx.rabbitmq.impl.Utils.encode:(Ljava/lang/String;Ljava/lang/String;)[B
            astore 7 /* body */
        start local 7 // byte[] body
        13: .line 204
            goto 19
        end local 7 // byte[] body
        14: .line 206
      StackMap locals:
      StackMap stack:
            aload 0
            ldc "body"
            invokevirtual io.vertx.core.json.JsonObject.getBinary:(Ljava/lang/String;)[B
            astore 7 /* body */
        start local 7 // byte[] body
        15: .line 207
            goto 19
        end local 7 // byte[] body
        16: .line 210
      StackMap locals:
      StackMap stack:
            aload 6 /* encoding */
            aload 0
            ldc "body"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic io.vertx.rabbitmq.impl.Utils.encode:(Ljava/lang/String;Ljava/lang/String;)[B
            astore 7 /* body */
        start local 7 // byte[] body
        17: .line 212
            goto 19
        end local 7 // byte[] body
        18: .line 213
      StackMap locals: io.vertx.core.json.JsonObject java.lang.String java.lang.String com.rabbitmq.client.Channel io.vertx.core.json.JsonObject java.lang.String java.lang.String
      StackMap stack:
            aload 6 /* encoding */
            aload 0
            ldc "body"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic io.vertx.rabbitmq.impl.Utils.encode:(Ljava/lang/String;Ljava/lang/String;)[B
            astore 7 /* body */
        start local 7 // byte[] body
        19: .line 216
      StackMap locals: byte[]
      StackMap stack:
            aload 3 /* channel */
            aload 1
            aload 2
            aload 4 /* properties */
            invokestatic io.vertx.rabbitmq.impl.Utils.fromJson:(Lio/vertx/core/json/JsonObject;)Lcom/rabbitmq/client/AMQP$BasicProperties;
            aload 7 /* body */
            invokeinterface com.rabbitmq.client.Channel.basicPublish:(Ljava/lang/String;Ljava/lang/String;Lcom/rabbitmq/client/AMQP$BasicProperties;[B)V
        20: .line 217
            aconst_null
            areturn
        end local 7 // byte[] body
        end local 6 // java.lang.String encoding
        end local 5 // java.lang.String contentType
        end local 4 // io.vertx.core.json.JsonObject properties
        end local 3 // com.rabbitmq.client.Channel channel
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   21     3      channel  Lcom/rabbitmq/client/Channel;
            1   21     4   properties  Lio/vertx/core/json/JsonObject;
            4   21     5  contentType  Ljava/lang/String;
            7   21     6     encoding  Ljava/lang/String;
           13   14     7         body  [B
           15   16     7         body  [B
           17   18     7         body  [B
           19   21     7         body  [B
    Exceptions:
      throws java.lang.Exception

  private java.lang.Void lambda$9(com.rabbitmq.client.Channel);
    descriptor: (Lcom/rabbitmq/client/Channel;)Ljava/lang/Void;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // com.rabbitmq.client.Channel channel
         0: .line 225
            aload 1 /* channel */
            invokeinterface com.rabbitmq.client.Channel.confirmSelect:()Lcom/rabbitmq/client/AMQP$Confirm$SelectOk;
            pop
         1: .line 227
            aload 0 /* this */
            iconst_1
            putfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.channelConfirms:Z
         2: .line 229
            aconst_null
            areturn
        end local 1 // com.rabbitmq.client.Channel channel
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    3     1  channel  Lcom/rabbitmq/client/Channel;
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Void lambda$10(com.rabbitmq.client.Channel);
    descriptor: (Lcom/rabbitmq/client/Channel;)Ljava/lang/Void;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.rabbitmq.client.Channel channel
         0: .line 236
            aload 0 /* channel */
            invokeinterface com.rabbitmq.client.Channel.waitForConfirmsOrDie:()V
         1: .line 238
            aconst_null
            areturn
        end local 0 // com.rabbitmq.client.Channel channel
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  channel  Lcom/rabbitmq/client/Channel;
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Void lambda$11(long, com.rabbitmq.client.Channel);
    descriptor: (JLcom/rabbitmq/client/Channel;)Ljava/lang/Void;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=2
        start local 2 // com.rabbitmq.client.Channel channel
         0: .line 245
            aload 2 /* channel */
            lload 0
            invokeinterface com.rabbitmq.client.Channel.waitForConfirmsOrDie:(J)V
         1: .line 247
            aconst_null
            areturn
        end local 2 // com.rabbitmq.client.Channel channel
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     2  channel  Lcom/rabbitmq/client/Channel;
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Void lambda$12(int, int, boolean, com.rabbitmq.client.Channel);
    descriptor: (IIZLcom/rabbitmq/client/Channel;)Ljava/lang/Void;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
        start local 3 // com.rabbitmq.client.Channel channel
         0: .line 254
            aload 3 /* channel */
            iload 0
            iload 1
            iload 2
            invokeinterface com.rabbitmq.client.Channel.basicQos:(IIZ)V
         1: .line 255
            aconst_null
            areturn
        end local 3 // com.rabbitmq.client.Channel channel
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     3  channel  Lcom/rabbitmq/client/Channel;
    Exceptions:
      throws java.lang.Exception

  private java.lang.Void lambda$13(java.lang.String, java.lang.String, boolean, boolean, java.util.Map, com.rabbitmq.client.Channel);
    descriptor: (Ljava/lang/String;Ljava/lang/String;ZZLjava/util/Map;Lcom/rabbitmq/client/Channel;)Ljava/lang/Void;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=7, locals=7, args_size=7
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 6 // com.rabbitmq.client.Channel channel
         0: .line 269
            aload 6 /* channel */
            aload 1
            aload 2
            iload 3
            iload 4
            aload 0 /* this */
            aload 5
            invokevirtual io.vertx.rabbitmq.impl.RabbitMQClientImpl.toArgumentsMap:(Ljava/util/Map;)Ljava/util/Map;
            invokeinterface com.rabbitmq.client.Channel.exchangeDeclare:(Ljava/lang/String;Ljava/lang/String;ZZLjava/util/Map;)Lcom/rabbitmq/client/AMQP$Exchange$DeclareOk;
            pop
         1: .line 270
            aconst_null
            areturn
        end local 6 // com.rabbitmq.client.Channel channel
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    2     6  channel  Lcom/rabbitmq/client/Channel;
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Void lambda$14(java.lang.String, java.lang.String, boolean, boolean, io.vertx.core.json.JsonObject, com.rabbitmq.client.Channel);
    descriptor: (Ljava/lang/String;Ljava/lang/String;ZZLio/vertx/core/json/JsonObject;Lcom/rabbitmq/client/Channel;)Ljava/lang/Void;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=8, locals=6, args_size=6
        start local 5 // com.rabbitmq.client.Channel channel
         0: .line 284
            aload 5 /* channel */
            aload 0
            aload 1
            iload 2
            iload 3
            new java.util.LinkedHashMap
            dup
            aload 4
            invokevirtual io.vertx.core.json.JsonObject.getMap:()Ljava/util/Map;
            invokespecial java.util.LinkedHashMap.<init>:(Ljava/util/Map;)V
            invokeinterface com.rabbitmq.client.Channel.exchangeDeclare:(Ljava/lang/String;Ljava/lang/String;ZZLjava/util/Map;)Lcom/rabbitmq/client/AMQP$Exchange$DeclareOk;
            pop
         1: .line 285
            aconst_null
            areturn
        end local 5 // com.rabbitmq.client.Channel channel
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     5  channel  Lcom/rabbitmq/client/Channel;
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Void lambda$15(java.lang.String, com.rabbitmq.client.Channel);
    descriptor: (Ljava/lang/String;Lcom/rabbitmq/client/Channel;)Ljava/lang/Void;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // com.rabbitmq.client.Channel channel
         0: .line 292
            aload 1 /* channel */
            aload 0
            invokeinterface com.rabbitmq.client.Channel.exchangeDelete:(Ljava/lang/String;)Lcom/rabbitmq/client/AMQP$Exchange$DeleteOk;
            pop
         1: .line 293
            aconst_null
            areturn
        end local 1 // com.rabbitmq.client.Channel channel
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     1  channel  Lcom/rabbitmq/client/Channel;
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Void lambda$16(java.lang.String, java.lang.String, java.lang.String, com.rabbitmq.client.Channel);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/rabbitmq/client/Channel;)Ljava/lang/Void;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
        start local 3 // com.rabbitmq.client.Channel channel
         0: .line 300
            aload 3 /* channel */
            aload 0
            aload 1
            aload 2
            invokeinterface com.rabbitmq.client.Channel.exchangeBind:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/rabbitmq/client/AMQP$Exchange$BindOk;
            pop
         1: .line 301
            aconst_null
            areturn
        end local 3 // com.rabbitmq.client.Channel channel
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     3  channel  Lcom/rabbitmq/client/Channel;
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Void lambda$17(java.lang.String, java.lang.String, java.lang.String, com.rabbitmq.client.Channel);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/rabbitmq/client/Channel;)Ljava/lang/Void;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
        start local 3 // com.rabbitmq.client.Channel channel
         0: .line 308
            aload 3 /* channel */
            aload 0
            aload 1
            aload 2
            invokeinterface com.rabbitmq.client.Channel.exchangeUnbind:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/rabbitmq/client/AMQP$Exchange$UnbindOk;
            pop
         1: .line 309
            aconst_null
            areturn
        end local 3 // com.rabbitmq.client.Channel channel
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     3  channel  Lcom/rabbitmq/client/Channel;
    Exceptions:
      throws java.lang.Exception

  private static io.vertx.core.json.JsonObject lambda$18(com.rabbitmq.client.Channel);
    descriptor: (Lcom/rabbitmq/client/Channel;)Lio/vertx/core/json/JsonObject;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // com.rabbitmq.client.Channel channel
         0: .line 316
            aload 0 /* channel */
            invokeinterface com.rabbitmq.client.Channel.queueDeclare:()Lcom/rabbitmq/client/AMQP$Queue$DeclareOk;
            astore 1 /* result */
        start local 1 // com.rabbitmq.client.AMQP$Queue$DeclareOk result
         1: .line 317
            aload 1 /* result */
            invokestatic io.vertx.rabbitmq.impl.Utils.toJson:(Lcom/rabbitmq/client/AMQP$Queue$DeclareOk;)Lio/vertx/core/json/JsonObject;
            areturn
        end local 1 // com.rabbitmq.client.AMQP$Queue$DeclareOk result
        end local 0 // com.rabbitmq.client.Channel channel
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  channel  Lcom/rabbitmq/client/Channel;
            1    2     1   result  Lcom/rabbitmq/client/AMQP$Queue$DeclareOk;
    Exceptions:
      throws java.lang.Exception

  private io.vertx.core.json.JsonObject lambda$19(java.lang.String, boolean, boolean, boolean, java.util.Map, com.rabbitmq.client.Channel);
    descriptor: (Ljava/lang/String;ZZZLjava/util/Map;Lcom/rabbitmq/client/Channel;)Lio/vertx/core/json/JsonObject;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=7, locals=8, args_size=7
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 6 // com.rabbitmq.client.Channel channel
         0: .line 330
            aload 6 /* channel */
            aload 1
            iload 2
            iload 3
            iload 4
            aload 0 /* this */
            aload 5
            invokevirtual io.vertx.rabbitmq.impl.RabbitMQClientImpl.toArgumentsMap:(Ljava/util/Map;)Ljava/util/Map;
            invokeinterface com.rabbitmq.client.Channel.queueDeclare:(Ljava/lang/String;ZZZLjava/util/Map;)Lcom/rabbitmq/client/AMQP$Queue$DeclareOk;
            astore 7 /* result */
        start local 7 // com.rabbitmq.client.AMQP$Queue$DeclareOk result
         1: .line 331
            aload 7 /* result */
            invokestatic io.vertx.rabbitmq.impl.Utils.toJson:(Lcom/rabbitmq/client/AMQP$Queue$DeclareOk;)Lio/vertx/core/json/JsonObject;
            areturn
        end local 7 // com.rabbitmq.client.AMQP$Queue$DeclareOk result
        end local 6 // com.rabbitmq.client.Channel channel
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    2     6  channel  Lcom/rabbitmq/client/Channel;
            1    2     7   result  Lcom/rabbitmq/client/AMQP$Queue$DeclareOk;
    Exceptions:
      throws java.lang.Exception

  private static io.vertx.core.json.JsonObject lambda$20(java.lang.String, boolean, boolean, boolean, io.vertx.core.json.JsonObject, com.rabbitmq.client.Channel);
    descriptor: (Ljava/lang/String;ZZZLio/vertx/core/json/JsonObject;Lcom/rabbitmq/client/Channel;)Lio/vertx/core/json/JsonObject;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=8, locals=7, args_size=6
        start local 5 // com.rabbitmq.client.Channel channel
         0: .line 345
            aload 5 /* channel */
            aload 0
            iload 1
            iload 2
            iload 3
            new java.util.LinkedHashMap
            dup
            aload 4
            invokevirtual io.vertx.core.json.JsonObject.getMap:()Ljava/util/Map;
            invokespecial java.util.LinkedHashMap.<init>:(Ljava/util/Map;)V
            invokeinterface com.rabbitmq.client.Channel.queueDeclare:(Ljava/lang/String;ZZZLjava/util/Map;)Lcom/rabbitmq/client/AMQP$Queue$DeclareOk;
            astore 6 /* result */
        start local 6 // com.rabbitmq.client.AMQP$Queue$DeclareOk result
         1: .line 346
            aload 6 /* result */
            invokestatic io.vertx.rabbitmq.impl.Utils.toJson:(Lcom/rabbitmq/client/AMQP$Queue$DeclareOk;)Lio/vertx/core/json/JsonObject;
            areturn
        end local 6 // com.rabbitmq.client.AMQP$Queue$DeclareOk result
        end local 5 // com.rabbitmq.client.Channel channel
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     5  channel  Lcom/rabbitmq/client/Channel;
            1    2     6   result  Lcom/rabbitmq/client/AMQP$Queue$DeclareOk;
    Exceptions:
      throws java.lang.Exception

  private static io.vertx.core.json.JsonObject lambda$21(java.lang.String, com.rabbitmq.client.Channel);
    descriptor: (Ljava/lang/String;Lcom/rabbitmq/client/Channel;)Lio/vertx/core/json/JsonObject;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=2
        start local 1 // com.rabbitmq.client.Channel channel
         0: .line 353
            aload 1 /* channel */
            aload 0
            invokeinterface com.rabbitmq.client.Channel.queueDelete:(Ljava/lang/String;)Lcom/rabbitmq/client/AMQP$Queue$DeleteOk;
            astore 2 /* result */
        start local 2 // com.rabbitmq.client.AMQP$Queue$DeleteOk result
         1: .line 354
            aload 2 /* result */
            invokestatic io.vertx.rabbitmq.impl.Utils.toJson:(Lcom/rabbitmq/client/AMQP$Queue$DeleteOk;)Lio/vertx/core/json/JsonObject;
            areturn
        end local 2 // com.rabbitmq.client.AMQP$Queue$DeleteOk result
        end local 1 // com.rabbitmq.client.Channel channel
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     1  channel  Lcom/rabbitmq/client/Channel;
            1    2     2   result  Lcom/rabbitmq/client/AMQP$Queue$DeleteOk;
    Exceptions:
      throws java.lang.Exception

  private static io.vertx.core.json.JsonObject lambda$22(java.lang.String, boolean, boolean, com.rabbitmq.client.Channel);
    descriptor: (Ljava/lang/String;ZZLcom/rabbitmq/client/Channel;)Lio/vertx/core/json/JsonObject;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=5, args_size=4
        start local 3 // com.rabbitmq.client.Channel channel
         0: .line 361
            aload 3 /* channel */
            aload 0
            iload 1
            iload 2
            invokeinterface com.rabbitmq.client.Channel.queueDelete:(Ljava/lang/String;ZZ)Lcom/rabbitmq/client/AMQP$Queue$DeleteOk;
            astore 4 /* result */
        start local 4 // com.rabbitmq.client.AMQP$Queue$DeleteOk result
         1: .line 362
            aload 4 /* result */
            invokestatic io.vertx.rabbitmq.impl.Utils.toJson:(Lcom/rabbitmq/client/AMQP$Queue$DeleteOk;)Lio/vertx/core/json/JsonObject;
            areturn
        end local 4 // com.rabbitmq.client.AMQP$Queue$DeleteOk result
        end local 3 // com.rabbitmq.client.Channel channel
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     3  channel  Lcom/rabbitmq/client/Channel;
            1    2     4   result  Lcom/rabbitmq/client/AMQP$Queue$DeleteOk;
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Void lambda$23(java.lang.String, java.lang.String, java.lang.String, com.rabbitmq.client.Channel);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/rabbitmq/client/Channel;)Ljava/lang/Void;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
        start local 3 // com.rabbitmq.client.Channel channel
         0: .line 369
            aload 3 /* channel */
            aload 0
            aload 1
            aload 2
            invokeinterface com.rabbitmq.client.Channel.queueBind:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/rabbitmq/client/AMQP$Queue$BindOk;
            pop
         1: .line 370
            aconst_null
            areturn
        end local 3 // com.rabbitmq.client.Channel channel
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     3  channel  Lcom/rabbitmq/client/Channel;
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Long lambda$24(java.lang.String, com.rabbitmq.client.Channel);
    descriptor: (Ljava/lang/String;Lcom/rabbitmq/client/Channel;)Ljava/lang/Long;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // com.rabbitmq.client.Channel channel
         0: .line 376
            aload 1 /* channel */
            aload 0
            invokeinterface com.rabbitmq.client.Channel.messageCount:(Ljava/lang/String;)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
        end local 1 // com.rabbitmq.client.Channel channel
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     1  channel  Lcom/rabbitmq/client/Channel;
    Exceptions:
      throws java.lang.Exception

  private void lambda$25(io.vertx.core.Promise);
    descriptor: (Lio/vertx/core/Promise;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // io.vertx.core.Promise future
         0: .line 388
            aload 0 /* this */
            invokevirtual io.vertx.rabbitmq.impl.RabbitMQClientImpl.connect:()V
         1: .line 389
            aload 1 /* future */
            invokeinterface io.vertx.core.Promise.complete:()V
         2: .line 390
            goto 6
      StackMap locals:
      StackMap stack: java.lang.Exception
         3: astore 2 /* e */
        start local 2 // java.lang.Exception e
         4: .line 391
            getstatic io.vertx.rabbitmq.impl.RabbitMQClientImpl.log:Lio/vertx/core/logging/Logger;
            ldc "Could not connect to rabbitmq"
            aload 2 /* e */
            invokevirtual io.vertx.core.logging.Logger.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
         5: .line 392
            aload 1 /* future */
            aload 2 /* e */
            invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/Throwable;)V
        end local 2 // java.lang.Exception e
         6: .line 394
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.Promise future
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    7     1  future  Lio/vertx/core/Promise<Ljava/lang/Void;>;
            4    6     2       e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     2       3  Class java.io.IOException
           0     2       3  Class java.util.concurrent.TimeoutException

  private void lambda$26(io.vertx.core.Handler, int, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;ILio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 3 // io.vertx.core.AsyncResult ar
         0: .line 395
            aload 3 /* ar */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifne 1
            aload 0 /* this */
            getfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.retries:Ljava/lang/Integer;
            ifnonnull 3
         1: .line 396
      StackMap locals:
      StackMap stack:
            aload 1
            aload 3 /* ar */
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 397
            goto 10
      StackMap locals:
      StackMap stack:
         3: iload 2
            aload 0 /* this */
            getfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.retries:Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            if_icmplt 7
         4: .line 398
            getstatic io.vertx.rabbitmq.impl.RabbitMQClientImpl.log:Lio/vertx/core/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Max number of connect attempts ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.retries:Ljava/lang/Integer;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ") reached. Will not attempt to connect again"
            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.info:(Ljava/lang/Object;)V
         5: .line 399
            aload 1
            aload 3 /* ar */
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         6: .line 400
            goto 10
         7: .line 401
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.config:Lio/vertx/rabbitmq/RabbitMQOptions;
            invokevirtual io.vertx.rabbitmq.RabbitMQOptions.getConnectionRetryDelay:()J
            lstore 4 /* delay */
        start local 4 // long delay
         8: .line 402
            getstatic io.vertx.rabbitmq.impl.RabbitMQClientImpl.log:Lio/vertx/core/logging/Logger;
            ldc "Attempting to reconnect to rabbitmq..."
            invokevirtual io.vertx.core.logging.Logger.info:(Ljava/lang/Object;)V
         9: .line 403
            aload 0 /* this */
            getfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.vertx:Lio/vertx/core/Vertx;
            lload 4 /* delay */
            aload 0 /* this */
            iload 2
            aload 1
            invokedynamic handle(Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;ILio/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/rabbitmq/impl/RabbitMQClientImpl.lambda$27(ILio/vertx/core/Handler;Ljava/lang/Long;)V (7)
                  (Ljava/lang/Long;)V
            invokeinterface io.vertx.core.Vertx.setTimer:(JLio/vertx/core/Handler;)J
            pop2
        end local 4 // long delay
        10: .line 408
      StackMap locals:
      StackMap stack:
            return
        end local 3 // io.vertx.core.AsyncResult ar
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0   11     3     ar  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;
            8   10     4  delay  J

  private void lambda$28(io.vertx.core.Promise);
    descriptor: (Lio/vertx/core/Promise;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 1 // io.vertx.core.Promise future
         0: .line 416
            aload 0 /* this */
            invokevirtual io.vertx.rabbitmq.impl.RabbitMQClientImpl.disconnect:()V
         1: .line 417
            aload 1 /* future */
            invokeinterface io.vertx.core.Promise.complete:()V
         2: .line 418
            goto 5
      StackMap locals:
      StackMap stack: java.io.IOException
         3: astore 2 /* e */
        start local 2 // java.io.IOException e
         4: .line 419
            aload 1 /* future */
            aload 2 /* e */
            invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/Throwable;)V
        end local 2 // java.io.IOException e
         5: .line 421
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.Promise future
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    6     1  future  Lio/vertx/core/Promise<Ljava/lang/Void;>;
            4    5     2       e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.io.IOException

  private void lambda$29(io.vertx.rabbitmq.impl.RabbitMQClientImpl$ChannelHandler, io.vertx.core.Promise);
    descriptor: (Lio/vertx/rabbitmq/impl/RabbitMQClientImpl$ChannelHandler;Lio/vertx/core/Promise;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 2 // io.vertx.core.Promise future
         0: .line 448
            aload 1
            aload 0 /* this */
            getfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.channel:Lcom/rabbitmq/client/Channel;
            invokeinterface io.vertx.rabbitmq.impl.RabbitMQClientImpl$ChannelHandler.handle:(Lcom/rabbitmq/client/Channel;)Ljava/lang/Object;
            astore 3 /* t */
        start local 3 // java.lang.Object t
         1: .line 449
            aload 2 /* future */
            aload 3 /* t */
            invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
        end local 3 // java.lang.Object t
         2: .line 450
            goto 5
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 3 /* t */
        start local 3 // java.lang.Throwable t
         4: .line 451
            aload 2 /* future */
            aload 3 /* t */
            invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/Throwable;)V
        end local 3 // java.lang.Throwable t
         5: .line 453
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.core.Promise future
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    6     2  future  Lio/vertx/core/Promise<TT;>;
            1    2     3       t  TT;
            4    5     3       t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.Throwable

  private void lambda$5(java.lang.String, io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 3 // io.vertx.core.AsyncResult ar
         0: .line 149
            aload 3 /* ar */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 3
         1: .line 150
            aload 0 /* this */
            getfield io.vertx.rabbitmq.impl.RabbitMQClientImpl.vertx:Lio/vertx/core/Vertx;
            invokeinterface io.vertx.core.Vertx.eventBus:()Lio/vertx/core/eventbus/EventBus;
            aload 1
            aload 3 /* ar */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            invokeinterface io.vertx.core.eventbus.EventBus.send:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/eventbus/EventBus;
            pop
         2: .line 151
            goto 6
         3: .line 152
      StackMap locals:
      StackMap stack:
            getstatic io.vertx.rabbitmq.impl.RabbitMQClientImpl.log:Lio/vertx/core/logging/Logger;
            ldc "Exception occurred inside rabbitmq service consumer."
            aload 3 /* ar */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokevirtual io.vertx.core.logging.Logger.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
         4: .line 153
            aload 2
            ifnull 6
         5: .line 154
            aload 2
            aload 3 /* ar */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         6: .line 157
      StackMap locals:
      StackMap stack:
            return
        end local 3 // io.vertx.core.AsyncResult ar
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    7     3    ar  Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;

  private void lambda$27(int, io.vertx.core.Handler, java.lang.Long);
    descriptor: (ILio/vertx/core/Handler;Ljava/lang/Long;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
        start local 3 // java.lang.Long id
         0: .line 404
            getstatic io.vertx.rabbitmq.impl.RabbitMQClientImpl.log:Lio/vertx/core/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Reconnect attempt # "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual io.vertx.core.logging.Logger.debug:(Ljava/lang/Object;)V
         1: .line 405
            aload 0 /* this */
            iload 1
            iconst_1
            iadd
            aload 2
            invokevirtual io.vertx.rabbitmq.impl.RabbitMQClientImpl.start:(ILio/vertx/core/Handler;)V
         2: .line 406
            return
        end local 3 // java.lang.Long id
        end local 0 // io.vertx.rabbitmq.impl.RabbitMQClientImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/rabbitmq/impl/RabbitMQClientImpl;
            0    3     3    id  Ljava/lang/Long;
}
SourceFile: "RabbitMQClientImpl.java"
NestMembers:
  io.vertx.rabbitmq.impl.RabbitMQClientImpl$ChannelHandler
InnerClasses:
  public BasicProperties = com.rabbitmq.client.AMQP$BasicProperties of com.rabbitmq.client.AMQP
  public Confirm = com.rabbitmq.client.AMQP$Confirm of com.rabbitmq.client.AMQP
  public abstract SelectOk = com.rabbitmq.client.AMQP$Confirm$SelectOk of com.rabbitmq.client.AMQP$Confirm
  public Exchange = com.rabbitmq.client.AMQP$Exchange of com.rabbitmq.client.AMQP
  public abstract BindOk = com.rabbitmq.client.AMQP$Exchange$BindOk of com.rabbitmq.client.AMQP$Exchange
  public abstract DeclareOk = com.rabbitmq.client.AMQP$Exchange$DeclareOk of com.rabbitmq.client.AMQP$Exchange
  public abstract DeleteOk = com.rabbitmq.client.AMQP$Exchange$DeleteOk of com.rabbitmq.client.AMQP$Exchange
  public abstract UnbindOk = com.rabbitmq.client.AMQP$Exchange$UnbindOk of com.rabbitmq.client.AMQP$Exchange
  public Queue = com.rabbitmq.client.AMQP$Queue of com.rabbitmq.client.AMQP
  public abstract BindOk = com.rabbitmq.client.AMQP$Queue$BindOk of com.rabbitmq.client.AMQP$Queue
  public abstract DeclareOk = com.rabbitmq.client.AMQP$Queue$DeclareOk of com.rabbitmq.client.AMQP$Queue
  public abstract DeleteOk = com.rabbitmq.client.AMQP$Queue$DeleteOk of com.rabbitmq.client.AMQP$Queue
  private abstract ChannelHandler = io.vertx.rabbitmq.impl.RabbitMQClientImpl$ChannelHandler of io.vertx.rabbitmq.impl.RabbitMQClientImpl
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles