public class examples.RabbitMQExamples
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: examples.RabbitMQExamples
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // examples.RabbitMQExamples this
         0: .line 19
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // examples.RabbitMQExamples this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lexamples/RabbitMQExamples;

  public void createClientWithUri(io.vertx.core.Vertx);
    descriptor: (Lio/vertx/core/Vertx;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // examples.RabbitMQExamples this
        start local 1 // io.vertx.core.Vertx vertx
         0: .line 22
            new io.vertx.rabbitmq.RabbitMQOptions
            dup
            invokespecial io.vertx.rabbitmq.RabbitMQOptions.<init>:()V
            astore 2 /* config */
        start local 2 // io.vertx.rabbitmq.RabbitMQOptions config
         1: .line 24
            aload 2 /* config */
            ldc "amqp://xvjvsrrc:VbuL1atClKt7zVNQha0bnnScbNvGiqgb@moose.rmq.cloudamqp.com/xvjvsrrc"
            invokevirtual io.vertx.rabbitmq.RabbitMQOptions.setUri:(Ljava/lang/String;)Lio/vertx/rabbitmq/RabbitMQOptions;
            pop
         2: .line 25
            aload 1 /* vertx */
            aload 2 /* config */
            invokestatic io.vertx.rabbitmq.RabbitMQClient.create:(Lio/vertx/core/Vertx;Lio/vertx/rabbitmq/RabbitMQOptions;)Lio/vertx/rabbitmq/RabbitMQClient;
            astore 3 /* client */
        start local 3 // io.vertx.rabbitmq.RabbitMQClient client
         3: .line 28
            aload 3 /* client */
            invokedynamic handle()Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  examples/RabbitMQExamples.lambda$0(Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.rabbitmq.RabbitMQClient.start:(Lio/vertx/core/Handler;)V
         4: .line 35
            return
        end local 3 // io.vertx.rabbitmq.RabbitMQClient client
        end local 2 // io.vertx.rabbitmq.RabbitMQOptions config
        end local 1 // io.vertx.core.Vertx vertx
        end local 0 // examples.RabbitMQExamples this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lexamples/RabbitMQExamples;
            0    5     1   vertx  Lio/vertx/core/Vertx;
            1    5     2  config  Lio/vertx/rabbitmq/RabbitMQOptions;
            3    5     3  client  Lio/vertx/rabbitmq/RabbitMQClient;
    MethodParameters:
       Name  Flags
      vertx  

  public void createClientWithManualParams(io.vertx.core.Vertx);
    descriptor: (Lio/vertx/core/Vertx;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // examples.RabbitMQExamples this
        start local 1 // io.vertx.core.Vertx vertx
         0: .line 38
            new io.vertx.rabbitmq.RabbitMQOptions
            dup
            invokespecial io.vertx.rabbitmq.RabbitMQOptions.<init>:()V
            astore 2 /* config */
        start local 2 // io.vertx.rabbitmq.RabbitMQOptions config
         1: .line 41
            aload 2 /* config */
            ldc "user1"
            invokevirtual io.vertx.rabbitmq.RabbitMQOptions.setUser:(Ljava/lang/String;)Lio/vertx/rabbitmq/RabbitMQOptions;
            pop
         2: .line 42
            aload 2 /* config */
            ldc "password1"
            invokevirtual io.vertx.rabbitmq.RabbitMQOptions.setPassword:(Ljava/lang/String;)Lio/vertx/rabbitmq/RabbitMQOptions;
            pop
         3: .line 43
            aload 2 /* config */
            ldc "localhost"
            invokevirtual io.vertx.rabbitmq.RabbitMQOptions.setHost:(Ljava/lang/String;)Lio/vertx/rabbitmq/RabbitMQOptions;
            pop
         4: .line 44
            aload 2 /* config */
            sipush 5672
            invokevirtual io.vertx.rabbitmq.RabbitMQOptions.setPort:(I)Lio/vertx/rabbitmq/RabbitMQOptions;
            pop
         5: .line 45
            aload 2 /* config */
            ldc "vhost1"
            invokevirtual io.vertx.rabbitmq.RabbitMQOptions.setVirtualHost:(Ljava/lang/String;)Lio/vertx/rabbitmq/RabbitMQOptions;
            pop
         6: .line 46
            aload 2 /* config */
            sipush 6000
            invokevirtual io.vertx.rabbitmq.RabbitMQOptions.setConnectionTimeout:(I)Lio/vertx/rabbitmq/RabbitMQOptions;
            pop
         7: .line 47
            aload 2 /* config */
            bipush 60
            invokevirtual io.vertx.rabbitmq.RabbitMQOptions.setRequestedHeartbeat:(I)Lio/vertx/rabbitmq/RabbitMQOptions;
            pop
         8: .line 48
            aload 2 /* config */
            sipush 6000
            invokevirtual io.vertx.rabbitmq.RabbitMQOptions.setHandshakeTimeout:(I)Lio/vertx/rabbitmq/RabbitMQOptions;
            pop
         9: .line 49
            aload 2 /* config */
            iconst_5
            invokevirtual io.vertx.rabbitmq.RabbitMQOptions.setRequestedChannelMax:(I)Lio/vertx/rabbitmq/RabbitMQOptions;
            pop
        10: .line 50
            aload 2 /* config */
            ldc 500
            invokevirtual io.vertx.rabbitmq.RabbitMQOptions.setNetworkRecoveryInterval:(J)Lio/vertx/rabbitmq/RabbitMQOptions;
            pop
        11: .line 51
            aload 2 /* config */
            iconst_1
            invokevirtual io.vertx.rabbitmq.RabbitMQOptions.setAutomaticRecoveryEnabled:(Z)Lio/vertx/rabbitmq/RabbitMQOptions;
            pop
        12: .line 53
            aload 1 /* vertx */
            aload 2 /* config */
            invokestatic io.vertx.rabbitmq.RabbitMQClient.create:(Lio/vertx/core/Vertx;Lio/vertx/rabbitmq/RabbitMQOptions;)Lio/vertx/rabbitmq/RabbitMQClient;
            astore 3 /* client */
        start local 3 // io.vertx.rabbitmq.RabbitMQClient client
        13: .line 56
            aload 3 /* client */
            invokedynamic handle()Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  examples/RabbitMQExamples.lambda$1(Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.rabbitmq.RabbitMQClient.start:(Lio/vertx/core/Handler;)V
        14: .line 63
            return
        end local 3 // io.vertx.rabbitmq.RabbitMQClient client
        end local 2 // io.vertx.rabbitmq.RabbitMQOptions config
        end local 1 // io.vertx.core.Vertx vertx
        end local 0 // examples.RabbitMQExamples this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Lexamples/RabbitMQExamples;
            0   15     1   vertx  Lio/vertx/core/Vertx;
            1   15     2  config  Lio/vertx/rabbitmq/RabbitMQOptions;
           13   15     3  client  Lio/vertx/rabbitmq/RabbitMQClient;
    MethodParameters:
       Name  Flags
      vertx  

  public void createClientWithMultipleHost(io.vertx.core.Vertx);
    descriptor: (Lio/vertx/core/Vertx;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // examples.RabbitMQExamples this
        start local 1 // io.vertx.core.Vertx vertx
         0: .line 67
            new io.vertx.rabbitmq.RabbitMQOptions
            dup
            invokespecial io.vertx.rabbitmq.RabbitMQOptions.<init>:()V
            astore 2 /* config */
        start local 2 // io.vertx.rabbitmq.RabbitMQOptions config
         1: .line 68
            aload 2 /* config */
            ldc "user1"
            invokevirtual io.vertx.rabbitmq.RabbitMQOptions.setUser:(Ljava/lang/String;)Lio/vertx/rabbitmq/RabbitMQOptions;
            pop
         2: .line 69
            aload 2 /* config */
            ldc "password1"
            invokevirtual io.vertx.rabbitmq.RabbitMQOptions.setPassword:(Ljava/lang/String;)Lio/vertx/rabbitmq/RabbitMQOptions;
            pop
         3: .line 70
            aload 2 /* config */
            ldc "vhost1"
            invokevirtual io.vertx.rabbitmq.RabbitMQOptions.setVirtualHost:(Ljava/lang/String;)Lio/vertx/rabbitmq/RabbitMQOptions;
            pop
         4: .line 72
            aload 2 /* config */
            ldc "firstHost,secondHost:5672"
            invokestatic com.rabbitmq.client.Address.parseAddresses:(Ljava/lang/String;)[Lcom/rabbitmq/client/Address;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokevirtual io.vertx.rabbitmq.RabbitMQOptions.setAddresses:(Ljava/util/List;)Lio/vertx/rabbitmq/RabbitMQOptions;
            pop
         5: .line 74
            aload 1 /* vertx */
            aload 2 /* config */
            invokestatic io.vertx.rabbitmq.RabbitMQClient.create:(Lio/vertx/core/Vertx;Lio/vertx/rabbitmq/RabbitMQOptions;)Lio/vertx/rabbitmq/RabbitMQClient;
            astore 3 /* client */
        start local 3 // io.vertx.rabbitmq.RabbitMQClient client
         6: .line 77
            aload 3 /* client */
            invokedynamic handle()Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  examples/RabbitMQExamples.lambda$2(Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.rabbitmq.RabbitMQClient.start:(Lio/vertx/core/Handler;)V
         7: .line 84
            return
        end local 3 // io.vertx.rabbitmq.RabbitMQClient client
        end local 2 // io.vertx.rabbitmq.RabbitMQOptions config
        end local 1 // io.vertx.core.Vertx vertx
        end local 0 // examples.RabbitMQExamples this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lexamples/RabbitMQExamples;
            0    8     1   vertx  Lio/vertx/core/Vertx;
            1    8     2  config  Lio/vertx/rabbitmq/RabbitMQOptions;
            6    8     3  client  Lio/vertx/rabbitmq/RabbitMQClient;
    MethodParameters:
       Name  Flags
      vertx  

  public void basicPublish(io.vertx.rabbitmq.RabbitMQClient);
    descriptor: (Lio/vertx/rabbitmq/RabbitMQClient;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // examples.RabbitMQExamples this
        start local 1 // io.vertx.rabbitmq.RabbitMQClient client
         0: .line 87
            ldc "body"
            ldc "Hello RabbitMQ, from Vert.x !"
            invokestatic io.vertx.core.buffer.Buffer.buffer:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/buffer/Buffer;
            astore 2 /* message */
        start local 2 // io.vertx.core.buffer.Buffer message
         1: .line 88
            aload 1 /* client */
            ldc ""
            ldc "my.queue"
            aload 2 /* message */
            invokedynamic handle()Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  examples/RabbitMQExamples.lambda$3(Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.rabbitmq.RabbitMQClient.basicPublish:(Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/buffer/Buffer;Lio/vertx/core/Handler;)V
         2: .line 95
            return
        end local 2 // io.vertx.core.buffer.Buffer message
        end local 1 // io.vertx.rabbitmq.RabbitMQClient client
        end local 0 // examples.RabbitMQExamples this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lexamples/RabbitMQExamples;
            0    3     1   client  Lio/vertx/rabbitmq/RabbitMQClient;
            1    3     2  message  Lio/vertx/core/buffer/Buffer;
    MethodParameters:
        Name  Flags
      client  

  public void basicPublishWithConfirm(io.vertx.rabbitmq.RabbitMQClient);
    descriptor: (Lio/vertx/rabbitmq/RabbitMQClient;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // examples.RabbitMQExamples this
        start local 1 // io.vertx.rabbitmq.RabbitMQClient client
         0: .line 98
            ldc "body"
            ldc "Hello RabbitMQ, from Vert.x !"
            invokestatic io.vertx.core.buffer.Buffer.buffer:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/buffer/Buffer;
            astore 2 /* message */
        start local 2 // io.vertx.core.buffer.Buffer message
         1: .line 101
            aload 1 /* client */
            aload 1 /* client */
            aload 2 /* message */
            invokedynamic handle(Lio/vertx/rabbitmq/RabbitMQClient;Lio/vertx/core/buffer/Buffer;)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
                  examples/RabbitMQExamples.lambda$4(Lio/vertx/rabbitmq/RabbitMQClient;Lio/vertx/core/buffer/Buffer;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.rabbitmq.RabbitMQClient.confirmSelect:(Lio/vertx/core/Handler;)V
         2: .line 121
            return
        end local 2 // io.vertx.core.buffer.Buffer message
        end local 1 // io.vertx.rabbitmq.RabbitMQClient client
        end local 0 // examples.RabbitMQExamples this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lexamples/RabbitMQExamples;
            0    3     1   client  Lio/vertx/rabbitmq/RabbitMQClient;
            1    3     2  message  Lio/vertx/core/buffer/Buffer;
    MethodParameters:
        Name  Flags
      client  

  public void basicConsumer(io.vertx.core.Vertx, io.vertx.rabbitmq.RabbitMQClient);
    descriptor: (Lio/vertx/core/Vertx;Lio/vertx/rabbitmq/RabbitMQClient;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // examples.RabbitMQExamples this
        start local 1 // io.vertx.core.Vertx vertx
        start local 2 // io.vertx.rabbitmq.RabbitMQClient client
         0: .line 124
            aload 2 /* client */
            ldc "my.queue"
            invokedynamic handle()Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  examples/RabbitMQExamples.lambda$7(Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.rabbitmq.RabbitMQClient.basicConsumer:(Ljava/lang/String;Lio/vertx/core/Handler;)V
         1: .line 135
            return
        end local 2 // io.vertx.rabbitmq.RabbitMQClient client
        end local 1 // io.vertx.core.Vertx vertx
        end local 0 // examples.RabbitMQExamples this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lexamples/RabbitMQExamples;
            0    2     1   vertx  Lio/vertx/core/Vertx;
            0    2     2  client  Lio/vertx/rabbitmq/RabbitMQClient;
    MethodParameters:
        Name  Flags
      vertx   
      client  

  public void basicConsumerOptions(io.vertx.core.Vertx, io.vertx.rabbitmq.RabbitMQClient);
    descriptor: (Lio/vertx/core/Vertx;Lio/vertx/rabbitmq/RabbitMQClient;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // examples.RabbitMQExamples this
        start local 1 // io.vertx.core.Vertx vertx
        start local 2 // io.vertx.rabbitmq.RabbitMQClient client
         0: .line 138
            new io.vertx.rabbitmq.QueueOptions
            dup
            invokespecial io.vertx.rabbitmq.QueueOptions.<init>:()V
         1: .line 139
            sipush 1000
            invokevirtual io.vertx.rabbitmq.QueueOptions.setMaxInternalQueueSize:(I)Lio/vertx/rabbitmq/QueueOptions;
         2: .line 140
            iconst_1
            invokevirtual io.vertx.rabbitmq.QueueOptions.setKeepMostRecent:(Z)Lio/vertx/rabbitmq/QueueOptions;
         3: .line 138
            astore 3 /* options */
        start local 3 // io.vertx.rabbitmq.QueueOptions options
         4: .line 142
            aload 2 /* client */
            ldc "my.queue"
            aload 3 /* options */
            invokedynamic handle()Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  examples/RabbitMQExamples.lambda$9(Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.rabbitmq.RabbitMQClient.basicConsumer:(Ljava/lang/String;Lio/vertx/rabbitmq/QueueOptions;Lio/vertx/core/Handler;)V
         5: .line 149
            return
        end local 3 // io.vertx.rabbitmq.QueueOptions options
        end local 2 // io.vertx.rabbitmq.RabbitMQClient client
        end local 1 // io.vertx.core.Vertx vertx
        end local 0 // examples.RabbitMQExamples this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lexamples/RabbitMQExamples;
            0    6     1    vertx  Lio/vertx/core/Vertx;
            0    6     2   client  Lio/vertx/rabbitmq/RabbitMQClient;
            4    6     3  options  Lio/vertx/rabbitmq/QueueOptions;
    MethodParameters:
        Name  Flags
      vertx   
      client  

  public void pauseAndResumeConsumer(io.vertx.rabbitmq.RabbitMQConsumer);
    descriptor: (Lio/vertx/rabbitmq/RabbitMQConsumer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // examples.RabbitMQExamples this
        start local 1 // io.vertx.rabbitmq.RabbitMQConsumer consumer
         0: .line 152
            aload 1 /* consumer */
            invokeinterface io.vertx.rabbitmq.RabbitMQConsumer.pause:()Lio/vertx/rabbitmq/RabbitMQConsumer;
            pop
         1: .line 153
            aload 1 /* consumer */
            invokeinterface io.vertx.rabbitmq.RabbitMQConsumer.resume:()Lio/vertx/rabbitmq/RabbitMQConsumer;
            pop
         2: .line 154
            return
        end local 1 // io.vertx.rabbitmq.RabbitMQConsumer consumer
        end local 0 // examples.RabbitMQExamples this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lexamples/RabbitMQExamples;
            0    3     1  consumer  Lio/vertx/rabbitmq/RabbitMQConsumer;
    MethodParameters:
          Name  Flags
      consumer  

  public void endHandlerConsumer(io.vertx.rabbitmq.RabbitMQConsumer);
    descriptor: (Lio/vertx/rabbitmq/RabbitMQConsumer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // examples.RabbitMQExamples this
        start local 1 // io.vertx.rabbitmq.RabbitMQConsumer rabbitMQConsumer
         0: .line 157
            aload 1 /* rabbitMQConsumer */
            invokedynamic handle()Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  examples/RabbitMQExamples.lambda$10(Ljava/lang/Void;)V (6)
                  (Ljava/lang/Void;)V
            invokeinterface io.vertx.rabbitmq.RabbitMQConsumer.endHandler:(Lio/vertx/core/Handler;)Lio/vertx/rabbitmq/RabbitMQConsumer;
            pop
         1: .line 160
            return
        end local 1 // io.vertx.rabbitmq.RabbitMQConsumer rabbitMQConsumer
        end local 0 // examples.RabbitMQExamples this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lexamples/RabbitMQExamples;
            0    2     1  rabbitMQConsumer  Lio/vertx/rabbitmq/RabbitMQConsumer;
    MethodParameters:
                  Name  Flags
      rabbitMQConsumer  

  public void cancelConsumer(io.vertx.rabbitmq.RabbitMQConsumer);
    descriptor: (Lio/vertx/rabbitmq/RabbitMQConsumer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // examples.RabbitMQExamples this
        start local 1 // io.vertx.rabbitmq.RabbitMQConsumer rabbitMQConsumer
         0: .line 163
            aload 1 /* rabbitMQConsumer */
            invokedynamic handle()Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  examples/RabbitMQExamples.lambda$11(Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.rabbitmq.RabbitMQConsumer.cancel:(Lio/vertx/core/Handler;)V
         1: .line 171
            return
        end local 1 // io.vertx.rabbitmq.RabbitMQConsumer rabbitMQConsumer
        end local 0 // examples.RabbitMQExamples this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lexamples/RabbitMQExamples;
            0    2     1  rabbitMQConsumer  Lio/vertx/rabbitmq/RabbitMQConsumer;
    MethodParameters:
                  Name  Flags
      rabbitMQConsumer  

  public void exceptionHandler(io.vertx.rabbitmq.RabbitMQConsumer);
    descriptor: (Lio/vertx/rabbitmq/RabbitMQConsumer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // examples.RabbitMQExamples this
        start local 1 // io.vertx.rabbitmq.RabbitMQConsumer consumer
         0: .line 174
            aload 1 /* consumer */
            invokedynamic handle()Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  examples/RabbitMQExamples.lambda$12(Ljava/lang/Throwable;)V (6)
                  (Ljava/lang/Throwable;)V
            invokeinterface io.vertx.rabbitmq.RabbitMQConsumer.exceptionHandler:(Lio/vertx/core/Handler;)Lio/vertx/rabbitmq/RabbitMQConsumer;
            pop
         1: .line 178
            return
        end local 1 // io.vertx.rabbitmq.RabbitMQConsumer consumer
        end local 0 // examples.RabbitMQExamples this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lexamples/RabbitMQExamples;
            0    2     1  consumer  Lio/vertx/rabbitmq/RabbitMQConsumer;
    MethodParameters:
          Name  Flags
      consumer  

  public void consumerTag(io.vertx.rabbitmq.RabbitMQConsumer);
    descriptor: (Lio/vertx/rabbitmq/RabbitMQConsumer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // examples.RabbitMQExamples this
        start local 1 // io.vertx.rabbitmq.RabbitMQConsumer consumer
         0: .line 181
            aload 1 /* consumer */
            invokeinterface io.vertx.rabbitmq.RabbitMQConsumer.consumerTag:()Ljava/lang/String;
            astore 2 /* consumerTag */
        start local 2 // java.lang.String consumerTag
         1: .line 182
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Consumer tag is: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* consumerTag */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 183
            return
        end local 2 // java.lang.String consumerTag
        end local 1 // io.vertx.rabbitmq.RabbitMQConsumer consumer
        end local 0 // examples.RabbitMQExamples this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lexamples/RabbitMQExamples;
            0    3     1     consumer  Lio/vertx/rabbitmq/RabbitMQConsumer;
            1    3     2  consumerTag  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      consumer  

  public void getMessage(io.vertx.rabbitmq.RabbitMQClient);
    descriptor: (Lio/vertx/rabbitmq/RabbitMQClient;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // examples.RabbitMQExamples this
        start local 1 // io.vertx.rabbitmq.RabbitMQClient client
         0: .line 186
            aload 1 /* client */
            ldc "my.queue"
            iconst_1
            invokedynamic handle()Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  examples/RabbitMQExamples.lambda$13(Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.rabbitmq.RabbitMQClient.basicGet:(Ljava/lang/String;ZLio/vertx/core/Handler;)V
         1: .line 194
            return
        end local 1 // io.vertx.rabbitmq.RabbitMQClient client
        end local 0 // examples.RabbitMQExamples this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lexamples/RabbitMQExamples;
            0    2     1  client  Lio/vertx/rabbitmq/RabbitMQClient;
    MethodParameters:
        Name  Flags
      client  

  public void exchangeDeclareWithConfig(io.vertx.rabbitmq.RabbitMQClient);
    descriptor: (Lio/vertx/rabbitmq/RabbitMQClient;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // examples.RabbitMQExamples this
        start local 1 // io.vertx.rabbitmq.RabbitMQClient client
         0: .line 199
            new io.vertx.core.json.JsonObject
            dup
            invokespecial io.vertx.core.json.JsonObject.<init>:()V
            astore 2 /* config */
        start local 2 // io.vertx.core.json.JsonObject config
         1: .line 201
            aload 2 /* config */
            ldc "x-dead-letter-exchange"
            ldc "my.deadletter.exchange"
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
            pop
         2: .line 202
            aload 2 /* config */
            ldc "alternate-exchange"
            ldc "my.alternate.exchange"
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
            pop
         3: .line 204
            aload 1 /* client */
            ldc "my.exchange"
            ldc "fanout"
            iconst_1
            iconst_0
            aload 2 /* config */
            invokedynamic handle()Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  examples/RabbitMQExamples.lambda$14(Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.rabbitmq.RabbitMQClient.exchangeDeclare:(Ljava/lang/String;Ljava/lang/String;ZZLio/vertx/core/json/JsonObject;Lio/vertx/core/Handler;)V
         4: .line 211
            return
        end local 2 // io.vertx.core.json.JsonObject config
        end local 1 // io.vertx.rabbitmq.RabbitMQClient client
        end local 0 // examples.RabbitMQExamples this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lexamples/RabbitMQExamples;
            0    5     1  client  Lio/vertx/rabbitmq/RabbitMQClient;
            1    5     2  config  Lio/vertx/core/json/JsonObject;
    MethodParameters:
        Name  Flags
      client  

  public void consumeWithManualAck(io.vertx.core.Vertx, io.vertx.rabbitmq.RabbitMQClient);
    descriptor: (Lio/vertx/core/Vertx;Lio/vertx/rabbitmq/RabbitMQClient;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // examples.RabbitMQExamples this
        start local 1 // io.vertx.core.Vertx vertx
        start local 2 // io.vertx.rabbitmq.RabbitMQClient client
         0: .line 215
            aload 2 /* client */
            ldc "my.queue"
            new io.vertx.rabbitmq.QueueOptions
            dup
            invokespecial io.vertx.rabbitmq.QueueOptions.<init>:()V
            iconst_0
            invokevirtual io.vertx.rabbitmq.QueueOptions.setAutoAck:(Z)Lio/vertx/rabbitmq/QueueOptions;
            aload 2 /* client */
            invokedynamic handle(Lio/vertx/rabbitmq/RabbitMQClient;)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
                  examples/RabbitMQExamples.lambda$15(Lio/vertx/rabbitmq/RabbitMQClient;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.rabbitmq.RabbitMQClient.basicConsumer:(Ljava/lang/String;Lio/vertx/rabbitmq/QueueOptions;Lio/vertx/core/Handler;)V
         1: .line 232
            return
        end local 2 // io.vertx.rabbitmq.RabbitMQClient client
        end local 1 // io.vertx.core.Vertx vertx
        end local 0 // examples.RabbitMQExamples this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lexamples/RabbitMQExamples;
            0    2     1   vertx  Lio/vertx/core/Vertx;
            0    2     2  client  Lio/vertx/rabbitmq/RabbitMQClient;
    MethodParameters:
        Name  Flags
      vertx   
      client  

  public void queueDeclareWithConfig(io.vertx.rabbitmq.RabbitMQClient);
    descriptor: (Lio/vertx/rabbitmq/RabbitMQClient;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // examples.RabbitMQExamples this
        start local 1 // io.vertx.rabbitmq.RabbitMQClient client
         0: .line 236
            new io.vertx.core.json.JsonObject
            dup
            invokespecial io.vertx.core.json.JsonObject.<init>:()V
            astore 2 /* config */
        start local 2 // io.vertx.core.json.JsonObject config
         1: .line 237
            aload 2 /* config */
            ldc "x-message-ttl"
            ldc 10000
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
            pop
         2: .line 239
            aload 1 /* client */
            ldc "my-queue"
            iconst_1
            iconst_0
            iconst_1
            aload 2 /* config */
            invokedynamic handle()Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  examples/RabbitMQExamples.lambda$18(Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.rabbitmq.RabbitMQClient.queueDeclare:(Ljava/lang/String;ZZZLio/vertx/core/json/JsonObject;Lio/vertx/core/Handler;)V
         3: .line 247
            return
        end local 2 // io.vertx.core.json.JsonObject config
        end local 1 // io.vertx.rabbitmq.RabbitMQClient client
        end local 0 // examples.RabbitMQExamples this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lexamples/RabbitMQExamples;
            0    4     1  client  Lio/vertx/rabbitmq/RabbitMQClient;
            1    4     2  config  Lio/vertx/core/json/JsonObject;
    MethodParameters:
        Name  Flags
      client  

  public void connectionEstablishedCallback(io.vertx.core.Vertx, io.vertx.rabbitmq.RabbitMQOptions);
    descriptor: (Lio/vertx/core/Vertx;Lio/vertx/rabbitmq/RabbitMQOptions;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // examples.RabbitMQExamples this
        start local 1 // io.vertx.core.Vertx vertx
        start local 2 // io.vertx.rabbitmq.RabbitMQOptions config
         0: .line 251
            aload 1 /* vertx */
            aload 2 /* config */
            invokestatic io.vertx.rabbitmq.RabbitMQClient.create:(Lio/vertx/core/Vertx;Lio/vertx/rabbitmq/RabbitMQOptions;)Lio/vertx/rabbitmq/RabbitMQClient;
            astore 3 /* client */
        start local 3 // io.vertx.rabbitmq.RabbitMQClient client
         1: .line 252
            aload 3 /* client */
            aload 3 /* client */
            invokedynamic handle(Lio/vertx/rabbitmq/RabbitMQClient;)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
                  examples/RabbitMQExamples.lambda$19(Lio/vertx/rabbitmq/RabbitMQClient;Lio/vertx/core/Promise;)V (6)
                  (Lio/vertx/core/Promise;)V
            invokeinterface io.vertx.rabbitmq.RabbitMQClient.addConnectionEstablishedCallback:(Lio/vertx/core/Handler;)V
         2: .line 264
            aload 3 /* client */
            ldc "queue"
            invokedynamic handle()Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  examples/RabbitMQExamples.lambda$22(Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.rabbitmq.RabbitMQClient.basicConsumer:(Ljava/lang/String;Lio/vertx/core/Handler;)V
         3: .line 266
            return
        end local 3 // io.vertx.rabbitmq.RabbitMQClient client
        end local 2 // io.vertx.rabbitmq.RabbitMQOptions config
        end local 1 // io.vertx.core.Vertx vertx
        end local 0 // examples.RabbitMQExamples this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lexamples/RabbitMQExamples;
            0    4     1   vertx  Lio/vertx/core/Vertx;
            0    4     2  config  Lio/vertx/rabbitmq/RabbitMQOptions;
            1    4     3  client  Lio/vertx/rabbitmq/RabbitMQClient;
    MethodParameters:
        Name  Flags
      vertx   
      config  

  public void connectionEstablishedCallbackForServerNamedAutoDeleteQueue(io.vertx.core.Vertx, io.vertx.rabbitmq.RabbitMQOptions);
    descriptor: (Lio/vertx/core/Vertx;Lio/vertx/rabbitmq/RabbitMQOptions;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // examples.RabbitMQExamples this
        start local 1 // io.vertx.core.Vertx vertx
        start local 2 // io.vertx.rabbitmq.RabbitMQOptions config
         0: .line 269
            aload 1 /* vertx */
            aload 2 /* config */
            invokestatic io.vertx.rabbitmq.RabbitMQClient.create:(Lio/vertx/core/Vertx;Lio/vertx/rabbitmq/RabbitMQOptions;)Lio/vertx/rabbitmq/RabbitMQClient;
            astore 3 /* client */
        start local 3 // io.vertx.rabbitmq.RabbitMQClient client
         1: .line 270
            new java.util.concurrent.atomic.AtomicReference
            dup
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
            astore 4 /* consumer */
        start local 4 // java.util.concurrent.atomic.AtomicReference consumer
         2: .line 271
            new java.util.concurrent.atomic.AtomicReference
            dup
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
            astore 5 /* queueName */
        start local 5 // java.util.concurrent.atomic.AtomicReference queueName
         3: .line 272
            aload 3 /* client */
            aload 3 /* client */
            aload 5 /* queueName */
            aload 4 /* consumer */
            invokedynamic handle(Lio/vertx/rabbitmq/RabbitMQClient;Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/atomic/AtomicReference;)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
                  examples/RabbitMQExamples.lambda$23(Lio/vertx/rabbitmq/RabbitMQClient;Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/atomic/AtomicReference;Lio/vertx/core/Promise;)V (6)
                  (Lio/vertx/core/Promise;)V
            invokeinterface io.vertx.rabbitmq.RabbitMQClient.addConnectionEstablishedCallback:(Lio/vertx/core/Handler;)V
         4: .line 288
            aload 3 /* client */
            invokeinterface io.vertx.rabbitmq.RabbitMQClient.start:()Lio/vertx/core/Future;
         5: .line 289
            aload 3 /* client */
            aload 5 /* queueName */
            aload 4 /* consumer */
            invokedynamic handle(Lio/vertx/rabbitmq/RabbitMQClient;Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/atomic/AtomicReference;)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
                  examples/RabbitMQExamples.lambda$26(Lio/vertx/rabbitmq/RabbitMQClient;Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/Void;)V (6)
                  (Ljava/lang/Void;)V
            invokeinterface io.vertx.core.Future.onSuccess:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
         6: .line 297
            invokedynamic handle()Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  examples/RabbitMQExamples.lambda$28(Ljava/lang/Throwable;)V (6)
                  (Ljava/lang/Throwable;)V
            invokeinterface io.vertx.core.Future.onFailure:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
         7: .line 300
            return
        end local 5 // java.util.concurrent.atomic.AtomicReference queueName
        end local 4 // java.util.concurrent.atomic.AtomicReference consumer
        end local 3 // io.vertx.rabbitmq.RabbitMQClient client
        end local 2 // io.vertx.rabbitmq.RabbitMQOptions config
        end local 1 // io.vertx.core.Vertx vertx
        end local 0 // examples.RabbitMQExamples this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lexamples/RabbitMQExamples;
            0    8     1      vertx  Lio/vertx/core/Vertx;
            0    8     2     config  Lio/vertx/rabbitmq/RabbitMQOptions;
            1    8     3     client  Lio/vertx/rabbitmq/RabbitMQClient;
            2    8     4   consumer  Ljava/util/concurrent/atomic/AtomicReference<Lio/vertx/rabbitmq/RabbitMQConsumer;>;
            3    8     5  queueName  Ljava/util/concurrent/atomic/AtomicReference<Ljava/lang/String;>;
    MethodParameters:
        Name  Flags
      vertx   
      config  

  public void rabbitMqPublisher(io.vertx.core.Vertx, io.vertx.rabbitmq.RabbitMQClient, io.vertx.rabbitmq.RabbitMQPublisherOptions, java.util.Map<java.lang.String, io.vertx.core.json.JsonObject>);
    descriptor: (Lio/vertx/core/Vertx;Lio/vertx/rabbitmq/RabbitMQClient;Lio/vertx/rabbitmq/RabbitMQPublisherOptions;Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // examples.RabbitMQExamples this
        start local 1 // io.vertx.core.Vertx vertx
        start local 2 // io.vertx.rabbitmq.RabbitMQClient client
        start local 3 // io.vertx.rabbitmq.RabbitMQPublisherOptions options
        start local 4 // java.util.Map messages
         0: .line 304
            aload 1 /* vertx */
            aload 2 /* client */
            aload 3 /* options */
            invokestatic io.vertx.rabbitmq.RabbitMQPublisher.create:(Lio/vertx/core/Vertx;Lio/vertx/rabbitmq/RabbitMQClient;Lio/vertx/rabbitmq/RabbitMQPublisherOptions;)Lio/vertx/rabbitmq/RabbitMQPublisher;
            astore 5 /* publisher */
        start local 5 // io.vertx.rabbitmq.RabbitMQPublisher publisher
         1: .line 306
            aload 4 /* messages */
            aload 5 /* publisher */
            invokedynamic accept(Lio/vertx/rabbitmq/RabbitMQPublisher;)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
                  examples/RabbitMQExamples.lambda$29(Lio/vertx/rabbitmq/RabbitMQPublisher;Ljava/lang/String;Lio/vertx/core/json/JsonObject;)V (6)
                  (Ljava/lang/String;Lio/vertx/core/json/JsonObject;)V
            invokeinterface java.util.Map.forEach:(Ljava/util/function/BiConsumer;)V
         2: .line 313
            aload 5 /* publisher */
            invokeinterface io.vertx.rabbitmq.RabbitMQPublisher.getConfirmationStream:()Lio/vertx/core/streams/ReadStream;
            aload 4 /* messages */
            invokedynamic handle(Ljava/util/Map;)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
                  examples/RabbitMQExamples.lambda$30(Ljava/util/Map;Lio/vertx/rabbitmq/RabbitMQPublisherConfirmation;)V (6)
                  (Lio/vertx/rabbitmq/RabbitMQPublisherConfirmation;)V
            invokeinterface io.vertx.core.streams.ReadStream.handler:(Lio/vertx/core/Handler;)Lio/vertx/core/streams/ReadStream;
            pop
         3: .line 321
            return
        end local 5 // io.vertx.rabbitmq.RabbitMQPublisher publisher
        end local 4 // java.util.Map messages
        end local 3 // io.vertx.rabbitmq.RabbitMQPublisherOptions options
        end local 2 // io.vertx.rabbitmq.RabbitMQClient client
        end local 1 // io.vertx.core.Vertx vertx
        end local 0 // examples.RabbitMQExamples this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lexamples/RabbitMQExamples;
            0    4     1      vertx  Lio/vertx/core/Vertx;
            0    4     2     client  Lio/vertx/rabbitmq/RabbitMQClient;
            0    4     3    options  Lio/vertx/rabbitmq/RabbitMQPublisherOptions;
            0    4     4   messages  Ljava/util/Map<Ljava/lang/String;Lio/vertx/core/json/JsonObject;>;
            1    4     5  publisher  Lio/vertx/rabbitmq/RabbitMQPublisher;
    Signature: (Lio/vertx/core/Vertx;Lio/vertx/rabbitmq/RabbitMQClient;Lio/vertx/rabbitmq/RabbitMQPublisherOptions;Ljava/util/Map<Ljava/lang/String;Lio/vertx/core/json/JsonObject;>;)V
    MethodParameters:
          Name  Flags
      vertx     
      client    
      options   
      messages  

  private static void lambda$0(io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.vertx.core.AsyncResult asyncResult
         0: .line 29
            aload 0 /* asyncResult */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 3
         1: .line 30
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "RabbitMQ successfully connected!"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 31
            goto 4
         3: .line 32
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Fail to connect to RabbitMQ "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* asyncResult */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 34
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.core.AsyncResult asyncResult
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0  asyncResult  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;

  private static void lambda$1(io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.vertx.core.AsyncResult asyncResult
         0: .line 57
            aload 0 /* asyncResult */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 3
         1: .line 58
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "RabbitMQ successfully connected!"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 59
            goto 4
         3: .line 60
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Fail to connect to RabbitMQ "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* asyncResult */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 62
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.core.AsyncResult asyncResult
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0  asyncResult  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;

  private static void lambda$2(io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.vertx.core.AsyncResult asyncResult
         0: .line 78
            aload 0 /* asyncResult */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 3
         1: .line 79
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "RabbitMQ successfully connected!"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 80
            goto 4
         3: .line 81
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Fail to connect to RabbitMQ "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* asyncResult */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 83
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.core.AsyncResult asyncResult
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0  asyncResult  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;

  private static void lambda$3(io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.core.AsyncResult pubResult
         0: .line 89
            aload 0 /* pubResult */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 3
         1: .line 90
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Message published !"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 91
            goto 4
         3: .line 92
      StackMap locals:
      StackMap stack:
            aload 0 /* pubResult */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.printStackTrace:()V
         4: .line 94
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.core.AsyncResult pubResult
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0  pubResult  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;

  private static void lambda$4(io.vertx.rabbitmq.RabbitMQClient, io.vertx.core.buffer.Buffer, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/rabbitmq/RabbitMQClient;Lio/vertx/core/buffer/Buffer;Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=3, args_size=3
        start local 2 // io.vertx.core.AsyncResult confirmResult
         0: .line 102
            aload 2 /* confirmResult */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 3
         1: .line 103
            aload 0
            ldc ""
            ldc "my.queue"
            aload 1
            aload 0
            invokedynamic handle(Lio/vertx/rabbitmq/RabbitMQClient;)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
                  examples/RabbitMQExamples.lambda$5(Lio/vertx/rabbitmq/RabbitMQClient;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.rabbitmq.RabbitMQClient.basicPublish:(Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/buffer/Buffer;Lio/vertx/core/Handler;)V
         2: .line 116
            goto 4
         3: .line 117
      StackMap locals:
      StackMap stack:
            aload 2 /* confirmResult */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.printStackTrace:()V
         4: .line 119
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.core.AsyncResult confirmResult
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     2  confirmResult  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;

  private static void lambda$7(io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.vertx.core.AsyncResult rabbitMQConsumerAsyncResult
         0: .line 125
            aload 0 /* rabbitMQConsumerAsyncResult */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 5
         1: .line 126
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "RabbitMQ consumer created !"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 127
            aload 0 /* rabbitMQConsumerAsyncResult */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast io.vertx.rabbitmq.RabbitMQConsumer
            astore 1 /* mqConsumer */
        start local 1 // io.vertx.rabbitmq.RabbitMQConsumer mqConsumer
         3: .line 128
            aload 1 /* mqConsumer */
            invokedynamic handle()Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  examples/RabbitMQExamples.lambda$8(Lio/vertx/rabbitmq/RabbitMQMessage;)V (6)
                  (Lio/vertx/rabbitmq/RabbitMQMessage;)V
            invokeinterface io.vertx.rabbitmq.RabbitMQConsumer.handler:(Lio/vertx/core/Handler;)Lio/vertx/rabbitmq/RabbitMQConsumer;
            pop
        end local 1 // io.vertx.rabbitmq.RabbitMQConsumer mqConsumer
         4: .line 131
            goto 6
         5: .line 132
      StackMap locals:
      StackMap stack:
            aload 0 /* rabbitMQConsumerAsyncResult */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.printStackTrace:()V
         6: .line 134
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.core.AsyncResult rabbitMQConsumerAsyncResult
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0    7     0  rabbitMQConsumerAsyncResult  Lio/vertx/core/AsyncResult<Lio/vertx/rabbitmq/RabbitMQConsumer;>;
            3    4     1                   mqConsumer  Lio/vertx/rabbitmq/RabbitMQConsumer;

  private static void lambda$9(io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.core.AsyncResult rabbitMQConsumerAsyncResult
         0: .line 143
            aload 0 /* rabbitMQConsumerAsyncResult */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 3
         1: .line 144
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "RabbitMQ consumer created !"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 145
            goto 4
         3: .line 146
      StackMap locals:
      StackMap stack:
            aload 0 /* rabbitMQConsumerAsyncResult */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.printStackTrace:()V
         4: .line 148
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.core.AsyncResult rabbitMQConsumerAsyncResult
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0    5     0  rabbitMQConsumerAsyncResult  Lio/vertx/core/AsyncResult<Lio/vertx/rabbitmq/RabbitMQConsumer;>;

  private static void lambda$10(java.lang.Void);
    descriptor: (Ljava/lang/Void;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Void v
         0: .line 158
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "It is the end of the stream"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 159
            return
        end local 0 // java.lang.Void v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     v  Ljava/lang/Void;

  private static void lambda$11(io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.core.AsyncResult cancelResult
         0: .line 164
            aload 0 /* cancelResult */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 3
         1: .line 165
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Consumption successfully stopped"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 166
            goto 5
         3: .line 167
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Tired in attempt to stop consumption"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 168
            aload 0 /* cancelResult */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.printStackTrace:()V
         5: .line 170
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.core.AsyncResult cancelResult
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0  cancelResult  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;

  private static void lambda$12(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Throwable e
         0: .line 175
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "An exception occurred in the process of message handling"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 176
            aload 0 /* e */
            invokevirtual java.lang.Throwable.printStackTrace:()V
         2: .line 177
            return
        end local 0 // java.lang.Throwable e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     e  Ljava/lang/Throwable;

  private static void lambda$13(io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // io.vertx.core.AsyncResult getResult
         0: .line 187
            aload 0 /* getResult */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 4
         1: .line 188
            aload 0 /* getResult */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast io.vertx.rabbitmq.RabbitMQMessage
            astore 1 /* msg */
        start local 1 // io.vertx.rabbitmq.RabbitMQMessage msg
         2: .line 189
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Got message: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* msg */
            invokeinterface io.vertx.rabbitmq.RabbitMQMessage.body:()Lio/vertx/core/buffer/Buffer;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 1 // io.vertx.rabbitmq.RabbitMQMessage msg
         3: .line 190
            goto 5
         4: .line 191
      StackMap locals:
      StackMap stack:
            aload 0 /* getResult */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.printStackTrace:()V
         5: .line 193
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.core.AsyncResult getResult
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0  getResult  Lio/vertx/core/AsyncResult<Lio/vertx/rabbitmq/RabbitMQMessage;>;
            2    3     1        msg  Lio/vertx/rabbitmq/RabbitMQMessage;

  private static void lambda$14(io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.core.AsyncResult onResult
         0: .line 205
            aload 0 /* onResult */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 3
         1: .line 206
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Exchange successfully declared with config"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 207
            goto 4
         3: .line 208
      StackMap locals:
      StackMap stack:
            aload 0 /* onResult */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.printStackTrace:()V
         4: .line 210
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.core.AsyncResult onResult
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0  onResult  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;

  private static void lambda$15(io.vertx.rabbitmq.RabbitMQClient, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/rabbitmq/RabbitMQClient;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 consumeResult
         0: .line 216
            aload 1 /* consumeResult */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 5
         1: .line 217
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "RabbitMQ consumer created !"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 218
            aload 1 /* consumeResult */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast io.vertx.rabbitmq.RabbitMQConsumer
            astore 2 /* consumer */
        start local 2 // io.vertx.rabbitmq.RabbitMQConsumer consumer
         3: .line 221
            aload 2 /* consumer */
            aload 0
            invokedynamic handle(Lio/vertx/rabbitmq/RabbitMQClient;)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
                  examples/RabbitMQExamples.lambda$16(Lio/vertx/rabbitmq/RabbitMQClient;Lio/vertx/rabbitmq/RabbitMQMessage;)V (6)
                  (Lio/vertx/rabbitmq/RabbitMQMessage;)V
            invokeinterface io.vertx.rabbitmq.RabbitMQConsumer.handler:(Lio/vertx/core/Handler;)Lio/vertx/rabbitmq/RabbitMQConsumer;
            pop
        end local 2 // io.vertx.rabbitmq.RabbitMQConsumer consumer
         4: .line 228
            goto 6
         5: .line 229
      StackMap locals:
      StackMap stack:
            aload 1 /* consumeResult */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.printStackTrace:()V
         6: .line 231
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.AsyncResult consumeResult
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     1  consumeResult  Lio/vertx/core/AsyncResult<Lio/vertx/rabbitmq/RabbitMQConsumer;>;
            3    4     2       consumer  Lio/vertx/rabbitmq/RabbitMQConsumer;

  private static void lambda$18(io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.core.AsyncResult queueResult
         0: .line 240
            aload 0 /* queueResult */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 3
         1: .line 241
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Queue declared!"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 242
            goto 5
         3: .line 243
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Queue failed to be declared!"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 244
            aload 0 /* queueResult */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.printStackTrace:()V
         5: .line 246
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.core.AsyncResult queueResult
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0  queueResult  Lio/vertx/core/AsyncResult<Lcom/rabbitmq/client/AMQP$Queue$DeclareOk;>;

  private static void lambda$19(io.vertx.rabbitmq.RabbitMQClient, io.vertx.core.Promise);
    descriptor: (Lio/vertx/rabbitmq/RabbitMQClient;Lio/vertx/core/Promise;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=2, args_size=2
        start local 1 // io.vertx.core.Promise promise
         0: .line 253
            aload 0
            ldc "exchange"
            ldc "fanout"
            iconst_1
            iconst_0
            invokeinterface io.vertx.rabbitmq.RabbitMQClient.exchangeDeclare:(Ljava/lang/String;Ljava/lang/String;ZZ)Lio/vertx/core/Future;
         1: .line 254
            aload 0
            invokedynamic apply(Lio/vertx/rabbitmq/RabbitMQClient;)Ljava/util/function/Function;
              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;
                  examples/RabbitMQExamples.lambda$20(Lio/vertx/rabbitmq/RabbitMQClient;Ljava/lang/Void;)Lio/vertx/core/Future; (6)
                  (Ljava/lang/Void;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Future.compose:(Ljava/util/function/Function;)Lio/vertx/core/Future;
         2: .line 257
            aload 0
            invokedynamic apply(Lio/vertx/rabbitmq/RabbitMQClient;)Ljava/util/function/Function;
              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;
                  examples/RabbitMQExamples.lambda$21(Lio/vertx/rabbitmq/RabbitMQClient;Lcom/rabbitmq/client/AMQP$Queue$DeclareOk;)Lio/vertx/core/Future; (6)
                  (Lcom/rabbitmq/client/AMQP$Queue$DeclareOk;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Future.compose:(Ljava/util/function/Function;)Lio/vertx/core/Future;
         3: .line 260
            aload 1 /* promise */
            invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
         4: .line 261
            return
        end local 1 // io.vertx.core.Promise promise
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     1  promise  Lio/vertx/core/Promise<Ljava/lang/Void;>;

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

  private static void lambda$23(io.vertx.rabbitmq.RabbitMQClient, java.util.concurrent.atomic.AtomicReference, java.util.concurrent.atomic.AtomicReference, io.vertx.core.Promise);
    descriptor: (Lio/vertx/rabbitmq/RabbitMQClient;Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/atomic/AtomicReference;Lio/vertx/core/Promise;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=4, args_size=4
        start local 3 // io.vertx.core.Promise promise
         0: .line 273
            aload 0
            ldc "exchange"
            ldc "fanout"
            iconst_1
            iconst_0
            invokeinterface io.vertx.rabbitmq.RabbitMQClient.exchangeDeclare:(Ljava/lang/String;Ljava/lang/String;ZZ)Lio/vertx/core/Future;
         1: .line 274
            aload 0
            invokedynamic apply(Lio/vertx/rabbitmq/RabbitMQClient;)Ljava/util/function/Function;
              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;
                  examples/RabbitMQExamples.lambda$24(Lio/vertx/rabbitmq/RabbitMQClient;Ljava/lang/Void;)Lio/vertx/core/Future; (6)
                  (Ljava/lang/Void;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Future.compose:(Ljava/util/function/Function;)Lio/vertx/core/Future;
         2: .line 275
            aload 1
            aload 2
            aload 0
            invokedynamic apply(Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/atomic/AtomicReference;Lio/vertx/rabbitmq/RabbitMQClient;)Ljava/util/function/Function;
              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;
                  examples/RabbitMQExamples.lambda$25(Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/atomic/AtomicReference;Lio/vertx/rabbitmq/RabbitMQClient;Lcom/rabbitmq/client/AMQP$Queue$DeclareOk;)Lio/vertx/core/Future; (6)
                  (Lcom/rabbitmq/client/AMQP$Queue$DeclareOk;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Future.compose:(Ljava/util/function/Function;)Lio/vertx/core/Future;
         3: .line 285
            aload 3 /* promise */
            invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
         4: .line 286
            return
        end local 3 // io.vertx.core.Promise promise
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     3  promise  Lio/vertx/core/Promise<Ljava/lang/Void;>;

  private static void lambda$26(io.vertx.rabbitmq.RabbitMQClient, java.util.concurrent.atomic.AtomicReference, java.util.concurrent.atomic.AtomicReference, java.lang.Void);
    descriptor: (Lio/vertx/rabbitmq/RabbitMQClient;Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/Void;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=4
        start local 3 // java.lang.Void v
         0: .line 291
            aload 0
            aload 1
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 2
            invokedynamic handle(Ljava/util/concurrent/atomic/AtomicReference;)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
                  examples/RabbitMQExamples.lambda$27(Ljava/util/concurrent/atomic/AtomicReference;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.rabbitmq.RabbitMQClient.basicConsumer:(Ljava/lang/String;Lio/vertx/core/Handler;)V
         1: .line 296
            return
        end local 3 // java.lang.Void v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     3     v  Ljava/lang/Void;

  private static void lambda$28(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.Throwable ex
         0: .line 298
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "It went wrong: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* ex */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 299
            return
        end local 0 // java.lang.Throwable ex
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    ex  Ljava/lang/Throwable;

  private static void lambda$29(io.vertx.rabbitmq.RabbitMQPublisher, java.lang.String, io.vertx.core.json.JsonObject);
    descriptor: (Lio/vertx/rabbitmq/RabbitMQPublisher;Ljava/lang/String;Lio/vertx/core/json/JsonObject;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=4, args_size=3
        start local 1 // java.lang.String k
        start local 2 // io.vertx.core.json.JsonObject v
         0: .line 307
            new com.rabbitmq.client.AMQP$BasicProperties$Builder
            dup
            invokespecial com.rabbitmq.client.AMQP$BasicProperties$Builder.<init>:()V
         1: .line 308
            aload 1 /* k */
            invokevirtual com.rabbitmq.client.AMQP$BasicProperties$Builder.messageId:(Ljava/lang/String;)Lcom/rabbitmq/client/AMQP$BasicProperties$Builder;
         2: .line 309
            invokevirtual com.rabbitmq.client.AMQP$BasicProperties$Builder.build:()Lcom/rabbitmq/client/AMQP$BasicProperties;
         3: .line 307
            astore 3 /* properties */
        start local 3 // com.rabbitmq.client.BasicProperties properties
         4: .line 310
            aload 0
            ldc "exchange"
            ldc "routingKey"
            aload 3 /* properties */
            aload 2 /* v */
            invokevirtual io.vertx.core.json.JsonObject.toBuffer:()Lio/vertx/core/buffer/Buffer;
            invokeinterface io.vertx.rabbitmq.RabbitMQPublisher.publish:(Ljava/lang/String;Ljava/lang/String;Lcom/rabbitmq/client/BasicProperties;Lio/vertx/core/buffer/Buffer;)Lio/vertx/core/Future;
            pop
        end local 3 // com.rabbitmq.client.BasicProperties properties
         5: .line 311
            return
        end local 2 // io.vertx.core.json.JsonObject v
        end local 1 // java.lang.String k
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     1           k  Ljava/lang/String;
            0    6     2           v  Lio/vertx/core/json/JsonObject;
            4    5     3  properties  Lcom/rabbitmq/client/BasicProperties;

  private static void lambda$30(java.util.Map, io.vertx.rabbitmq.RabbitMQPublisherConfirmation);
    descriptor: (Ljava/util/Map;Lio/vertx/rabbitmq/RabbitMQPublisherConfirmation;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // io.vertx.rabbitmq.RabbitMQPublisherConfirmation conf
         0: .line 314
            aload 1 /* conf */
            invokevirtual io.vertx.rabbitmq.RabbitMQPublisherConfirmation.isSucceeded:()Z
            ifeq 2
         1: .line 315
            aload 0
            aload 1 /* conf */
            invokevirtual io.vertx.rabbitmq.RabbitMQPublisherConfirmation.getMessageId:()Ljava/lang/String;
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 317
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.rabbitmq.RabbitMQPublisherConfirmation conf
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     1  conf  Lio/vertx/rabbitmq/RabbitMQPublisherConfirmation;

  private static void lambda$5(io.vertx.rabbitmq.RabbitMQClient, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/rabbitmq/RabbitMQClient;Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // io.vertx.core.AsyncResult pubResult
         0: .line 104
            aload 1 /* pubResult */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 3
         1: .line 106
            aload 0
            invokedynamic handle()Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  examples/RabbitMQExamples.lambda$6(Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.rabbitmq.RabbitMQClient.waitForConfirms:(Lio/vertx/core/Handler;)V
         2: .line 112
            goto 4
         3: .line 113
      StackMap locals:
      StackMap stack:
            aload 1 /* pubResult */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.printStackTrace:()V
         4: .line 115
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.AsyncResult pubResult
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     1  pubResult  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;

  private static void lambda$8(io.vertx.rabbitmq.RabbitMQMessage);
    descriptor: (Lio/vertx/rabbitmq/RabbitMQMessage;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.vertx.rabbitmq.RabbitMQMessage message
         0: .line 129
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Got message: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* message */
            invokeinterface io.vertx.rabbitmq.RabbitMQMessage.body:()Lio/vertx/core/buffer/Buffer;
            invokeinterface io.vertx.core.buffer.Buffer.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 130
            return
        end local 0 // io.vertx.rabbitmq.RabbitMQMessage message
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  message  Lio/vertx/rabbitmq/RabbitMQMessage;

  private static void lambda$16(io.vertx.rabbitmq.RabbitMQClient, io.vertx.rabbitmq.RabbitMQMessage);
    descriptor: (Lio/vertx/rabbitmq/RabbitMQClient;Lio/vertx/rabbitmq/RabbitMQMessage;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=3, args_size=2
        start local 1 // io.vertx.rabbitmq.RabbitMQMessage msg
         0: .line 222
            aload 1 /* msg */
            invokeinterface io.vertx.rabbitmq.RabbitMQMessage.body:()Lio/vertx/core/buffer/Buffer;
            checkcast io.vertx.core.json.JsonObject
            astore 2 /* json */
        start local 2 // io.vertx.core.json.JsonObject json
         1: .line 223
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Got message: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* json */
            ldc "body"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 225
            aload 0
            aload 2 /* json */
            ldc "deliveryTag"
            invokevirtual io.vertx.core.json.JsonObject.getLong:(Ljava/lang/String;)Ljava/lang/Long;
            invokevirtual java.lang.Long.longValue:()J
            iconst_0
            invokedynamic handle()Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  examples/RabbitMQExamples.lambda$17(Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.rabbitmq.RabbitMQClient.basicAck:(JZLio/vertx/core/Handler;)V
        end local 2 // io.vertx.core.json.JsonObject json
         3: .line 227
            return
        end local 1 // io.vertx.rabbitmq.RabbitMQMessage msg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     1   msg  Lio/vertx/rabbitmq/RabbitMQMessage;
            1    3     2  json  Lio/vertx/core/json/JsonObject;

  private static io.vertx.core.Future lambda$20(io.vertx.rabbitmq.RabbitMQClient, java.lang.Void);
    descriptor: (Lio/vertx/rabbitmq/RabbitMQClient;Ljava/lang/Void;)Lio/vertx/core/Future;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=2, args_size=2
        start local 1 // java.lang.Void v
         0: .line 255
            aload 0
            ldc "queue"
            iconst_0
            iconst_1
            iconst_1
            invokeinterface io.vertx.rabbitmq.RabbitMQClient.queueDeclare:(Ljava/lang/String;ZZZ)Lio/vertx/core/Future;
            areturn
        end local 1 // java.lang.Void v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     v  Ljava/lang/Void;

  private static io.vertx.core.Future lambda$21(io.vertx.rabbitmq.RabbitMQClient, com.rabbitmq.client.AMQP$Queue$DeclareOk);
    descriptor: (Lio/vertx/rabbitmq/RabbitMQClient;Lcom/rabbitmq/client/AMQP$Queue$DeclareOk;)Lio/vertx/core/Future;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=2, args_size=2
        start local 1 // com.rabbitmq.client.AMQP$Queue$DeclareOk declareOk
         0: .line 258
            aload 0
            aload 1 /* declareOk */
            invokeinterface com.rabbitmq.client.AMQP$Queue$DeclareOk.getQueue:()Ljava/lang/String;
            ldc "exchange"
            ldc ""
            invokeinterface io.vertx.rabbitmq.RabbitMQClient.queueBind:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/Future;
            areturn
        end local 1 // com.rabbitmq.client.AMQP$Queue$DeclareOk declareOk
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     1  declareOk  Lcom/rabbitmq/client/AMQP$Queue$DeclareOk;

  private static io.vertx.core.Future lambda$24(io.vertx.rabbitmq.RabbitMQClient, java.lang.Void);
    descriptor: (Lio/vertx/rabbitmq/RabbitMQClient;Ljava/lang/Void;)Lio/vertx/core/Future;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=2, args_size=2
        start local 1 // java.lang.Void v
         0: .line 274
            aload 0
            ldc ""
            iconst_0
            iconst_1
            iconst_1
            invokeinterface io.vertx.rabbitmq.RabbitMQClient.queueDeclare:(Ljava/lang/String;ZZZ)Lio/vertx/core/Future;
            areturn
        end local 1 // java.lang.Void v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     v  Ljava/lang/Void;

  private static io.vertx.core.Future lambda$25(java.util.concurrent.atomic.AtomicReference, java.util.concurrent.atomic.AtomicReference, io.vertx.rabbitmq.RabbitMQClient, com.rabbitmq.client.AMQP$Queue$DeclareOk);
    descriptor: (Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/atomic/AtomicReference;Lio/vertx/rabbitmq/RabbitMQClient;Lcom/rabbitmq/client/AMQP$Queue$DeclareOk;)Lio/vertx/core/Future;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=5, args_size=4
        start local 3 // com.rabbitmq.client.AMQP$Queue$DeclareOk dok
         0: .line 276
            aload 0
            aload 3 /* dok */
            invokeinterface com.rabbitmq.client.AMQP$Queue$DeclareOk.getQueue:()Ljava/lang/String;
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
         1: .line 279
            aload 1
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast io.vertx.rabbitmq.RabbitMQConsumer
            astore 4 /* currentConsumer */
        start local 4 // io.vertx.rabbitmq.RabbitMQConsumer currentConsumer
         2: .line 280
            aload 4 /* currentConsumer */
            ifnull 4
         3: .line 281
            aload 4 /* currentConsumer */
            aload 0
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast java.lang.String
            invokeinterface io.vertx.rabbitmq.RabbitMQConsumer.setQueueName:(Ljava/lang/String;)Lio/vertx/rabbitmq/RabbitMQConsumer;
            pop
         4: .line 283
      StackMap locals: io.vertx.rabbitmq.RabbitMQConsumer
      StackMap stack:
            aload 2
            aload 0
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast java.lang.String
            ldc "exchange"
            ldc ""
            invokeinterface io.vertx.rabbitmq.RabbitMQClient.queueBind:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/Future;
            areturn
        end local 4 // io.vertx.rabbitmq.RabbitMQConsumer currentConsumer
        end local 3 // com.rabbitmq.client.AMQP$Queue$DeclareOk dok
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     3              dok  Lcom/rabbitmq/client/AMQP$Queue$DeclareOk;
            2    5     4  currentConsumer  Lio/vertx/rabbitmq/RabbitMQConsumer;

  private static void lambda$27(java.util.concurrent.atomic.AtomicReference, io.vertx.core.AsyncResult);
    descriptor: (Ljava/util/concurrent/atomic/AtomicReference;Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // io.vertx.core.AsyncResult rabbitMQConsumerAsyncResult
         0: .line 292
            aload 1 /* rabbitMQConsumerAsyncResult */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 2
         1: .line 293
            aload 0
            aload 1 /* rabbitMQConsumerAsyncResult */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast io.vertx.rabbitmq.RabbitMQConsumer
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
         2: .line 295
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.AsyncResult rabbitMQConsumerAsyncResult
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0    3     1  rabbitMQConsumerAsyncResult  Lio/vertx/core/AsyncResult<Lio/vertx/rabbitmq/RabbitMQConsumer;>;

  private static void lambda$6(io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.core.AsyncResult waitResult
         0: .line 107
            aload 0 /* waitResult */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 2
         1: .line 108
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Message published !"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
            goto 3
         2: .line 110
      StackMap locals:
      StackMap stack:
            aload 0 /* waitResult */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.printStackTrace:()V
         3: .line 111
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.core.AsyncResult waitResult
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0  waitResult  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;

  private static void lambda$17(io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // io.vertx.core.AsyncResult asyncResult
         0: .line 226
            return
        end local 0 // io.vertx.core.AsyncResult asyncResult
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0  asyncResult  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;
}
SourceFile: "RabbitMQExamples.java"
InnerClasses:
  public BasicProperties = com.rabbitmq.client.AMQP$BasicProperties of com.rabbitmq.client.AMQP
  public final Builder = com.rabbitmq.client.AMQP$BasicProperties$Builder of com.rabbitmq.client.AMQP$BasicProperties
  public Queue = com.rabbitmq.client.AMQP$Queue of com.rabbitmq.client.AMQP
  public abstract DeclareOk = com.rabbitmq.client.AMQP$Queue$DeclareOk of com.rabbitmq.client.AMQP$Queue
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles