public class io.vertx.ext.stomp.impl.StompClientConnectionImpl implements io.vertx.ext.stomp.StompClientConnection, io.vertx.core.Handler<io.vertx.ext.stomp.Frame>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.ext.stomp.impl.StompClientConnectionImpl
  super_class: java.lang.Object
{
  private static final io.vertx.core.impl.logging.Logger LOGGER;
    descriptor: Lio/vertx/core/impl/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final io.vertx.ext.stomp.StompClient client;
    descriptor: Lio/vertx/ext/stomp/StompClient;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.stomp.StompClientConnection>> resultHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/StompClientConnection;>;>;

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

  private volatile long lastServerActivity;
    descriptor: J
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private final java.util.Map<java.lang.String, io.vertx.core.Promise<java.lang.Void>> pendingReceipts;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lio/vertx/core/Promise<Ljava/lang/Void;>;>;

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

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

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

  private final java.util.List<io.vertx.ext.stomp.impl.StompClientConnectionImpl$Subscription> subscriptions;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lio/vertx/ext/stomp/impl/StompClientConnectionImpl$Subscription;>;

  private volatile long pinger;
    descriptor: J
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile long ponger;
    descriptor: J
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private io.vertx.core.Handler<io.vertx.ext.stomp.StompClientConnection> pingHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/Handler<Lio/vertx/ext/stomp/StompClientConnection;>;

  private io.vertx.core.Handler<io.vertx.ext.stomp.StompClientConnection> closeHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/Handler<Lio/vertx/ext/stomp/StompClientConnection;>;

  private io.vertx.core.Handler<io.vertx.ext.stomp.StompClientConnection> droppedHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/Handler<Lio/vertx/ext/stomp/StompClientConnection;>;

  private io.vertx.core.Handler<io.vertx.ext.stomp.Frame> receivedFrameHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/Handler<Lio/vertx/ext/stomp/Frame;>;

  private io.vertx.core.Handler<io.vertx.ext.stomp.Frame> writingHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/Handler<Lio/vertx/ext/stomp/Frame;>;

  private io.vertx.core.Handler<io.vertx.ext.stomp.Frame> errorHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/Handler<Lio/vertx/ext/stomp/Frame;>;

  private volatile boolean closed;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

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

  private volatile boolean connected;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private static volatile int[] $SWITCH_TABLE$io$vertx$ext$stomp$Frame$Command;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

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

  public void <init>(io.vertx.core.Vertx, io.vertx.core.net.NetSocket, io.vertx.ext.stomp.StompClient, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.stomp.StompClientConnection>>);
    descriptor: (Lio/vertx/core/Vertx;Lio/vertx/core/net/NetSocket;Lio/vertx/ext/stomp/StompClient;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // io.vertx.core.Vertx vertx
        start local 2 // io.vertx.core.net.NetSocket socket
        start local 3 // io.vertx.ext.stomp.StompClient client
        start local 4 // io.vertx.core.Handler resultHandler
         0: .line 96
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 50
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.pendingReceipts:Ljava/util/Map;
         2: .line 56
            aload 0 /* this */
            new java.util.concurrent.CopyOnWriteArrayList
            dup
            invokespecial java.util.concurrent.CopyOnWriteArrayList.<init>:()V
            putfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.subscriptions:Ljava/util/List;
         3: .line 58
            aload 0 /* this */
            ldc -1
            putfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.pinger:J
         4: .line 59
            aload 0 /* this */
            ldc -1
            putfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.ponger:J
         5: .line 61
            aload 0 /* this */
            invokedynamic handle()Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/ext/stomp/impl/StompClientConnectionImpl.lambda$0(Lio/vertx/ext/stomp/StompClientConnection;)V (6)
                  (Lio/vertx/ext/stomp/StompClientConnection;)V
            putfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.pingHandler:Lio/vertx/core/Handler;
         6: .line 63
            aload 0 /* this */
            invokedynamic handle()Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/ext/stomp/impl/StompClientConnectionImpl.lambda$1(Lio/vertx/ext/stomp/StompClientConnection;)V (6)
                  (Lio/vertx/ext/stomp/StompClientConnection;)V
            putfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.droppedHandler:Lio/vertx/core/Handler;
         7: .line 98
            aload 0 /* this */
            aload 2 /* socket */
            putfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.socket:Lio/vertx/core/net/NetSocket;
         8: .line 99
            aload 0 /* this */
            aload 3 /* client */
            putfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.client:Lio/vertx/ext/stomp/StompClient;
         9: .line 100
            aload 0 /* this */
            aload 4 /* resultHandler */
            putfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.resultHandler:Lio/vertx/core/Handler;
        10: .line 101
            aload 0 /* this */
            aload 1 /* vertx */
            invokeinterface io.vertx.core.Vertx.getOrCreateContext:()Lio/vertx/core/Context;
            putfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.context:Lio/vertx/core/Context;
        11: .line 103
            new io.vertx.ext.stomp.impl.FrameParser
            dup
            invokespecial io.vertx.ext.stomp.impl.FrameParser.<init>:()V
            astore 5 /* parser */
        start local 5 // io.vertx.ext.stomp.impl.FrameParser parser
        12: .line 104
            aload 5 /* parser */
            aload 0 /* this */
            invokevirtual io.vertx.ext.stomp.impl.FrameParser.handler:(Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/impl/FrameParser;
            pop
        13: .line 105
            aload 2 /* socket */
            aload 0 /* this */
            aload 5 /* parser */
            invokedynamic handle(Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;Lio/vertx/ext/stomp/impl/FrameParser;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/ext/stomp/impl/StompClientConnectionImpl.lambda$2(Lio/vertx/ext/stomp/impl/FrameParser;Lio/vertx/core/buffer/Buffer;)V (7)
                  (Lio/vertx/core/buffer/Buffer;)V
            invokeinterface io.vertx.core.net.NetSocket.handler:(Lio/vertx/core/Handler;)Lio/vertx/core/net/NetSocket;
        14: .line 109
            aload 0 /* this */
            aload 3 /* client */
            invokedynamic handle(Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;Lio/vertx/ext/stomp/StompClient;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/ext/stomp/impl/StompClientConnectionImpl.lambda$3(Lio/vertx/ext/stomp/StompClient;Ljava/lang/Void;)V (7)
                  (Ljava/lang/Void;)V
            invokeinterface io.vertx.core.net.NetSocket.closeHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/net/NetSocket;
            pop
        15: .line 117
            return
        end local 5 // io.vertx.ext.stomp.impl.FrameParser parser
        end local 4 // io.vertx.core.Handler resultHandler
        end local 3 // io.vertx.ext.stomp.StompClient client
        end local 2 // io.vertx.core.net.NetSocket socket
        end local 1 // io.vertx.core.Vertx vertx
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   16     0           this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0   16     1          vertx  Lio/vertx/core/Vertx;
            0   16     2         socket  Lio/vertx/core/net/NetSocket;
            0   16     3         client  Lio/vertx/ext/stomp/StompClient;
            0   16     4  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/StompClientConnection;>;>;
           12   16     5         parser  Lio/vertx/ext/stomp/impl/FrameParser;
    Signature: (Lio/vertx/core/Vertx;Lio/vertx/core/net/NetSocket;Lio/vertx/ext/stomp/StompClient;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/StompClientConnection;>;>;)V
    MethodParameters:
               Name  Flags
      vertx          
      socket         
      client         
      resultHandler  

  public boolean isConnected();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
         0: .line 121
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.connected:Z
            ireturn
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;

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

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

  public synchronized void close();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
         0: .line 136
            aload 0 /* this */
            iconst_1
            putfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.closed:Z
         1: .line 137
            aload 0 /* this */
            iconst_0
            putfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.connected:Z
         2: .line 139
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.closeHandler:Lio/vertx/core/Handler;
            ifnull 4
         3: .line 140
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.context:Lio/vertx/core/Context;
            aload 0 /* this */
            invokedynamic handle(Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/ext/stomp/impl/StompClientConnectionImpl.lambda$4(Ljava/lang/Void;)V (7)
                  (Ljava/lang/Void;)V
            invokeinterface io.vertx.core.Context.runOnContext:(Lio/vertx/core/Handler;)V
         4: .line 143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.pinger:J
            ldc -1
            lcmp
            ifeq 7
         5: .line 144
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.client:Lio/vertx/ext/stomp/StompClient;
            invokeinterface io.vertx.ext.stomp.StompClient.vertx:()Lio/vertx/core/Vertx;
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.pinger:J
            invokeinterface io.vertx.core.Vertx.cancelTimer:(J)Z
            pop
         6: .line 145
            aload 0 /* this */
            ldc -1
            putfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.pinger:J
         7: .line 148
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.ponger:J
            ldc -1
            lcmp
            ifeq 10
         8: .line 149
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.client:Lio/vertx/ext/stomp/StompClient;
            invokeinterface io.vertx.ext.stomp.StompClient.vertx:()Lio/vertx/core/Vertx;
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.ponger:J
            invokeinterface io.vertx.core.Vertx.cancelTimer:(J)Z
            pop
         9: .line 150
            aload 0 /* this */
            ldc -1
            putfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.ponger:J
        10: .line 154
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.pendingReceipts:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 1 /* values */
        start local 1 // java.util.Collection values
        11: .line 155
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.pendingReceipts:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
        12: .line 156
            aload 1 /* values */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 15
      StackMap locals: io.vertx.ext.stomp.impl.StompClientConnectionImpl java.util.Collection top java.util.Iterator
      StackMap stack:
        13: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.core.Promise
            astore 2 /* promise */
        start local 2 // io.vertx.core.Promise promise
        14: .line 157
            aload 2 /* promise */
            ldc "Client closed"
            invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/String;)V
        end local 2 // io.vertx.core.Promise promise
        15: .line 156
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        16: .line 160
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.socket:Lio/vertx/core/net/NetSocket;
            invokeinterface io.vertx.core.net.NetSocket.close:()Lio/vertx/core/Future;
            pop
        17: .line 161
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.client:Lio/vertx/ext/stomp/StompClient;
            invokeinterface io.vertx.ext.stomp.StompClient.close:()V
        18: .line 162
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.subscriptions:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
        19: .line 163
            aload 0 /* this */
            aconst_null
            putfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.server:Ljava/lang/String;
        20: .line 164
            aload 0 /* this */
            aconst_null
            putfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.sessionId:Ljava/lang/String;
        21: .line 165
            aload 0 /* this */
            aconst_null
            putfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.version:Ljava/lang/String;
        22: .line 166
            return
        end local 1 // java.util.Collection values
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   23     0     this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
           11   23     1   values  Ljava/util/Collection<Lio/vertx/core/Promise<Ljava/lang/Void;>;>;
           14   15     2  promise  Lio/vertx/core/Promise<Ljava/lang/Void;>;

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

  public io.vertx.core.Future<io.vertx.ext.stomp.Frame> send(java.util.Map<java.lang.String, java.lang.String>, io.vertx.core.buffer.Buffer);
    descriptor: (Ljava/util/Map;Lio/vertx/core/buffer/Buffer;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.util.Map headers
        start local 2 // io.vertx.core.buffer.Buffer body
         0: .line 175
            aload 0 /* this */
            aconst_null
            aload 1 /* headers */
            aload 2 /* body */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.send:(Ljava/lang/String;Ljava/util/Map;Lio/vertx/core/buffer/Buffer;)Lio/vertx/core/Future;
            areturn
        end local 2 // io.vertx.core.buffer.Buffer body
        end local 1 // java.util.Map headers
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    1     1  headers  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0    1     2     body  Lio/vertx/core/buffer/Buffer;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Lio/vertx/core/buffer/Buffer;)Lio/vertx/core/Future<Lio/vertx/ext/stomp/Frame;>;
    MethodParameters:
         Name  Flags
      headers  
      body     

  public io.vertx.ext.stomp.StompClientConnection send(java.util.Map<java.lang.String, java.lang.String>, io.vertx.core.buffer.Buffer, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.stomp.Frame>>);
    descriptor: (Ljava/util/Map;Lio/vertx/core/buffer/Buffer;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.util.Map headers
        start local 2 // io.vertx.core.buffer.Buffer body
        start local 3 // io.vertx.core.Handler receiptHandler
         0: .line 180
            aload 0 /* this */
            aconst_null
            aload 1 /* headers */
            aload 2 /* body */
            aload 3 /* receiptHandler */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.send:(Ljava/lang/String;Ljava/util/Map;Lio/vertx/core/buffer/Buffer;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
            areturn
        end local 3 // io.vertx.core.Handler receiptHandler
        end local 2 // io.vertx.core.buffer.Buffer body
        end local 1 // java.util.Map headers
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    1     1         headers  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0    1     2            body  Lio/vertx/core/buffer/Buffer;
            0    1     3  receiptHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Lio/vertx/core/buffer/Buffer;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;)Lio/vertx/ext/stomp/StompClientConnection;
    MethodParameters:
                Name  Flags
      headers         
      body            
      receiptHandler  

  public io.vertx.core.Future<io.vertx.ext.stomp.Frame> send(java.lang.String, io.vertx.core.buffer.Buffer);
    descriptor: (Ljava/lang/String;Lio/vertx/core/buffer/Buffer;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.lang.String destination
        start local 2 // io.vertx.core.buffer.Buffer body
         0: .line 185
            aload 0 /* this */
            aload 1 /* destination */
            aconst_null
            aload 2 /* body */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.send:(Ljava/lang/String;Ljava/util/Map;Lio/vertx/core/buffer/Buffer;)Lio/vertx/core/Future;
            areturn
        end local 2 // io.vertx.core.buffer.Buffer body
        end local 1 // java.lang.String destination
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    1     1  destination  Ljava/lang/String;
            0    1     2         body  Lio/vertx/core/buffer/Buffer;
    Signature: (Ljava/lang/String;Lio/vertx/core/buffer/Buffer;)Lio/vertx/core/Future<Lio/vertx/ext/stomp/Frame;>;
    MethodParameters:
             Name  Flags
      destination  
      body         

  public io.vertx.ext.stomp.StompClientConnection send(java.lang.String, io.vertx.core.buffer.Buffer, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.stomp.Frame>>);
    descriptor: (Ljava/lang/String;Lio/vertx/core/buffer/Buffer;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.lang.String destination
        start local 2 // io.vertx.core.buffer.Buffer body
        start local 3 // io.vertx.core.Handler receiptHandler
         0: .line 190
            aload 0 /* this */
            aload 1 /* destination */
            aconst_null
            aload 2 /* body */
            aload 3 /* receiptHandler */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.send:(Ljava/lang/String;Ljava/util/Map;Lio/vertx/core/buffer/Buffer;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
            areturn
        end local 3 // io.vertx.core.Handler receiptHandler
        end local 2 // io.vertx.core.buffer.Buffer body
        end local 1 // java.lang.String destination
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    1     1     destination  Ljava/lang/String;
            0    1     2            body  Lio/vertx/core/buffer/Buffer;
            0    1     3  receiptHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;
    Signature: (Ljava/lang/String;Lio/vertx/core/buffer/Buffer;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;)Lio/vertx/ext/stomp/StompClientConnection;
    MethodParameters:
                Name  Flags
      destination     
      body            
      receiptHandler  

  public io.vertx.core.Future<io.vertx.ext.stomp.Frame> send(io.vertx.ext.stomp.Frame);
    descriptor: (Lio/vertx/ext/stomp/Frame;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // io.vertx.ext.stomp.Frame frame
         0: .line 195
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 2 /* promise */
        start local 2 // io.vertx.core.Promise promise
         1: .line 196
            aload 0 /* this */
            aload 1 /* frame */
            aload 2 /* promise */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.send:(Lio/vertx/ext/stomp/Frame;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
            pop
         2: .line 197
            aload 2 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 2 // io.vertx.core.Promise promise
        end local 1 // io.vertx.ext.stomp.Frame frame
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    3     1    frame  Lio/vertx/ext/stomp/Frame;
            1    3     2  promise  Lio/vertx/core/Promise<Lio/vertx/ext/stomp/Frame;>;
    Signature: (Lio/vertx/ext/stomp/Frame;)Lio/vertx/core/Future<Lio/vertx/ext/stomp/Frame;>;
    MethodParameters:
       Name  Flags
      frame  

  public synchronized io.vertx.ext.stomp.StompClientConnection send(io.vertx.ext.stomp.Frame, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.stomp.Frame>>);
    descriptor: (Lio/vertx/ext/stomp/Frame;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // io.vertx.ext.stomp.Frame frame
        start local 2 // io.vertx.core.Handler receiptHandler
         0: .line 202
            aload 2 /* receiptHandler */
            ifnull 6
         1: .line 203
            invokestatic java.util.UUID.randomUUID:()Ljava/util/UUID;
            invokevirtual java.util.UUID.toString:()Ljava/lang/String;
            astore 3 /* receiptId */
        start local 3 // java.lang.String receiptId
         2: .line 204
            aload 1 /* frame */
            ldc "receipt"
            aload 3 /* receiptId */
            invokevirtual io.vertx.ext.stomp.Frame.addHeader:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/ext/stomp/Frame;
            pop
         3: .line 205
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 4 /* promise */
        start local 4 // io.vertx.core.Promise promise
         4: .line 206
            aload 4 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            aload 2 /* receiptHandler */
            aload 1 /* frame */
            invokedynamic handle(Lio/vertx/core/Handler;Lio/vertx/ext/stomp/Frame;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/ext/stomp/impl/StompClientConnectionImpl.lambda$5(Lio/vertx/core/Handler;Lio/vertx/ext/stomp/Frame;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
         5: .line 207
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.pendingReceipts:Ljava/util/Map;
            aload 3 /* receiptId */
            aload 4 /* promise */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // io.vertx.core.Promise promise
        end local 3 // java.lang.String receiptId
         6: .line 209
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.writingHandler:Lio/vertx/core/Handler;
            ifnull 8
         7: .line 210
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.writingHandler:Lio/vertx/core/Handler;
            aload 1 /* frame */
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         8: .line 212
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.socket:Lio/vertx/core/net/NetSocket;
            aload 1 /* frame */
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.client:Lio/vertx/ext/stomp/StompClient;
            invokeinterface io.vertx.ext.stomp.StompClient.options:()Lio/vertx/ext/stomp/StompClientOptions;
            invokevirtual io.vertx.ext.stomp.StompClientOptions.isTrailingLine:()Z
            invokevirtual io.vertx.ext.stomp.Frame.toBuffer:(Z)Lio/vertx/core/buffer/Buffer;
            invokeinterface io.vertx.core.net.NetSocket.write:(Ljava/lang/Object;)Lio/vertx/core/Future;
            pop
         9: .line 213
            aload 0 /* this */
            areturn
        end local 2 // io.vertx.core.Handler receiptHandler
        end local 1 // io.vertx.ext.stomp.Frame frame
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0   10     1           frame  Lio/vertx/ext/stomp/Frame;
            0   10     2  receiptHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;
            2    6     3       receiptId  Ljava/lang/String;
            4    6     4         promise  Lio/vertx/core/Promise<Ljava/lang/Void;>;
    Signature: (Lio/vertx/ext/stomp/Frame;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;)Lio/vertx/ext/stomp/StompClientConnection;
    MethodParameters:
                Name  Flags
      frame           
      receiptHandler  

  public io.vertx.core.Future<io.vertx.ext.stomp.Frame> send(java.lang.String, java.util.Map<java.lang.String, java.lang.String>, io.vertx.core.buffer.Buffer);
    descriptor: (Ljava/lang/String;Ljava/util/Map;Lio/vertx/core/buffer/Buffer;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.lang.String destination
        start local 2 // java.util.Map headers
        start local 3 // io.vertx.core.buffer.Buffer body
         0: .line 218
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 4 /* promise */
        start local 4 // io.vertx.core.Promise promise
         1: .line 219
            aload 0 /* this */
            aload 1 /* destination */
            aload 2 /* headers */
            aload 3 /* body */
            aload 4 /* promise */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.send:(Ljava/lang/String;Ljava/util/Map;Lio/vertx/core/buffer/Buffer;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
            pop
         2: .line 220
            aload 4 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 4 // io.vertx.core.Promise promise
        end local 3 // io.vertx.core.buffer.Buffer body
        end local 2 // java.util.Map headers
        end local 1 // java.lang.String destination
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    3     1  destination  Ljava/lang/String;
            0    3     2      headers  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0    3     3         body  Lio/vertx/core/buffer/Buffer;
            1    3     4      promise  Lio/vertx/core/Promise<Lio/vertx/ext/stomp/Frame;>;
    Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Lio/vertx/core/buffer/Buffer;)Lio/vertx/core/Future<Lio/vertx/ext/stomp/Frame;>;
    MethodParameters:
             Name  Flags
      destination  
      headers      
      body         

  public io.vertx.ext.stomp.StompClientConnection send(java.lang.String, java.util.Map<java.lang.String, java.lang.String>, io.vertx.core.buffer.Buffer, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.stomp.Frame>>);
    descriptor: (Ljava/lang/String;Ljava/util/Map;Lio/vertx/core/buffer/Buffer;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.lang.String destination
        start local 2 // java.util.Map headers
        start local 3 // io.vertx.core.buffer.Buffer body
        start local 4 // io.vertx.core.Handler receiptHandler
         0: .line 227
            aload 2 /* headers */
            ifnonnull 2
         1: .line 228
            new io.vertx.ext.stomp.utils.Headers
            dup
            invokespecial io.vertx.ext.stomp.utils.Headers.<init>:()V
            astore 2 /* headers */
         2: .line 230
      StackMap locals:
      StackMap stack:
            aload 1 /* destination */
            ifnull 4
         3: .line 231
            aload 2 /* headers */
            ldc "destination"
            aload 1 /* destination */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 234
      StackMap locals:
      StackMap stack:
            aload 2 /* headers */
            ldc "destination"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 6
         5: .line 235
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "The 'destination' header is mandatory : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* headers */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 238
      StackMap locals:
      StackMap stack:
            aload 3 /* body */
            ifnull 10
         7: .line 239
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.client:Lio/vertx/ext/stomp/StompClient;
            invokeinterface io.vertx.ext.stomp.StompClient.options:()Lio/vertx/ext/stomp/StompClientOptions;
            invokevirtual io.vertx.ext.stomp.StompClientOptions.isAutoComputeContentLength:()Z
            ifeq 10
         8: .line 240
            aload 2 /* headers */
            ldc "content-length"
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 10
         9: .line 241
            aload 2 /* headers */
            ldc "content-length"
            aload 3 /* body */
            invokeinterface io.vertx.core.buffer.Buffer.length:()I
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 244
      StackMap locals:
      StackMap stack:
            new io.vertx.ext.stomp.Frame
            dup
            getstatic io.vertx.ext.stomp.Frame$Command.SEND:Lio/vertx/ext/stomp/Frame$Command;
            aload 2 /* headers */
            aload 3 /* body */
            invokespecial io.vertx.ext.stomp.Frame.<init>:(Lio/vertx/ext/stomp/Frame$Command;Ljava/util/Map;Lio/vertx/core/buffer/Buffer;)V
            astore 5 /* frame */
        start local 5 // io.vertx.ext.stomp.Frame frame
        11: .line 245
            aload 0 /* this */
            aload 5 /* frame */
            aload 4 /* receiptHandler */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.send:(Lio/vertx/ext/stomp/Frame;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
            areturn
        end local 5 // io.vertx.ext.stomp.Frame frame
        end local 4 // io.vertx.core.Handler receiptHandler
        end local 3 // io.vertx.core.buffer.Buffer body
        end local 2 // java.util.Map headers
        end local 1 // java.lang.String destination
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   12     0            this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0   12     1     destination  Ljava/lang/String;
            0   12     2         headers  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0   12     3            body  Lio/vertx/core/buffer/Buffer;
            0   12     4  receiptHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;
           11   12     5           frame  Lio/vertx/ext/stomp/Frame;
    Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Lio/vertx/core/buffer/Buffer;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;)Lio/vertx/ext/stomp/StompClientConnection;
    MethodParameters:
                Name  Flags
      destination     
      headers         
      body            
      receiptHandler  

  public io.vertx.core.Future<java.lang.String> subscribe(java.lang.String, io.vertx.core.Handler<io.vertx.ext.stomp.Frame>);
    descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.lang.String destination
        start local 2 // io.vertx.core.Handler handler
         0: .line 250
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 3 /* promise */
        start local 3 // io.vertx.core.Promise promise
         1: .line 251
            aload 0 /* this */
            aload 1 /* destination */
            aconst_null
            aload 2 /* handler */
            aload 3 /* promise */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.subscribe:(Ljava/lang/String;Ljava/util/Map;Lio/vertx/core/Handler;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
            pop
         2: .line 252
            aload 3 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 3 // io.vertx.core.Promise promise
        end local 2 // io.vertx.core.Handler handler
        end local 1 // java.lang.String destination
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    3     1  destination  Ljava/lang/String;
            0    3     2      handler  Lio/vertx/core/Handler<Lio/vertx/ext/stomp/Frame;>;
            1    3     3      promise  Lio/vertx/core/Promise<Ljava/lang/String;>;
    Signature: (Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/ext/stomp/Frame;>;)Lio/vertx/core/Future<Ljava/lang/String;>;
    MethodParameters:
             Name  Flags
      destination  
      handler      

  public io.vertx.ext.stomp.StompClientConnection subscribe(java.lang.String, io.vertx.core.Handler<io.vertx.ext.stomp.Frame>, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.String>>);
    descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.lang.String destination
        start local 2 // io.vertx.core.Handler handler
        start local 3 // io.vertx.core.Handler receiptHandler
         0: .line 257
            aload 0 /* this */
            aload 1 /* destination */
            aconst_null
            aload 2 /* handler */
            aload 3 /* receiptHandler */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.subscribe:(Ljava/lang/String;Ljava/util/Map;Lio/vertx/core/Handler;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
            areturn
        end local 3 // io.vertx.core.Handler receiptHandler
        end local 2 // io.vertx.core.Handler handler
        end local 1 // java.lang.String destination
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    1     1     destination  Ljava/lang/String;
            0    1     2         handler  Lio/vertx/core/Handler<Lio/vertx/ext/stomp/Frame;>;
            0    1     3  receiptHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/String;>;>;
    Signature: (Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/ext/stomp/Frame;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/String;>;>;)Lio/vertx/ext/stomp/StompClientConnection;
    MethodParameters:
                Name  Flags
      destination     
      handler         
      receiptHandler  

  public io.vertx.core.Future<java.lang.String> subscribe(java.lang.String, java.util.Map<java.lang.String, java.lang.String>, io.vertx.core.Handler<io.vertx.ext.stomp.Frame>);
    descriptor: (Ljava/lang/String;Ljava/util/Map;Lio/vertx/core/Handler;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.lang.String destination
        start local 2 // java.util.Map headers
        start local 3 // io.vertx.core.Handler handler
         0: .line 262
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 4 /* promise */
        start local 4 // io.vertx.core.Promise promise
         1: .line 263
            aload 0 /* this */
            aload 1 /* destination */
            aload 2 /* headers */
            aload 3 /* handler */
            aload 4 /* promise */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.subscribe:(Ljava/lang/String;Ljava/util/Map;Lio/vertx/core/Handler;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
            pop
         2: .line 264
            aload 4 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 4 // io.vertx.core.Promise promise
        end local 3 // io.vertx.core.Handler handler
        end local 2 // java.util.Map headers
        end local 1 // java.lang.String destination
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    3     1  destination  Ljava/lang/String;
            0    3     2      headers  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0    3     3      handler  Lio/vertx/core/Handler<Lio/vertx/ext/stomp/Frame;>;
            1    3     4      promise  Lio/vertx/core/Promise<Ljava/lang/String;>;
    Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Lio/vertx/core/Handler<Lio/vertx/ext/stomp/Frame;>;)Lio/vertx/core/Future<Ljava/lang/String;>;
    MethodParameters:
             Name  Flags
      destination  
      headers      
      handler      

  public synchronized io.vertx.ext.stomp.StompClientConnection subscribe(java.lang.String, java.util.Map<java.lang.String, java.lang.String>, io.vertx.core.Handler<io.vertx.ext.stomp.Frame>, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.String>>);
    descriptor: (Ljava/lang/String;Ljava/util/Map;Lio/vertx/core/Handler;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=8, args_size=5
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.lang.String destination
        start local 2 // java.util.Map headers
        start local 3 // io.vertx.core.Handler handler
        start local 4 // io.vertx.core.Handler receiptHandler
         0: .line 269
            aload 1 /* destination */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 270
            aload 3 /* handler */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 272
            aload 2 /* headers */
            ifnonnull 4
         3: .line 273
            invokestatic io.vertx.ext.stomp.utils.Headers.create:()Lio/vertx/ext/stomp/utils/Headers;
            astore 2 /* headers */
         4: .line 276
      StackMap locals:
      StackMap stack:
            aload 2 /* headers */
            ldc "id"
            aload 1 /* destination */
            invokeinterface java.util.Map.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* id */
        start local 5 // java.lang.String id
         5: .line 278
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.subscriptions:Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
         6: .line 279
            aload 5 /* id */
            invokedynamic test(Ljava/lang/String;)Ljava/util/function/Predicate;
              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;)Z
                  io/vertx/ext/stomp/impl/StompClientConnectionImpl.lambda$6(Ljava/lang/String;Lio/vertx/ext/stomp/impl/StompClientConnectionImpl$Subscription;)Z (6)
                  (Lio/vertx/ext/stomp/impl/StompClientConnectionImpl$Subscription;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.findFirst:()Ljava/util/Optional;
         7: .line 278
            astore 6 /* maybeSubscription */
        start local 6 // java.util.Optional maybeSubscription
         8: .line 281
            aload 6 /* maybeSubscription */
            invokevirtual java.util.Optional.isPresent:()Z
            ifeq 10
         9: .line 282
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "The client is already registered  to "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* destination */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 285
      StackMap locals: java.lang.String java.util.Optional
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.subscriptions:Ljava/util/List;
            new io.vertx.ext.stomp.impl.StompClientConnectionImpl$Subscription
            dup
            aload 1 /* destination */
            aload 5 /* id */
            aload 3 /* handler */
            invokespecial io.vertx.ext.stomp.impl.StompClientConnectionImpl$Subscription.<init>:(Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        11: .line 287
            aload 2 /* headers */
            ldc "destination"
            aload 1 /* destination */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 289
            aload 2 /* headers */
            ldc "id"
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 14
        13: .line 290
            aload 2 /* headers */
            ldc "id"
            aload 5 /* id */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 293
      StackMap locals:
      StackMap stack:
            new io.vertx.ext.stomp.Frame
            dup
            getstatic io.vertx.ext.stomp.Frame$Command.SUBSCRIBE:Lio/vertx/ext/stomp/Frame$Command;
            aload 2 /* headers */
            aconst_null
            invokespecial io.vertx.ext.stomp.Frame.<init>:(Lio/vertx/ext/stomp/Frame$Command;Ljava/util/Map;Lio/vertx/core/buffer/Buffer;)V
            astore 7 /* frame */
        start local 7 // io.vertx.ext.stomp.Frame frame
        15: .line 294
            aload 0 /* this */
            aload 7 /* frame */
            aload 4 /* receiptHandler */
            aload 5 /* id */
            invokedynamic handle(Lio/vertx/core/Handler;Ljava/lang/String;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/ext/stomp/impl/StompClientConnectionImpl.lambda$7(Lio/vertx/core/Handler;Ljava/lang/String;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.send:(Lio/vertx/ext/stomp/Frame;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
            pop
        16: .line 300
            aload 0 /* this */
            areturn
        end local 7 // io.vertx.ext.stomp.Frame frame
        end local 6 // java.util.Optional maybeSubscription
        end local 5 // java.lang.String id
        end local 4 // io.vertx.core.Handler receiptHandler
        end local 3 // io.vertx.core.Handler handler
        end local 2 // java.util.Map headers
        end local 1 // java.lang.String destination
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   17     0               this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0   17     1        destination  Ljava/lang/String;
            0   17     2            headers  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0   17     3            handler  Lio/vertx/core/Handler<Lio/vertx/ext/stomp/Frame;>;
            0   17     4     receiptHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/String;>;>;
            5   17     5                 id  Ljava/lang/String;
            8   17     6  maybeSubscription  Ljava/util/Optional<Lio/vertx/ext/stomp/impl/StompClientConnectionImpl$Subscription;>;
           15   17     7              frame  Lio/vertx/ext/stomp/Frame;
    Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Lio/vertx/core/Handler<Lio/vertx/ext/stomp/Frame;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/String;>;>;)Lio/vertx/ext/stomp/StompClientConnection;
    MethodParameters:
                Name  Flags
      destination     
      headers         
      handler         
      receiptHandler  

  public io.vertx.core.Future<io.vertx.ext.stomp.Frame> unsubscribe(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.lang.String destination
         0: .line 305
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 2 /* promise */
        start local 2 // io.vertx.core.Promise promise
         1: .line 306
            aload 0 /* this */
            aload 1 /* destination */
            aconst_null
            aload 2 /* promise */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.unsubscribe:(Ljava/lang/String;Ljava/util/Map;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
            pop
         2: .line 307
            aload 2 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 2 // io.vertx.core.Promise promise
        end local 1 // java.lang.String destination
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    3     1  destination  Ljava/lang/String;
            1    3     2      promise  Lio/vertx/core/Promise<Lio/vertx/ext/stomp/Frame;>;
    Signature: (Ljava/lang/String;)Lio/vertx/core/Future<Lio/vertx/ext/stomp/Frame;>;
    MethodParameters:
             Name  Flags
      destination  

  public io.vertx.ext.stomp.StompClientConnection unsubscribe(java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.stomp.Frame>>);
    descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.lang.String destination
        start local 2 // io.vertx.core.Handler receiptHandler
         0: .line 312
            aload 0 /* this */
            aload 1 /* destination */
            aconst_null
            aload 2 /* receiptHandler */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.unsubscribe:(Ljava/lang/String;Ljava/util/Map;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
            areturn
        end local 2 // io.vertx.core.Handler receiptHandler
        end local 1 // java.lang.String destination
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    1     1     destination  Ljava/lang/String;
            0    1     2  receiptHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;
    Signature: (Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;)Lio/vertx/ext/stomp/StompClientConnection;
    MethodParameters:
                Name  Flags
      destination     
      receiptHandler  

  public io.vertx.core.Future<io.vertx.ext.stomp.Frame> unsubscribe(java.lang.String, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/util/Map;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.lang.String destination
        start local 2 // java.util.Map headers
         0: .line 317
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 3 /* promise */
        start local 3 // io.vertx.core.Promise promise
         1: .line 318
            aload 0 /* this */
            aload 1 /* destination */
            aload 2 /* headers */
            aload 3 /* promise */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.unsubscribe:(Ljava/lang/String;Ljava/util/Map;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
            pop
         2: .line 319
            aload 3 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 3 // io.vertx.core.Promise promise
        end local 2 // java.util.Map headers
        end local 1 // java.lang.String destination
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    3     1  destination  Ljava/lang/String;
            0    3     2      headers  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            1    3     3      promise  Lio/vertx/core/Promise<Lio/vertx/ext/stomp/Frame;>;
    Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Lio/vertx/core/Future<Lio/vertx/ext/stomp/Frame;>;
    MethodParameters:
             Name  Flags
      destination  
      headers      

  public synchronized io.vertx.ext.stomp.StompClientConnection unsubscribe(java.lang.String, java.util.Map<java.lang.String, java.lang.String>, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.stomp.Frame>>);
    descriptor: (Ljava/lang/String;Ljava/util/Map;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.lang.String destination
        start local 2 // java.util.Map headers
        start local 3 // io.vertx.core.Handler receiptHandler
         0: .line 325
            aload 1 /* destination */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 326
            aload 2 /* headers */
            ifnonnull 3
         2: .line 327
            invokestatic io.vertx.ext.stomp.utils.Headers.create:()Lio/vertx/ext/stomp/utils/Headers;
            astore 2 /* headers */
         3: .line 329
      StackMap locals:
      StackMap stack:
            aload 2 /* headers */
            ldc "id"
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 4
            aload 2 /* headers */
            ldc "id"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            goto 5
      StackMap locals:
      StackMap stack:
         4: aload 1 /* destination */
      StackMap locals:
      StackMap stack: java.lang.String
         5: astore 4 /* id */
        start local 4 // java.lang.String id
         6: .line 330
            aload 2 /* headers */
            ldc "id"
            aload 4 /* id */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 332
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.subscriptions:Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
         8: .line 333
            aload 4 /* id */
            invokedynamic test(Ljava/lang/String;)Ljava/util/function/Predicate;
              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;)Z
                  io/vertx/ext/stomp/impl/StompClientConnectionImpl.lambda$8(Ljava/lang/String;Lio/vertx/ext/stomp/impl/StompClientConnectionImpl$Subscription;)Z (6)
                  (Lio/vertx/ext/stomp/impl/StompClientConnectionImpl$Subscription;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.findFirst:()Ljava/util/Optional;
         9: .line 332
            astore 5 /* maybeSubscription */
        start local 5 // java.util.Optional maybeSubscription
        10: .line 335
            aload 5 /* maybeSubscription */
            invokevirtual java.util.Optional.isPresent:()Z
            ifeq 15
        11: .line 336
            aload 5 /* maybeSubscription */
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast io.vertx.ext.stomp.impl.StompClientConnectionImpl$Subscription
            astore 6 /* subscription */
        start local 6 // io.vertx.ext.stomp.impl.StompClientConnectionImpl$Subscription subscription
        12: .line 337
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.subscriptions:Ljava/util/List;
            aload 6 /* subscription */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
        13: .line 338
            aload 0 /* this */
            new io.vertx.ext.stomp.Frame
            dup
            getstatic io.vertx.ext.stomp.Frame$Command.UNSUBSCRIBE:Lio/vertx/ext/stomp/Frame$Command;
            aload 2 /* headers */
            aconst_null
            invokespecial io.vertx.ext.stomp.Frame.<init>:(Lio/vertx/ext/stomp/Frame$Command;Ljava/util/Map;Lio/vertx/core/buffer/Buffer;)V
            aload 3 /* receiptHandler */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.send:(Lio/vertx/ext/stomp/Frame;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
            pop
        14: .line 339
            aload 0 /* this */
            areturn
        end local 6 // io.vertx.ext.stomp.impl.StompClientConnectionImpl$Subscription subscription
        15: .line 341
      StackMap locals: java.lang.String java.util.Optional
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "No subscription with id "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* id */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.util.Optional maybeSubscription
        end local 4 // java.lang.String id
        end local 3 // io.vertx.core.Handler receiptHandler
        end local 2 // java.util.Map headers
        end local 1 // java.lang.String destination
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   16     0               this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0   16     1        destination  Ljava/lang/String;
            0   16     2            headers  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0   16     3     receiptHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;
            6   16     4                 id  Ljava/lang/String;
           10   16     5  maybeSubscription  Ljava/util/Optional<Lio/vertx/ext/stomp/impl/StompClientConnectionImpl$Subscription;>;
           12   15     6       subscription  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl$Subscription;
    Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;)Lio/vertx/ext/stomp/StompClientConnection;
    MethodParameters:
                Name  Flags
      destination     
      headers         
      receiptHandler  

  public synchronized io.vertx.ext.stomp.StompClientConnection errorHandler(io.vertx.core.Handler<io.vertx.ext.stomp.Frame>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // io.vertx.core.Handler handler
         0: .line 347
            aload 0 /* this */
            aload 1 /* handler */
            putfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.errorHandler:Lio/vertx/core/Handler;
         1: .line 348
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    2     1  handler  Lio/vertx/core/Handler<Lio/vertx/ext/stomp/Frame;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/ext/stomp/Frame;>;)Lio/vertx/ext/stomp/StompClientConnection;
    MethodParameters:
         Name  Flags
      handler  

  public synchronized io.vertx.ext.stomp.StompClientConnection closeHandler(io.vertx.core.Handler<io.vertx.ext.stomp.StompClientConnection>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // io.vertx.core.Handler handler
         0: .line 353
            aload 0 /* this */
            aload 1 /* handler */
            putfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.closeHandler:Lio/vertx/core/Handler;
         1: .line 354
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    2     1  handler  Lio/vertx/core/Handler<Lio/vertx/ext/stomp/StompClientConnection;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/ext/stomp/StompClientConnection;>;)Lio/vertx/ext/stomp/StompClientConnection;
    MethodParameters:
         Name  Flags
      handler  

  public synchronized io.vertx.ext.stomp.StompClientConnection pingHandler(io.vertx.core.Handler<io.vertx.ext.stomp.StompClientConnection>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // io.vertx.core.Handler handler
         0: .line 359
            aload 0 /* this */
            aload 1 /* handler */
            putfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.pingHandler:Lio/vertx/core/Handler;
         1: .line 360
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    2     1  handler  Lio/vertx/core/Handler<Lio/vertx/ext/stomp/StompClientConnection;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/ext/stomp/StompClientConnection;>;)Lio/vertx/ext/stomp/StompClientConnection;
    MethodParameters:
         Name  Flags
      handler  

  public io.vertx.ext.stomp.StompClientConnection beginTX(java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.stomp.Frame>>);
    descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.lang.String id
        start local 2 // io.vertx.core.Handler receiptHandler
         0: .line 365
            aload 0 /* this */
            aload 1 /* id */
            new io.vertx.ext.stomp.utils.Headers
            dup
            invokespecial io.vertx.ext.stomp.utils.Headers.<init>:()V
            aload 2 /* receiptHandler */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.beginTX:(Ljava/lang/String;Ljava/util/Map;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
            areturn
        end local 2 // io.vertx.core.Handler receiptHandler
        end local 1 // java.lang.String id
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    1     1              id  Ljava/lang/String;
            0    1     2  receiptHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;
    Signature: (Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;)Lio/vertx/ext/stomp/StompClientConnection;
    MethodParameters:
                Name  Flags
      id              
      receiptHandler  

  public io.vertx.core.Future<io.vertx.ext.stomp.Frame> beginTX(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.lang.String id
         0: .line 370
            aload 0 /* this */
            aload 1 /* id */
            new io.vertx.ext.stomp.utils.Headers
            dup
            invokespecial io.vertx.ext.stomp.utils.Headers.<init>:()V
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.beginTX:(Ljava/lang/String;Ljava/util/Map;)Lio/vertx/core/Future;
            areturn
        end local 1 // java.lang.String id
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    1     1    id  Ljava/lang/String;
    Signature: (Ljava/lang/String;)Lio/vertx/core/Future<Lio/vertx/ext/stomp/Frame;>;
    MethodParameters:
      Name  Flags
      id    

  public io.vertx.core.Future<io.vertx.ext.stomp.Frame> beginTX(java.lang.String, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/util/Map;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.lang.String id
        start local 2 // java.util.Map headers
         0: .line 375
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 3 /* promise */
        start local 3 // io.vertx.core.Promise promise
         1: .line 376
            aload 0 /* this */
            aload 1 /* id */
            aload 2 /* headers */
            aload 3 /* promise */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.beginTX:(Ljava/lang/String;Ljava/util/Map;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
            pop
         2: .line 377
            aload 3 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 3 // io.vertx.core.Promise promise
        end local 2 // java.util.Map headers
        end local 1 // java.lang.String id
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    3     1       id  Ljava/lang/String;
            0    3     2  headers  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            1    3     3  promise  Lio/vertx/core/Promise<Lio/vertx/ext/stomp/Frame;>;
    Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Lio/vertx/core/Future<Lio/vertx/ext/stomp/Frame;>;
    MethodParameters:
         Name  Flags
      id       
      headers  

  public io.vertx.ext.stomp.StompClientConnection beginTX(java.lang.String, java.util.Map<java.lang.String, java.lang.String>, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.stomp.Frame>>);
    descriptor: (Ljava/lang/String;Ljava/util/Map;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.lang.String id
        start local 2 // java.util.Map headers
        start local 3 // io.vertx.core.Handler receiptHandler
         0: .line 382
            aload 1 /* id */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 383
            aload 2 /* headers */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 385
            aload 0 /* this */
            new io.vertx.ext.stomp.Frame
            dup
            invokespecial io.vertx.ext.stomp.Frame.<init>:()V
            getstatic io.vertx.ext.stomp.Frame$Command.BEGIN:Lio/vertx/ext/stomp/Frame$Command;
            invokevirtual io.vertx.ext.stomp.Frame.setCommand:(Lio/vertx/ext/stomp/Frame$Command;)Lio/vertx/ext/stomp/Frame;
            aload 1 /* id */
            invokevirtual io.vertx.ext.stomp.Frame.setTransaction:(Ljava/lang/String;)Lio/vertx/ext/stomp/Frame;
            aload 3 /* receiptHandler */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.send:(Lio/vertx/ext/stomp/Frame;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
            areturn
        end local 3 // io.vertx.core.Handler receiptHandler
        end local 2 // java.util.Map headers
        end local 1 // java.lang.String id
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    3     1              id  Ljava/lang/String;
            0    3     2         headers  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0    3     3  receiptHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;
    Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;)Lio/vertx/ext/stomp/StompClientConnection;
    MethodParameters:
                Name  Flags
      id              
      headers         
      receiptHandler  

  public io.vertx.core.Future<io.vertx.ext.stomp.Frame> commit(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.lang.String id
         0: .line 390
            aload 0 /* this */
            aload 1 /* id */
            new io.vertx.ext.stomp.utils.Headers
            dup
            invokespecial io.vertx.ext.stomp.utils.Headers.<init>:()V
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.commit:(Ljava/lang/String;Ljava/util/Map;)Lio/vertx/core/Future;
            areturn
        end local 1 // java.lang.String id
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    1     1    id  Ljava/lang/String;
    Signature: (Ljava/lang/String;)Lio/vertx/core/Future<Lio/vertx/ext/stomp/Frame;>;
    MethodParameters:
      Name  Flags
      id    

  public io.vertx.ext.stomp.StompClientConnection commit(java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.stomp.Frame>>);
    descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.lang.String id
        start local 2 // io.vertx.core.Handler receiptHandler
         0: .line 395
            aload 0 /* this */
            aload 1 /* id */
            new io.vertx.ext.stomp.utils.Headers
            dup
            invokespecial io.vertx.ext.stomp.utils.Headers.<init>:()V
            aload 2 /* receiptHandler */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.commit:(Ljava/lang/String;Ljava/util/Map;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
            areturn
        end local 2 // io.vertx.core.Handler receiptHandler
        end local 1 // java.lang.String id
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    1     1              id  Ljava/lang/String;
            0    1     2  receiptHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;
    Signature: (Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;)Lio/vertx/ext/stomp/StompClientConnection;
    MethodParameters:
                Name  Flags
      id              
      receiptHandler  

  public io.vertx.core.Future<io.vertx.ext.stomp.Frame> commit(java.lang.String, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/util/Map;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.lang.String id
        start local 2 // java.util.Map headers
         0: .line 400
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 3 /* promise */
        start local 3 // io.vertx.core.Promise promise
         1: .line 401
            aload 0 /* this */
            aload 1 /* id */
            aload 2 /* headers */
            aload 3 /* promise */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.commit:(Ljava/lang/String;Ljava/util/Map;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
            pop
         2: .line 402
            aload 3 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 3 // io.vertx.core.Promise promise
        end local 2 // java.util.Map headers
        end local 1 // java.lang.String id
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    3     1       id  Ljava/lang/String;
            0    3     2  headers  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            1    3     3  promise  Lio/vertx/core/Promise<Lio/vertx/ext/stomp/Frame;>;
    Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Lio/vertx/core/Future<Lio/vertx/ext/stomp/Frame;>;
    MethodParameters:
         Name  Flags
      id       
      headers  

  public io.vertx.ext.stomp.StompClientConnection commit(java.lang.String, java.util.Map<java.lang.String, java.lang.String>, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.stomp.Frame>>);
    descriptor: (Ljava/lang/String;Ljava/util/Map;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.lang.String id
        start local 2 // java.util.Map headers
        start local 3 // io.vertx.core.Handler receiptHandler
         0: .line 407
            aload 1 /* id */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 408
            aload 2 /* headers */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 409
            aload 0 /* this */
            new io.vertx.ext.stomp.Frame
            dup
            invokespecial io.vertx.ext.stomp.Frame.<init>:()V
            getstatic io.vertx.ext.stomp.Frame$Command.COMMIT:Lio/vertx/ext/stomp/Frame$Command;
            invokevirtual io.vertx.ext.stomp.Frame.setCommand:(Lio/vertx/ext/stomp/Frame$Command;)Lio/vertx/ext/stomp/Frame;
            aload 1 /* id */
            invokevirtual io.vertx.ext.stomp.Frame.setTransaction:(Ljava/lang/String;)Lio/vertx/ext/stomp/Frame;
            aload 3 /* receiptHandler */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.send:(Lio/vertx/ext/stomp/Frame;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
            areturn
        end local 3 // io.vertx.core.Handler receiptHandler
        end local 2 // java.util.Map headers
        end local 1 // java.lang.String id
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    3     1              id  Ljava/lang/String;
            0    3     2         headers  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0    3     3  receiptHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;
    Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;)Lio/vertx/ext/stomp/StompClientConnection;
    MethodParameters:
                Name  Flags
      id              
      headers         
      receiptHandler  

  public io.vertx.core.Future<io.vertx.ext.stomp.Frame> abort(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.lang.String id
         0: .line 414
            aload 0 /* this */
            aload 1 /* id */
            new io.vertx.ext.stomp.utils.Headers
            dup
            invokespecial io.vertx.ext.stomp.utils.Headers.<init>:()V
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.abort:(Ljava/lang/String;Ljava/util/Map;)Lio/vertx/core/Future;
            areturn
        end local 1 // java.lang.String id
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    1     1    id  Ljava/lang/String;
    Signature: (Ljava/lang/String;)Lio/vertx/core/Future<Lio/vertx/ext/stomp/Frame;>;
    MethodParameters:
      Name  Flags
      id    

  public io.vertx.ext.stomp.StompClientConnection abort(java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.stomp.Frame>>);
    descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.lang.String id
        start local 2 // io.vertx.core.Handler receiptHandler
         0: .line 419
            aload 0 /* this */
            aload 1 /* id */
            new io.vertx.ext.stomp.utils.Headers
            dup
            invokespecial io.vertx.ext.stomp.utils.Headers.<init>:()V
            aload 2 /* receiptHandler */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.abort:(Ljava/lang/String;Ljava/util/Map;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
            areturn
        end local 2 // io.vertx.core.Handler receiptHandler
        end local 1 // java.lang.String id
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    1     1              id  Ljava/lang/String;
            0    1     2  receiptHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;
    Signature: (Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;)Lio/vertx/ext/stomp/StompClientConnection;
    MethodParameters:
                Name  Flags
      id              
      receiptHandler  

  public io.vertx.core.Future<io.vertx.ext.stomp.Frame> abort(java.lang.String, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/util/Map;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.lang.String id
        start local 2 // java.util.Map headers
         0: .line 424
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 3 /* promise */
        start local 3 // io.vertx.core.Promise promise
         1: .line 425
            aload 0 /* this */
            aload 1 /* id */
            aload 2 /* headers */
            aload 3 /* promise */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.abort:(Ljava/lang/String;Ljava/util/Map;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
            pop
         2: .line 426
            aload 3 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 3 // io.vertx.core.Promise promise
        end local 2 // java.util.Map headers
        end local 1 // java.lang.String id
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    3     1       id  Ljava/lang/String;
            0    3     2  headers  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            1    3     3  promise  Lio/vertx/core/Promise<Lio/vertx/ext/stomp/Frame;>;
    Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Lio/vertx/core/Future<Lio/vertx/ext/stomp/Frame;>;
    MethodParameters:
         Name  Flags
      id       
      headers  

  public io.vertx.ext.stomp.StompClientConnection abort(java.lang.String, java.util.Map<java.lang.String, java.lang.String>, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.stomp.Frame>>);
    descriptor: (Ljava/lang/String;Ljava/util/Map;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.lang.String id
        start local 2 // java.util.Map headers
        start local 3 // io.vertx.core.Handler receiptHandler
         0: .line 431
            aload 1 /* id */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 432
            aload 2 /* headers */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 433
            aload 0 /* this */
            new io.vertx.ext.stomp.Frame
            dup
            invokespecial io.vertx.ext.stomp.Frame.<init>:()V
            getstatic io.vertx.ext.stomp.Frame$Command.ABORT:Lio/vertx/ext/stomp/Frame$Command;
            invokevirtual io.vertx.ext.stomp.Frame.setCommand:(Lio/vertx/ext/stomp/Frame$Command;)Lio/vertx/ext/stomp/Frame;
            aload 1 /* id */
            invokevirtual io.vertx.ext.stomp.Frame.setTransaction:(Ljava/lang/String;)Lio/vertx/ext/stomp/Frame;
            aload 3 /* receiptHandler */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.send:(Lio/vertx/ext/stomp/Frame;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
            areturn
        end local 3 // io.vertx.core.Handler receiptHandler
        end local 2 // java.util.Map headers
        end local 1 // java.lang.String id
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    3     1              id  Ljava/lang/String;
            0    3     2         headers  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0    3     3  receiptHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;
    Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;)Lio/vertx/ext/stomp/StompClientConnection;
    MethodParameters:
                Name  Flags
      id              
      headers         
      receiptHandler  

  public io.vertx.core.Future<io.vertx.ext.stomp.Frame> disconnect();
    descriptor: ()Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
         0: .line 438
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 1 /* promise */
        start local 1 // io.vertx.core.Promise promise
         1: .line 439
            aload 0 /* this */
            new io.vertx.ext.stomp.Frame
            dup
            invokespecial io.vertx.ext.stomp.Frame.<init>:()V
            getstatic io.vertx.ext.stomp.Frame$Command.DISCONNECT:Lio/vertx/ext/stomp/Frame$Command;
            invokevirtual io.vertx.ext.stomp.Frame.setCommand:(Lio/vertx/ext/stomp/Frame$Command;)Lio/vertx/ext/stomp/Frame;
            aload 1 /* promise */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.disconnect:(Lio/vertx/ext/stomp/Frame;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
            pop
         2: .line 440
            aload 1 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 1 // io.vertx.core.Promise promise
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            1    3     1  promise  Lio/vertx/core/Promise<Lio/vertx/ext/stomp/Frame;>;
    Signature: ()Lio/vertx/core/Future<Lio/vertx/ext/stomp/Frame;>;

  public io.vertx.core.Future<io.vertx.ext.stomp.Frame> disconnect(io.vertx.ext.stomp.Frame);
    descriptor: (Lio/vertx/ext/stomp/Frame;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // io.vertx.ext.stomp.Frame frame
         0: .line 445
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 2 /* promise */
        start local 2 // io.vertx.core.Promise promise
         1: .line 446
            aload 0 /* this */
            aload 1 /* frame */
            aload 2 /* promise */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.disconnect:(Lio/vertx/ext/stomp/Frame;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
            pop
         2: .line 447
            aload 2 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 2 // io.vertx.core.Promise promise
        end local 1 // io.vertx.ext.stomp.Frame frame
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    3     1    frame  Lio/vertx/ext/stomp/Frame;
            1    3     2  promise  Lio/vertx/core/Promise<Lio/vertx/ext/stomp/Frame;>;
    Signature: (Lio/vertx/ext/stomp/Frame;)Lio/vertx/core/Future<Lio/vertx/ext/stomp/Frame;>;
    MethodParameters:
       Name  Flags
      frame  

  public io.vertx.ext.stomp.StompClientConnection disconnect(io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.stomp.Frame>>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // io.vertx.core.Handler receiptHandler
         0: .line 452
            aload 0 /* this */
            new io.vertx.ext.stomp.Frame
            dup
            invokespecial io.vertx.ext.stomp.Frame.<init>:()V
            getstatic io.vertx.ext.stomp.Frame$Command.DISCONNECT:Lio/vertx/ext/stomp/Frame$Command;
            invokevirtual io.vertx.ext.stomp.Frame.setCommand:(Lio/vertx/ext/stomp/Frame$Command;)Lio/vertx/ext/stomp/Frame;
            aload 1 /* receiptHandler */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.disconnect:(Lio/vertx/ext/stomp/Frame;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
            areturn
        end local 1 // io.vertx.core.Handler receiptHandler
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    1     1  receiptHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;)Lio/vertx/ext/stomp/StompClientConnection;
    MethodParameters:
                Name  Flags
      receiptHandler  

  public io.vertx.ext.stomp.StompClientConnection disconnect(io.vertx.ext.stomp.Frame, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.stomp.Frame>>);
    descriptor: (Lio/vertx/ext/stomp/Frame;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // io.vertx.ext.stomp.Frame frame
        start local 2 // io.vertx.core.Handler receiptHandler
         0: .line 457
            aload 1 /* frame */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 458
            aload 0 /* this */
            aload 1 /* frame */
            aload 0 /* this */
            aload 2 /* receiptHandler */
            invokedynamic handle(Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/ext/stomp/impl/StompClientConnectionImpl.lambda$9(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.send:(Lio/vertx/ext/stomp/Frame;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
            pop
         2: .line 467
            aload 0 /* this */
            areturn
        end local 2 // io.vertx.core.Handler receiptHandler
        end local 1 // io.vertx.ext.stomp.Frame frame
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    3     1           frame  Lio/vertx/ext/stomp/Frame;
            0    3     2  receiptHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;
    Signature: (Lio/vertx/ext/stomp/Frame;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;)Lio/vertx/ext/stomp/StompClientConnection;
    MethodParameters:
                Name  Flags
      frame           
      receiptHandler  

  public io.vertx.core.Future<io.vertx.ext.stomp.Frame> ack(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.lang.String id
         0: .line 472
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 2 /* promise */
        start local 2 // io.vertx.core.Promise promise
         1: .line 473
            aload 0 /* this */
            aload 1 /* id */
            aload 2 /* promise */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.ack:(Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
            pop
         2: .line 474
            aload 2 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 2 // io.vertx.core.Promise promise
        end local 1 // java.lang.String id
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    3     1       id  Ljava/lang/String;
            1    3     2  promise  Lio/vertx/core/Promise<Lio/vertx/ext/stomp/Frame;>;
    Signature: (Ljava/lang/String;)Lio/vertx/core/Future<Lio/vertx/ext/stomp/Frame;>;
    MethodParameters:
      Name  Flags
      id    

  public io.vertx.ext.stomp.StompClientConnection ack(java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.stomp.Frame>>);
    descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=3
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.lang.String id
        start local 2 // io.vertx.core.Handler receiptHandler
         0: .line 479
            aload 1 /* id */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 480
            aload 0 /* this */
            new io.vertx.ext.stomp.Frame
            dup
            getstatic io.vertx.ext.stomp.Frame$Command.ACK:Lio/vertx/ext/stomp/Frame$Command;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "id"
            aastore
            dup
            iconst_1
            aload 1 /* id */
            aastore
            invokestatic io.vertx.ext.stomp.utils.Headers.create:([Ljava/lang/String;)Lio/vertx/ext/stomp/utils/Headers;
            aconst_null
            invokespecial io.vertx.ext.stomp.Frame.<init>:(Lio/vertx/ext/stomp/Frame$Command;Ljava/util/Map;Lio/vertx/core/buffer/Buffer;)V
            aload 2 /* receiptHandler */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.send:(Lio/vertx/ext/stomp/Frame;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
            pop
         2: .line 481
            aload 0 /* this */
            areturn
        end local 2 // io.vertx.core.Handler receiptHandler
        end local 1 // java.lang.String id
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    3     1              id  Ljava/lang/String;
            0    3     2  receiptHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;
    Signature: (Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;)Lio/vertx/ext/stomp/StompClientConnection;
    MethodParameters:
                Name  Flags
      id              
      receiptHandler  

  public io.vertx.core.Future<io.vertx.ext.stomp.Frame> nack(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.lang.String id
         0: .line 486
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 2 /* promise */
        start local 2 // io.vertx.core.Promise promise
         1: .line 487
            aload 0 /* this */
            aload 1 /* id */
            aload 2 /* promise */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.nack:(Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
            pop
         2: .line 488
            aload 2 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 2 // io.vertx.core.Promise promise
        end local 1 // java.lang.String id
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    3     1       id  Ljava/lang/String;
            1    3     2  promise  Lio/vertx/core/Promise<Lio/vertx/ext/stomp/Frame;>;
    Signature: (Ljava/lang/String;)Lio/vertx/core/Future<Lio/vertx/ext/stomp/Frame;>;
    MethodParameters:
      Name  Flags
      id    

  public io.vertx.ext.stomp.StompClientConnection nack(java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.stomp.Frame>>);
    descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=3
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.lang.String id
        start local 2 // io.vertx.core.Handler receiptHandler
         0: .line 493
            aload 1 /* id */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 494
            aload 0 /* this */
            new io.vertx.ext.stomp.Frame
            dup
            getstatic io.vertx.ext.stomp.Frame$Command.NACK:Lio/vertx/ext/stomp/Frame$Command;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "id"
            aastore
            dup
            iconst_1
            aload 1 /* id */
            aastore
            invokestatic io.vertx.ext.stomp.utils.Headers.create:([Ljava/lang/String;)Lio/vertx/ext/stomp/utils/Headers;
            aconst_null
            invokespecial io.vertx.ext.stomp.Frame.<init>:(Lio/vertx/ext/stomp/Frame$Command;Ljava/util/Map;Lio/vertx/core/buffer/Buffer;)V
            aload 2 /* receiptHandler */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.send:(Lio/vertx/ext/stomp/Frame;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
            pop
         2: .line 495
            aload 0 /* this */
            areturn
        end local 2 // io.vertx.core.Handler receiptHandler
        end local 1 // java.lang.String id
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    3     1              id  Ljava/lang/String;
            0    3     2  receiptHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;
    Signature: (Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;)Lio/vertx/ext/stomp/StompClientConnection;
    MethodParameters:
                Name  Flags
      id              
      receiptHandler  

  public io.vertx.core.Future<io.vertx.ext.stomp.Frame> ack(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.lang.String id
        start local 2 // java.lang.String txId
         0: .line 500
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 3 /* promise */
        start local 3 // io.vertx.core.Promise promise
         1: .line 501
            aload 0 /* this */
            aload 1 /* id */
            aload 2 /* txId */
            aload 3 /* promise */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.ack:(Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
            pop
         2: .line 502
            aload 3 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 3 // io.vertx.core.Promise promise
        end local 2 // java.lang.String txId
        end local 1 // java.lang.String id
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    3     1       id  Ljava/lang/String;
            0    3     2     txId  Ljava/lang/String;
            1    3     3  promise  Lio/vertx/core/Promise<Lio/vertx/ext/stomp/Frame;>;
    Signature: (Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/Future<Lio/vertx/ext/stomp/Frame;>;
    MethodParameters:
      Name  Flags
      id    
      txId  

  public io.vertx.ext.stomp.StompClientConnection ack(java.lang.String, java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.stomp.Frame>>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=4
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.lang.String id
        start local 2 // java.lang.String txId
        start local 3 // io.vertx.core.Handler receiptHandler
         0: .line 507
            aload 1 /* id */
            ldc "A ACK frame must contain the ACK id"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 508
            aload 2 /* txId */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 510
            aload 0 /* this */
            new io.vertx.ext.stomp.Frame
            dup
            getstatic io.vertx.ext.stomp.Frame$Command.ACK:Lio/vertx/ext/stomp/Frame$Command;
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
            ldc "id"
            aastore
            dup
            iconst_1
            aload 1 /* id */
            aastore
            dup
            iconst_2
            ldc "transaction"
            aastore
            dup
            iconst_3
            aload 2 /* txId */
            aastore
            invokestatic io.vertx.ext.stomp.utils.Headers.create:([Ljava/lang/String;)Lio/vertx/ext/stomp/utils/Headers;
            aconst_null
            invokespecial io.vertx.ext.stomp.Frame.<init>:(Lio/vertx/ext/stomp/Frame$Command;Ljava/util/Map;Lio/vertx/core/buffer/Buffer;)V
            aload 3 /* receiptHandler */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.send:(Lio/vertx/ext/stomp/Frame;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
            pop
         3: .line 512
            aload 0 /* this */
            areturn
        end local 3 // io.vertx.core.Handler receiptHandler
        end local 2 // java.lang.String txId
        end local 1 // java.lang.String id
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    4     1              id  Ljava/lang/String;
            0    4     2            txId  Ljava/lang/String;
            0    4     3  receiptHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;
    Signature: (Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;)Lio/vertx/ext/stomp/StompClientConnection;
    MethodParameters:
                Name  Flags
      id              
      txId            
      receiptHandler  

  public io.vertx.core.Future<io.vertx.ext.stomp.Frame> nack(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.lang.String id
        start local 2 // java.lang.String txId
         0: .line 517
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 3 /* promise */
        start local 3 // io.vertx.core.Promise promise
         1: .line 518
            aload 0 /* this */
            aload 1 /* id */
            aload 2 /* txId */
            aload 3 /* promise */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.nack:(Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
            pop
         2: .line 519
            aload 3 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 3 // io.vertx.core.Promise promise
        end local 2 // java.lang.String txId
        end local 1 // java.lang.String id
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    3     1       id  Ljava/lang/String;
            0    3     2     txId  Ljava/lang/String;
            1    3     3  promise  Lio/vertx/core/Promise<Lio/vertx/ext/stomp/Frame;>;
    Signature: (Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/Future<Lio/vertx/ext/stomp/Frame;>;
    MethodParameters:
      Name  Flags
      id    
      txId  

  public io.vertx.ext.stomp.StompClientConnection nack(java.lang.String, java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.stomp.Frame>>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.lang.String id
        start local 2 // java.lang.String txId
        start local 3 // io.vertx.core.Handler receiptHandler
         0: .line 524
            aload 1 /* id */
            ldc "A NACK frame must contain the ACK id"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 525
            aload 2 /* txId */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 527
            new io.vertx.ext.stomp.Frame
            dup
            getstatic io.vertx.ext.stomp.Frame$Command.NACK:Lio/vertx/ext/stomp/Frame$Command;
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
            ldc "id"
            aastore
            dup
            iconst_1
            aload 1 /* id */
            aastore
            dup
            iconst_2
            ldc "transaction"
            aastore
            dup
            iconst_3
            aload 2 /* txId */
            aastore
            invokestatic io.vertx.ext.stomp.utils.Headers.create:([Ljava/lang/String;)Lio/vertx/ext/stomp/utils/Headers;
            aconst_null
            invokespecial io.vertx.ext.stomp.Frame.<init>:(Lio/vertx/ext/stomp/Frame$Command;Ljava/util/Map;Lio/vertx/core/buffer/Buffer;)V
            astore 4 /* toSend */
        start local 4 // io.vertx.ext.stomp.Frame toSend
         3: .line 528
            aload 0 /* this */
            aload 4 /* toSend */
            aload 3 /* receiptHandler */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.send:(Lio/vertx/ext/stomp/Frame;Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
            pop
         4: .line 529
            aload 0 /* this */
            areturn
        end local 4 // io.vertx.ext.stomp.Frame toSend
        end local 3 // io.vertx.core.Handler receiptHandler
        end local 2 // java.lang.String txId
        end local 1 // java.lang.String id
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    5     1              id  Ljava/lang/String;
            0    5     2            txId  Ljava/lang/String;
            0    5     3  receiptHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;
            3    5     4          toSend  Lio/vertx/ext/stomp/Frame;
    Signature: (Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;>;)Lio/vertx/ext/stomp/StompClientConnection;
    MethodParameters:
                Name  Flags
      id              
      txId            
      receiptHandler  

  public synchronized io.vertx.ext.stomp.StompClientConnection receivedFrameHandler(io.vertx.core.Handler<io.vertx.ext.stomp.Frame>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // io.vertx.core.Handler handler
         0: .line 534
            aload 0 /* this */
            aload 1 /* handler */
            putfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.receivedFrameHandler:Lio/vertx/core/Handler;
         1: .line 535
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    2     1  handler  Lio/vertx/core/Handler<Lio/vertx/ext/stomp/Frame;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/ext/stomp/Frame;>;)Lio/vertx/ext/stomp/StompClientConnection;
    MethodParameters:
         Name  Flags
      handler  

  public synchronized io.vertx.ext.stomp.StompClientConnection writingFrameHandler(io.vertx.core.Handler<io.vertx.ext.stomp.Frame>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // io.vertx.core.Handler handler
         0: .line 540
            aload 0 /* this */
            aload 1 /* handler */
            putfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.writingHandler:Lio/vertx/core/Handler;
         1: .line 541
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    2     1  handler  Lio/vertx/core/Handler<Lio/vertx/ext/stomp/Frame;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/ext/stomp/Frame;>;)Lio/vertx/ext/stomp/StompClientConnection;
    MethodParameters:
         Name  Flags
      handler  

  public synchronized io.vertx.ext.stomp.StompClientConnection exceptionHandler(io.vertx.core.Handler<java.lang.Throwable>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // io.vertx.core.Handler exceptionHandler
         0: .line 546
            aload 0 /* this */
            aload 1 /* exceptionHandler */
            putfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.exceptionHandler:Lio/vertx/core/Handler;
         1: .line 547
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.connected:Z
            ifeq 3
         2: .line 548
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.socket:Lio/vertx/core/net/NetSocket;
            aload 1 /* exceptionHandler */
            invokeinterface io.vertx.core.net.NetSocket.exceptionHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/net/NetSocket;
            pop
         3: .line 550
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.Handler exceptionHandler
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    4     1  exceptionHandler  Lio/vertx/core/Handler<Ljava/lang/Throwable;>;
    Signature: (Lio/vertx/core/Handler<Ljava/lang/Throwable;>;)Lio/vertx/ext/stomp/StompClientConnection;
    MethodParameters:
                  Name  Flags
      exceptionHandler  

  public synchronized io.vertx.ext.stomp.StompClientConnection connectionDroppedHandler(io.vertx.core.Handler<io.vertx.ext.stomp.StompClientConnection>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/ext/stomp/StompClientConnection;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // io.vertx.core.Handler handler
         0: .line 555
            aload 0 /* this */
            aload 1 /* handler */
            putfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.droppedHandler:Lio/vertx/core/Handler;
         1: .line 556
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    2     1  handler  Lio/vertx/core/Handler<Lio/vertx/ext/stomp/StompClientConnection;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/ext/stomp/StompClientConnection;>;)Lio/vertx/ext/stomp/StompClientConnection;
    MethodParameters:
         Name  Flags
      handler  

  public void handle(io.vertx.ext.stomp.Frame);
    descriptor: (Lio/vertx/ext/stomp/Frame;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // io.vertx.ext.stomp.Frame frame
         0: .line 561
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         1: .line 562
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.receivedFrameHandler:Lio/vertx/core/Handler;
            ifnull 3
         2: .line 563
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.receivedFrameHandler:Lio/vertx/core/Handler;
            aload 1 /* frame */
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         3: .line 561
      StackMap locals: io.vertx.ext.stomp.impl.StompClientConnectionImpl
      StackMap stack:
            aload 2
            monitorexit
         4: goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: aload 2
            monitorexit
         6: athrow
         7: .line 566
      StackMap locals:
      StackMap stack:
            invokestatic io.vertx.ext.stomp.impl.StompClientConnectionImpl.$SWITCH_TABLE$io$vertx$ext$stomp$Frame$Command:()[I
            aload 1 /* frame */
            invokevirtual io.vertx.ext.stomp.Frame.getCommand:()Lio/vertx/ext/stomp/Frame$Command;
            invokevirtual io.vertx.ext.stomp.Frame$Command.ordinal:()I
            iaload
            lookupswitch { // 5
                    2: 8
                   13: 12
                   14: 10
                   15: 16
                   16: 19
              default: 19
          }
         8: .line 568
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* frame */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.handleConnected:(Lio/vertx/ext/stomp/Frame;)V
         9: .line 569
            goto 19
        10: .line 571
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* frame */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.handleReceipt:(Lio/vertx/ext/stomp/Frame;)V
        11: .line 572
            goto 19
        12: .line 574
      StackMap locals:
      StackMap stack:
            aload 1 /* frame */
            ldc "subscription"
            invokevirtual io.vertx.ext.stomp.Frame.getHeader:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* id */
        start local 2 // java.lang.String id
        13: .line 575
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.subscriptions:Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
        14: .line 576
            aload 2 /* id */
            invokedynamic test(Ljava/lang/String;)Ljava/util/function/Predicate;
              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;)Z
                  io/vertx/ext/stomp/impl/StompClientConnectionImpl.lambda$10(Ljava/lang/String;Lio/vertx/ext/stomp/impl/StompClientConnectionImpl$Subscription;)Z (6)
                  (Lio/vertx/ext/stomp/impl/StompClientConnectionImpl$Subscription;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            aload 1 /* frame */
            invokedynamic accept(Lio/vertx/ext/stomp/Frame;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/ext/stomp/impl/StompClientConnectionImpl.lambda$11(Lio/vertx/ext/stomp/Frame;Lio/vertx/ext/stomp/impl/StompClientConnectionImpl$Subscription;)V (6)
                  (Lio/vertx/ext/stomp/impl/StompClientConnectionImpl$Subscription;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        15: .line 577
            goto 19
        end local 2 // java.lang.String id
        16: .line 579
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.errorHandler:Lio/vertx/core/Handler;
            ifnull 19
        17: .line 580
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.errorHandler:Lio/vertx/core/Handler;
            aload 1 /* frame */
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        18: .line 582
            goto 19
        19: .line 587
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.ext.stomp.Frame frame
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   20     0   this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0   20     1  frame  Lio/vertx/ext/stomp/Frame;
           13   16     2     id  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any
    MethodParameters:
       Name  Flags
      frame  

  private synchronized void handleReceipt(io.vertx.ext.stomp.Frame);
    descriptor: (Lio/vertx/ext/stomp/Frame;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // io.vertx.ext.stomp.Frame frame
         0: .line 590
            aload 1 /* frame */
            ldc "receipt-id"
            invokevirtual io.vertx.ext.stomp.Frame.getHeader:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* receipt */
        start local 2 // java.lang.String receipt
         1: .line 591
            aload 2 /* receipt */
            ifnull 6
         2: .line 592
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.pendingReceipts:Ljava/util/Map;
            aload 2 /* receipt */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.vertx.core.Promise
            astore 3 /* receiptHandler */
        start local 3 // io.vertx.core.Promise receiptHandler
         3: .line 593
            aload 3 /* receiptHandler */
            ifnonnull 5
         4: .line 594
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "No receipt handler for receipt "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* receipt */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 596
      StackMap locals: java.lang.String io.vertx.core.Promise
      StackMap stack:
            aload 3 /* receiptHandler */
            invokeinterface io.vertx.core.Promise.complete:()V
        end local 3 // io.vertx.core.Promise receiptHandler
         6: .line 598
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String receipt
        end local 1 // io.vertx.ext.stomp.Frame frame
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    7     1           frame  Lio/vertx/ext/stomp/Frame;
            1    7     2         receipt  Ljava/lang/String;
            3    6     3  receiptHandler  Lio/vertx/core/Promise<Ljava/lang/Void;>;
    MethodParameters:
       Name  Flags
      frame  

  private synchronized void handleConnected(io.vertx.ext.stomp.Frame);
    descriptor: (Lio/vertx/ext/stomp/Frame;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=7, locals=6, args_size=2
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // io.vertx.ext.stomp.Frame frame
         0: .line 601
            aload 0 /* this */
            aload 1 /* frame */
            ldc "session"
            invokevirtual io.vertx.ext.stomp.Frame.getHeader:(Ljava/lang/String;)Ljava/lang/String;
            putfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.sessionId:Ljava/lang/String;
         1: .line 602
            aload 0 /* this */
            aload 1 /* frame */
            ldc "version"
            invokevirtual io.vertx.ext.stomp.Frame.getHeader:(Ljava/lang/String;)Ljava/lang/String;
            putfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.version:Ljava/lang/String;
         2: .line 603
            aload 0 /* this */
            aload 1 /* frame */
            ldc "server"
            invokevirtual io.vertx.ext.stomp.Frame.getHeader:(Ljava/lang/String;)Ljava/lang/String;
            putfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.server:Ljava/lang/String;
         3: .line 608
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.client:Lio/vertx/ext/stomp/StompClient;
            invokeinterface io.vertx.ext.stomp.StompClient.options:()Lio/vertx/ext/stomp/StompClientOptions;
            invokevirtual io.vertx.ext.stomp.StompClientOptions.getHeartbeat:()Lio/vertx/core/json/JsonObject;
            invokestatic io.vertx.ext.stomp.Frame$Heartbeat.create:(Lio/vertx/core/json/JsonObject;)Lio/vertx/ext/stomp/Frame$Heartbeat;
         4: .line 609
            aload 1 /* frame */
            ldc "heart-beat"
            invokevirtual io.vertx.ext.stomp.Frame.getHeader:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic io.vertx.ext.stomp.Frame$Heartbeat.parse:(Ljava/lang/String;)Lio/vertx/ext/stomp/Frame$Heartbeat;
         5: .line 607
            invokestatic io.vertx.ext.stomp.Frame$Heartbeat.computePingPeriod:(Lio/vertx/ext/stomp/Frame$Heartbeat;Lio/vertx/ext/stomp/Frame$Heartbeat;)J
            lstore 2 /* ping */
        start local 2 // long ping
         6: .line 611
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.client:Lio/vertx/ext/stomp/StompClient;
            invokeinterface io.vertx.ext.stomp.StompClient.options:()Lio/vertx/ext/stomp/StompClientOptions;
            invokevirtual io.vertx.ext.stomp.StompClientOptions.getHeartbeat:()Lio/vertx/core/json/JsonObject;
            invokestatic io.vertx.ext.stomp.Frame$Heartbeat.create:(Lio/vertx/core/json/JsonObject;)Lio/vertx/ext/stomp/Frame$Heartbeat;
         7: .line 612
            aload 1 /* frame */
            ldc "heart-beat"
            invokevirtual io.vertx.ext.stomp.Frame.getHeader:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic io.vertx.ext.stomp.Frame$Heartbeat.parse:(Ljava/lang/String;)Lio/vertx/ext/stomp/Frame$Heartbeat;
         8: .line 610
            invokestatic io.vertx.ext.stomp.Frame$Heartbeat.computePongPeriod:(Lio/vertx/ext/stomp/Frame$Heartbeat;Lio/vertx/ext/stomp/Frame$Heartbeat;)J
            lstore 4 /* pong */
        start local 4 // long pong
         9: .line 614
            lload 2 /* ping */
            lconst_0
            lcmp
            ifle 11
        10: .line 615
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.client:Lio/vertx/ext/stomp/StompClient;
            invokeinterface io.vertx.ext.stomp.StompClient.vertx:()Lio/vertx/core/Vertx;
            lload 2 /* ping */
            aload 0 /* this */
            invokedynamic handle(Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/ext/stomp/impl/StompClientConnectionImpl.lambda$12(Ljava/lang/Long;)V (7)
                  (Ljava/lang/Long;)V
            invokeinterface io.vertx.core.Vertx.setPeriodic:(JLio/vertx/core/Handler;)J
            putfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.pinger:J
        11: .line 617
      StackMap locals: long long
      StackMap stack:
            lload 4 /* pong */
            lconst_0
            lcmp
            ifle 13
        12: .line 618
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.client:Lio/vertx/ext/stomp/StompClient;
            invokeinterface io.vertx.ext.stomp.StompClient.vertx:()Lio/vertx/core/Vertx;
            lload 4 /* pong */
            aload 0 /* this */
            lload 4 /* pong */
            invokedynamic handle(Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;J)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/ext/stomp/impl/StompClientConnectionImpl.lambda$13(JLjava/lang/Long;)V (7)
                  (Ljava/lang/Long;)V
            invokeinterface io.vertx.core.Vertx.setPeriodic:(JLio/vertx/core/Handler;)J
            putfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.ponger:J
        13: .line 642
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.socket:Lio/vertx/core/net/NetSocket;
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.exceptionHandler:Lio/vertx/core/Handler;
            invokeinterface io.vertx.core.net.NetSocket.exceptionHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/net/NetSocket;
            pop
        14: .line 643
            aload 0 /* this */
            iconst_1
            putfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.connected:Z
        15: .line 644
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.resultHandler:Lio/vertx/core/Handler;
            aload 0 /* this */
            invokestatic io.vertx.core.Future.succeededFuture:(Ljava/lang/Object;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        16: .line 645
            return
        end local 4 // long pong
        end local 2 // long ping
        end local 1 // io.vertx.ext.stomp.Frame frame
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   17     0   this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0   17     1  frame  Lio/vertx/ext/stomp/Frame;
            6   17     2   ping  J
            9   17     4   pong  J
    MethodParameters:
       Name  Flags
      frame  

  public io.vertx.core.net.NetSocket socket();
    descriptor: ()Lio/vertx/core/net/NetSocket;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
         0: .line 653
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.socket:Lio/vertx/core/net/NetSocket;
            areturn
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;

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

  static int[] $SWITCH_TABLE$io$vertx$ext$stomp$Frame$Command();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 40
            getstatic io.vertx.ext.stomp.impl.StompClientConnectionImpl.$SWITCH_TABLE$io$vertx$ext$stomp$Frame$Command:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic io.vertx.ext.stomp.Frame$Command.values:()[Lio/vertx/ext/stomp/Frame$Command;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic io.vertx.ext.stomp.Frame$Command.ABORT:Lio/vertx/ext/stomp/Frame$Command;
            invokevirtual io.vertx.ext.stomp.Frame$Command.ordinal:()I
            bipush 11
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic io.vertx.ext.stomp.Frame$Command.ACK:Lio/vertx/ext/stomp/Frame$Command;
            invokevirtual io.vertx.ext.stomp.Frame$Command.ordinal:()I
            bipush 7
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic io.vertx.ext.stomp.Frame$Command.BEGIN:Lio/vertx/ext/stomp/Frame$Command;
            invokevirtual io.vertx.ext.stomp.Frame$Command.ordinal:()I
            bipush 9
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic io.vertx.ext.stomp.Frame$Command.COMMIT:Lio/vertx/ext/stomp/Frame$Command;
            invokevirtual io.vertx.ext.stomp.Frame$Command.ordinal:()I
            bipush 10
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic io.vertx.ext.stomp.Frame$Command.CONNECT:Lio/vertx/ext/stomp/Frame$Command;
            invokevirtual io.vertx.ext.stomp.Frame$Command.ordinal:()I
            iconst_1
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic io.vertx.ext.stomp.Frame$Command.CONNECTED:Lio/vertx/ext/stomp/Frame$Command;
            invokevirtual io.vertx.ext.stomp.Frame$Command.ordinal:()I
            iconst_2
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic io.vertx.ext.stomp.Frame$Command.DISCONNECT:Lio/vertx/ext/stomp/Frame$Command;
            invokevirtual io.vertx.ext.stomp.Frame$Command.ordinal:()I
            bipush 12
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic io.vertx.ext.stomp.Frame$Command.ERROR:Lio/vertx/ext/stomp/Frame$Command;
            invokevirtual io.vertx.ext.stomp.Frame$Command.ordinal:()I
            bipush 15
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic io.vertx.ext.stomp.Frame$Command.MESSAGE:Lio/vertx/ext/stomp/Frame$Command;
            invokevirtual io.vertx.ext.stomp.Frame$Command.ordinal:()I
            bipush 13
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic io.vertx.ext.stomp.Frame$Command.NACK:Lio/vertx/ext/stomp/Frame$Command;
            invokevirtual io.vertx.ext.stomp.Frame$Command.ordinal:()I
            bipush 8
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic io.vertx.ext.stomp.Frame$Command.PING:Lio/vertx/ext/stomp/Frame$Command;
            invokevirtual io.vertx.ext.stomp.Frame$Command.ordinal:()I
            bipush 16
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic io.vertx.ext.stomp.Frame$Command.RECEIPT:Lio/vertx/ext/stomp/Frame$Command;
            invokevirtual io.vertx.ext.stomp.Frame$Command.ordinal:()I
            bipush 14
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic io.vertx.ext.stomp.Frame$Command.SEND:Lio/vertx/ext/stomp/Frame$Command;
            invokevirtual io.vertx.ext.stomp.Frame$Command.ordinal:()I
            iconst_4
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            getstatic io.vertx.ext.stomp.Frame$Command.STOMP:Lio/vertx/ext/stomp/Frame$Command;
            invokevirtual io.vertx.ext.stomp.Frame$Command.ordinal:()I
            iconst_3
            iastore
        42: goto 44
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        43: pop
      StackMap locals:
      StackMap stack:
        44: aload 0
            getstatic io.vertx.ext.stomp.Frame$Command.SUBSCRIBE:Lio/vertx/ext/stomp/Frame$Command;
            invokevirtual io.vertx.ext.stomp.Frame$Command.ordinal:()I
            iconst_5
            iastore
        45: goto 47
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        46: pop
      StackMap locals:
      StackMap stack:
        47: aload 0
            getstatic io.vertx.ext.stomp.Frame$Command.UNKNOWN:Lio/vertx/ext/stomp/Frame$Command;
            invokevirtual io.vertx.ext.stomp.Frame$Command.ordinal:()I
            bipush 17
            iastore
        48: goto 50
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        49: pop
      StackMap locals:
      StackMap stack:
        50: aload 0
            getstatic io.vertx.ext.stomp.Frame$Command.UNSUBSCRIBE:Lio/vertx/ext/stomp/Frame$Command;
            invokevirtual io.vertx.ext.stomp.Frame$Command.ordinal:()I
            bipush 6
            iastore
        51: goto 53
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        52: pop
      StackMap locals:
      StackMap stack:
        53: aload 0
            dup
            putstatic io.vertx.ext.stomp.impl.StompClientConnectionImpl.$SWITCH_TABLE$io$vertx$ext$stomp$Frame$Command:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
          35    36      37  Class java.lang.NoSuchFieldError
          38    39      40  Class java.lang.NoSuchFieldError
          41    42      43  Class java.lang.NoSuchFieldError
          44    45      46  Class java.lang.NoSuchFieldError
          47    48      49  Class java.lang.NoSuchFieldError
          50    51      52  Class java.lang.NoSuchFieldError

  private static void lambda$0(io.vertx.ext.stomp.StompClientConnection);
    descriptor: (Lio/vertx/ext/stomp/StompClientConnection;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.ext.stomp.StompClientConnection connection
         0: .line 61
            aload 0 /* connection */
            invokestatic io.vertx.ext.stomp.Frames.ping:()Lio/vertx/ext/stomp/Frame;
            invokeinterface io.vertx.ext.stomp.StompClientConnection.send:(Lio/vertx/ext/stomp/Frame;)Lio/vertx/core/Future;
            return
        end local 0 // io.vertx.ext.stomp.StompClientConnection connection
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  connection  Lio/vertx/ext/stomp/StompClientConnection;

  private static void lambda$1(io.vertx.ext.stomp.StompClientConnection);
    descriptor: (Lio/vertx/ext/stomp/StompClientConnection;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // io.vertx.ext.stomp.StompClientConnection v
         0: .line 65
            return
        end local 0 // io.vertx.ext.stomp.StompClientConnection v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     v  Lio/vertx/ext/stomp/StompClientConnection;

  private void lambda$2(io.vertx.ext.stomp.impl.FrameParser, io.vertx.core.buffer.Buffer);
    descriptor: (Lio/vertx/ext/stomp/impl/FrameParser;Lio/vertx/core/buffer/Buffer;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 2 // io.vertx.core.buffer.Buffer buffer
         0: .line 106
            aload 0 /* this */
            invokestatic java.lang.System.nanoTime:()J
            putfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.lastServerActivity:J
         1: .line 107
            aload 1
            aload 2 /* buffer */
            invokevirtual io.vertx.ext.stomp.impl.FrameParser.handle:(Lio/vertx/core/buffer/Buffer;)V
         2: .line 108
            return
        end local 2 // io.vertx.core.buffer.Buffer buffer
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    3     2  buffer  Lio/vertx/core/buffer/Buffer;

  private void lambda$3(io.vertx.ext.stomp.StompClient, java.lang.Void);
    descriptor: (Lio/vertx/ext/stomp/StompClient;Ljava/lang/Void;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 2 // java.lang.Void v
         0: .line 110
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.closed:Z
            ifne 4
            aload 1
            invokeinterface io.vertx.ext.stomp.StompClient.isClosed:()Z
            ifne 4
         1: .line 111
            aload 0 /* this */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.close:()V
         2: .line 112
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.droppedHandler:Lio/vertx/core/Handler;
            ifnull 4
         3: .line 113
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.droppedHandler:Lio/vertx/core/Handler;
            aload 0 /* this */
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         4: .line 116
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Void v
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    5     2     v  Ljava/lang/Void;

  private void lambda$4(java.lang.Void);
    descriptor: (Ljava/lang/Void;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.lang.Void v
         0: .line 140
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.closeHandler:Lio/vertx/core/Handler;
            aload 0 /* this */
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
            return
        end local 1 // java.lang.Void v
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    1     1     v  Ljava/lang/Void;

  private static void lambda$5(io.vertx.core.Handler, io.vertx.ext.stomp.Frame, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/ext/stomp/Frame;Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 2 // io.vertx.core.AsyncResult f
         0: .line 206
            aload 0
            aload 2 /* f */
            aload 1
            invokeinterface io.vertx.core.AsyncResult.map:(Ljava/lang/Object;)Lio/vertx/core/AsyncResult;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
            return
        end local 2 // io.vertx.core.AsyncResult f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     2     f  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;

  private static boolean lambda$6(java.lang.String, io.vertx.ext.stomp.impl.StompClientConnectionImpl$Subscription);
    descriptor: (Ljava/lang/String;Lio/vertx/ext/stomp/impl/StompClientConnectionImpl$Subscription;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // io.vertx.ext.stomp.impl.StompClientConnectionImpl$Subscription s
         0: .line 279
            aload 1 /* s */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl$Subscription.id:Ljava/lang/String;
            aload 0
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // io.vertx.ext.stomp.impl.StompClientConnectionImpl$Subscription s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     s  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl$Subscription;

  private static void lambda$7(io.vertx.core.Handler, java.lang.String, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Ljava/lang/String;Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 2 // io.vertx.core.AsyncResult ar
         0: .line 295
            aload 0
            ifnull 2
         1: .line 296
            aload 0
            aload 2 /* ar */
            aload 1
            invokeinterface io.vertx.core.AsyncResult.map:(Ljava/lang/Object;)Lio/vertx/core/AsyncResult;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 298
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.core.AsyncResult ar
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     2    ar  Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;

  private static boolean lambda$8(java.lang.String, io.vertx.ext.stomp.impl.StompClientConnectionImpl$Subscription);
    descriptor: (Ljava/lang/String;Lio/vertx/ext/stomp/impl/StompClientConnectionImpl$Subscription;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // io.vertx.ext.stomp.impl.StompClientConnectionImpl$Subscription s
         0: .line 333
            aload 1 /* s */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl$Subscription.id:Ljava/lang/String;
            aload 0
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // io.vertx.ext.stomp.impl.StompClientConnectionImpl$Subscription s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     s  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl$Subscription;

  private void lambda$9(io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 2 // io.vertx.core.AsyncResult f
         0: .line 459
            aload 1
            ifnull 2
         1: .line 460
            aload 1
            aload 2 /* f */
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 463
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.closed:Z
            ifne 4
         3: .line 464
            aload 0 /* this */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.close:()V
         4: .line 466
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.core.AsyncResult f
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    5     2     f  Lio/vertx/core/AsyncResult<Lio/vertx/ext/stomp/Frame;>;

  private static boolean lambda$10(java.lang.String, io.vertx.ext.stomp.impl.StompClientConnectionImpl$Subscription);
    descriptor: (Ljava/lang/String;Lio/vertx/ext/stomp/impl/StompClientConnectionImpl$Subscription;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // io.vertx.ext.stomp.impl.StompClientConnectionImpl$Subscription s
         0: .line 576
            aload 1 /* s */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl$Subscription.id:Ljava/lang/String;
            aload 0
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // io.vertx.ext.stomp.impl.StompClientConnectionImpl$Subscription s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     s  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl$Subscription;

  private static void lambda$11(io.vertx.ext.stomp.Frame, io.vertx.ext.stomp.impl.StompClientConnectionImpl$Subscription);
    descriptor: (Lio/vertx/ext/stomp/Frame;Lio/vertx/ext/stomp/impl/StompClientConnectionImpl$Subscription;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // io.vertx.ext.stomp.impl.StompClientConnectionImpl$Subscription s
         0: .line 576
            aload 1 /* s */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl$Subscription.handler:Lio/vertx/core/Handler;
            aload 0
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
            return
        end local 1 // io.vertx.ext.stomp.impl.StompClientConnectionImpl$Subscription s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     s  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl$Subscription;

  private void lambda$12(java.lang.Long);
    descriptor: (Ljava/lang/Long;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 1 // java.lang.Long l
         0: .line 615
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.pingHandler:Lio/vertx/core/Handler;
            aload 0 /* this */
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
            return
        end local 1 // java.lang.Long l
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0    1     1     l  Ljava/lang/Long;

  private void lambda$13(long, java.lang.Long);
    descriptor: (JLjava/lang/Long;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=10, args_size=3
        start local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
        start local 3 // java.lang.Long l
         0: .line 619
            invokestatic java.lang.System.nanoTime:()J
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.lastServerActivity:J
            lsub
            lstore 4 /* delta */
        start local 4 // long delta
         1: .line 620
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            lload 4 /* delta */
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.util.concurrent.TimeUnit.convert:(JLjava/util/concurrent/TimeUnit;)J
            lstore 6 /* deltaInMs */
        start local 6 // long deltaInMs
         2: .line 621
            lload 6 /* deltaInMs */
            lload 1
            ldc 2
            lmul
            lcmp
            ifle 14
         3: .line 622
            getstatic io.vertx.ext.stomp.impl.StompClientConnectionImpl.LOGGER:Lio/vertx/core/impl/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Disconnecting client "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.client:Lio/vertx/ext/stomp/StompClient;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " - no server activity detected in the last "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 6 /* deltaInMs */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " ms."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface io.vertx.core.impl.logging.Logger.error:(Ljava/lang/Object;)V
         4: .line 623
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.client:Lio/vertx/ext/stomp/StompClient;
            invokeinterface io.vertx.ext.stomp.StompClient.vertx:()Lio/vertx/core/Vertx;
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.ponger:J
            invokeinterface io.vertx.core.Vertx.cancelTimer:(J)Z
            pop
         5: .line 627
            aload 0 /* this */
            invokevirtual io.vertx.ext.stomp.impl.StompClientConnectionImpl.close:()V
         6: .line 631
            aload 0 /* this */
            dup
            astore 9
            monitorenter
         7: .line 632
            aload 0 /* this */
            getfield io.vertx.ext.stomp.impl.StompClientConnectionImpl.droppedHandler:Lio/vertx/core/Handler;
            astore 8 /* handler */
        start local 8 // io.vertx.core.Handler handler
         8: .line 631
            aload 9
            monitorexit
         9: goto 12
        end local 8 // io.vertx.core.Handler handler
      StackMap locals: io.vertx.ext.stomp.impl.StompClientConnectionImpl long java.lang.Long long long top io.vertx.ext.stomp.impl.StompClientConnectionImpl
      StackMap stack: java.lang.Throwable
        10: aload 9
            monitorexit
        11: athrow
        start local 8 // io.vertx.core.Handler handler
        12: .line 635
      StackMap locals: io.vertx.ext.stomp.impl.StompClientConnectionImpl long java.lang.Long long long io.vertx.core.Handler
      StackMap stack:
            aload 8 /* handler */
            ifnull 14
        13: .line 636
            aload 8 /* handler */
            aload 0 /* this */
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        end local 8 // io.vertx.core.Handler handler
        end local 6 // long deltaInMs
        end local 4 // long delta
        14: .line 639
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.Long l
        end local 0 // io.vertx.ext.stomp.impl.StompClientConnectionImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Lio/vertx/ext/stomp/impl/StompClientConnectionImpl;
            0   15     3          l  Ljava/lang/Long;
            1   14     4      delta  J
            2   14     6  deltaInMs  J
            8   10     8    handler  Lio/vertx/core/Handler<Lio/vertx/ext/stomp/StompClientConnection;>;
           12   14     8    handler  Lio/vertx/core/Handler<Lio/vertx/ext/stomp/StompClientConnection;>;
      Exception table:
        from    to  target  type
           7     9      10  any
          10    11      10  any
}
Signature: Ljava/lang/Object;Lio/vertx/ext/stomp/StompClientConnection;Lio/vertx/core/Handler<Lio/vertx/ext/stomp/Frame;>;
SourceFile: "StompClientConnectionImpl.java"
NestMembers:
  io.vertx.ext.stomp.impl.StompClientConnectionImpl$Subscription
InnerClasses:
  public final Command = io.vertx.ext.stomp.Frame$Command of io.vertx.ext.stomp.Frame
  public Heartbeat = io.vertx.ext.stomp.Frame$Heartbeat of io.vertx.ext.stomp.Frame
  private Subscription = io.vertx.ext.stomp.impl.StompClientConnectionImpl$Subscription of io.vertx.ext.stomp.impl.StompClientConnectionImpl
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles