public class io.vertx.ext.stomp.DefaultSendHandler implements io.vertx.core.Handler<io.vertx.ext.stomp.ServerFrame>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.ext.stomp.DefaultSendHandler
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.stomp.DefaultSendHandler this
         0: .line 40
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.vertx.ext.stomp.DefaultSendHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/stomp/DefaultSendHandler;

  public void handle(io.vertx.ext.stomp.ServerFrame);
    descriptor: (Lio/vertx/ext/stomp/ServerFrame;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // io.vertx.ext.stomp.DefaultSendHandler this
        start local 1 // io.vertx.ext.stomp.ServerFrame sf
         0: .line 44
            aload 1 /* sf */
            invokeinterface io.vertx.ext.stomp.ServerFrame.frame:()Lio/vertx/ext/stomp/Frame;
            ldc "destination"
            invokevirtual io.vertx.ext.stomp.Frame.getHeader:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* destination */
        start local 2 // java.lang.String destination
         1: .line 45
            aload 2 /* destination */
            ifnonnull 8
         2: .line 46
            aload 1 /* sf */
            invokeinterface io.vertx.ext.stomp.ServerFrame.connection:()Lio/vertx/ext/stomp/StompServerConnection;
         3: .line 47
            ldc "Destination header missing"
         4: .line 48
            aload 1 /* sf */
            invokeinterface io.vertx.ext.stomp.ServerFrame.frame:()Lio/vertx/ext/stomp/Frame;
            invokevirtual io.vertx.ext.stomp.Frame.getHeaders:()Ljava/util/Map;
            invokestatic io.vertx.ext.stomp.utils.Headers.create:(Ljava/util/Map;)Lio/vertx/ext/stomp/utils/Headers;
            ldc "Invalid send frame - the 'destination' must be set"
         5: .line 46
            invokestatic io.vertx.ext.stomp.Frames.createErrorFrame:(Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;)Lio/vertx/ext/stomp/Frame;
            invokeinterface io.vertx.ext.stomp.StompServerConnection.write:(Lio/vertx/ext/stomp/Frame;)Lio/vertx/ext/stomp/StompServerConnection;
            pop
         6: .line 50
            aload 1 /* sf */
            invokeinterface io.vertx.ext.stomp.ServerFrame.connection:()Lio/vertx/ext/stomp/StompServerConnection;
            invokeinterface io.vertx.ext.stomp.StompServerConnection.close:()V
         7: .line 51
            return
         8: .line 55
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* sf */
            invokeinterface io.vertx.ext.stomp.ServerFrame.frame:()Lio/vertx/ext/stomp/Frame;
            ldc "transaction"
            invokevirtual io.vertx.ext.stomp.Frame.getHeader:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* txId */
        start local 3 // java.lang.String txId
         9: .line 56
            aload 3 /* txId */
            ifnull 30
        10: .line 57
            invokestatic io.vertx.ext.stomp.impl.Transactions.instance:()Lio/vertx/ext/stomp/impl/Transactions;
            aload 1 /* sf */
            invokeinterface io.vertx.ext.stomp.ServerFrame.connection:()Lio/vertx/ext/stomp/StompServerConnection;
            aload 3 /* txId */
            invokevirtual io.vertx.ext.stomp.impl.Transactions.getTransaction:(Lio/vertx/ext/stomp/StompServerConnection;Ljava/lang/String;)Lio/vertx/ext/stomp/impl/Transaction;
            astore 4 /* transaction */
        start local 4 // io.vertx.ext.stomp.impl.Transaction transaction
        11: .line 58
            aload 4 /* transaction */
            ifnonnull 19
        12: .line 61
            ldc "No transaction"
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
        13: .line 62
            ldc "destination"
            aastore
            dup
            iconst_1
            aload 2 /* destination */
            aastore
            dup
            iconst_2
            ldc "transaction"
            aastore
            dup
            iconst_3
            aload 3 /* txId */
            aastore
            invokestatic io.vertx.ext.stomp.utils.Headers.create:([Ljava/lang/String;)Lio/vertx/ext/stomp/utils/Headers;
        14: .line 63
            ldc "Message delivery failed - unknown transaction id"
        15: .line 60
            invokestatic io.vertx.ext.stomp.Frames.createErrorFrame:(Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;)Lio/vertx/ext/stomp/Frame;
            astore 5 /* errorFrame */
        start local 5 // io.vertx.ext.stomp.Frame errorFrame
        16: .line 64
            aload 1 /* sf */
            invokeinterface io.vertx.ext.stomp.ServerFrame.connection:()Lio/vertx/ext/stomp/StompServerConnection;
            aload 5 /* errorFrame */
            invokeinterface io.vertx.ext.stomp.StompServerConnection.write:(Lio/vertx/ext/stomp/Frame;)Lio/vertx/ext/stomp/StompServerConnection;
            pop
        17: .line 65
            aload 1 /* sf */
            invokeinterface io.vertx.ext.stomp.ServerFrame.connection:()Lio/vertx/ext/stomp/StompServerConnection;
            invokeinterface io.vertx.ext.stomp.StompServerConnection.close:()V
        18: .line 66
            return
        end local 5 // io.vertx.ext.stomp.Frame errorFrame
        19: .line 68
      StackMap locals: java.lang.String io.vertx.ext.stomp.impl.Transaction
      StackMap stack:
            aload 4 /* transaction */
            aload 1 /* sf */
            invokeinterface io.vertx.ext.stomp.ServerFrame.frame:()Lio/vertx/ext/stomp/Frame;
            invokevirtual io.vertx.ext.stomp.impl.Transaction.addFrameToTransaction:(Lio/vertx/ext/stomp/Frame;)Z
            ifne 28
        20: .line 70
            ldc "Frame not added to transaction"
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
        21: .line 71
            ldc "destination"
            aastore
            dup
            iconst_1
            aload 2 /* destination */
            aastore
            dup
            iconst_2
            ldc "transaction"
            aastore
            dup
            iconst_3
            aload 3 /* txId */
            aastore
            invokestatic io.vertx.ext.stomp.utils.Headers.create:([Ljava/lang/String;)Lio/vertx/ext/stomp/utils/Headers;
        22: .line 72
            ldc "Message delivery failed - the frame cannot be added to the transaction - the number of allowed thread may have been reached"
        23: .line 70
            invokestatic io.vertx.ext.stomp.Frames.createErrorFrame:(Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;)Lio/vertx/ext/stomp/Frame;
            astore 5 /* errorFrame */
        start local 5 // io.vertx.ext.stomp.Frame errorFrame
        24: .line 74
            invokestatic io.vertx.ext.stomp.impl.Transactions.instance:()Lio/vertx/ext/stomp/impl/Transactions;
            aload 1 /* sf */
            invokeinterface io.vertx.ext.stomp.ServerFrame.connection:()Lio/vertx/ext/stomp/StompServerConnection;
            invokevirtual io.vertx.ext.stomp.impl.Transactions.unregisterTransactionsFromConnection:(Lio/vertx/ext/stomp/StompServerConnection;)V
        25: .line 75
            aload 1 /* sf */
            invokeinterface io.vertx.ext.stomp.ServerFrame.connection:()Lio/vertx/ext/stomp/StompServerConnection;
            aload 5 /* errorFrame */
            invokeinterface io.vertx.ext.stomp.StompServerConnection.write:(Lio/vertx/ext/stomp/Frame;)Lio/vertx/ext/stomp/StompServerConnection;
            pop
        26: .line 76
            aload 1 /* sf */
            invokeinterface io.vertx.ext.stomp.ServerFrame.connection:()Lio/vertx/ext/stomp/StompServerConnection;
            invokeinterface io.vertx.ext.stomp.StompServerConnection.close:()V
        27: .line 77
            return
        end local 5 // io.vertx.ext.stomp.Frame errorFrame
        28: .line 79
      StackMap locals:
      StackMap stack:
            aload 1 /* sf */
            invokeinterface io.vertx.ext.stomp.ServerFrame.frame:()Lio/vertx/ext/stomp/Frame;
            aload 1 /* sf */
            invokeinterface io.vertx.ext.stomp.ServerFrame.connection:()Lio/vertx/ext/stomp/StompServerConnection;
            invokestatic io.vertx.ext.stomp.Frames.handleReceipt:(Lio/vertx/ext/stomp/Frame;Lio/vertx/ext/stomp/StompServerConnection;)V
        29: .line 81
            return
        end local 4 // io.vertx.ext.stomp.impl.Transaction transaction
        30: .line 85
      StackMap locals:
      StackMap stack:
            aload 1 /* sf */
            invokeinterface io.vertx.ext.stomp.ServerFrame.connection:()Lio/vertx/ext/stomp/StompServerConnection;
            invokeinterface io.vertx.ext.stomp.StompServerConnection.handler:()Lio/vertx/ext/stomp/StompServerHandler;
            aload 2 /* destination */
            invokeinterface io.vertx.ext.stomp.StompServerHandler.getDestination:(Ljava/lang/String;)Lio/vertx/ext/stomp/Destination;
            astore 4 /* dest */
        start local 4 // io.vertx.ext.stomp.Destination dest
        31: .line 86
            aload 4 /* dest */
            ifnonnull 39
            aload 1 /* sf */
            invokeinterface io.vertx.ext.stomp.ServerFrame.connection:()Lio/vertx/ext/stomp/StompServerConnection;
            invokeinterface io.vertx.ext.stomp.StompServerConnection.server:()Lio/vertx/ext/stomp/StompServer;
            invokeinterface io.vertx.ext.stomp.StompServer.options:()Lio/vertx/ext/stomp/StompServerOptions;
            invokevirtual io.vertx.ext.stomp.StompServerOptions.isSendErrorOnNoSubscriptions:()Z
            ifeq 39
        32: .line 88
            ldc "No subscriptions"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        33: .line 89
            ldc "destination"
            aastore
            dup
            iconst_1
            aload 2 /* destination */
            aastore
            invokestatic io.vertx.ext.stomp.utils.Headers.create:([Ljava/lang/String;)Lio/vertx/ext/stomp/utils/Headers;
        34: .line 90
            ldc "Message delivery failed - no subscriptions on this destination"
        35: .line 87
            invokestatic io.vertx.ext.stomp.Frames.createErrorFrame:(Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;)Lio/vertx/ext/stomp/Frame;
            astore 5 /* errorFrame */
        start local 5 // io.vertx.ext.stomp.Frame errorFrame
        36: .line 91
            aload 1 /* sf */
            invokeinterface io.vertx.ext.stomp.ServerFrame.connection:()Lio/vertx/ext/stomp/StompServerConnection;
            aload 5 /* errorFrame */
            invokeinterface io.vertx.ext.stomp.StompServerConnection.write:(Lio/vertx/ext/stomp/Frame;)Lio/vertx/ext/stomp/StompServerConnection;
            pop
        37: .line 92
            aload 1 /* sf */
            invokeinterface io.vertx.ext.stomp.ServerFrame.connection:()Lio/vertx/ext/stomp/StompServerConnection;
            invokeinterface io.vertx.ext.stomp.StompServerConnection.close:()V
        38: .line 93
            return
        end local 5 // io.vertx.ext.stomp.Frame errorFrame
        39: .line 96
      StackMap locals: io.vertx.ext.stomp.Destination
      StackMap stack:
            aload 4 /* dest */
            ifnull 42
        40: .line 97
            aload 4 /* dest */
            aload 1 /* sf */
            invokeinterface io.vertx.ext.stomp.ServerFrame.connection:()Lio/vertx/ext/stomp/StompServerConnection;
            aload 1 /* sf */
            invokeinterface io.vertx.ext.stomp.ServerFrame.frame:()Lio/vertx/ext/stomp/Frame;
            invokeinterface io.vertx.ext.stomp.Destination.dispatch:(Lio/vertx/ext/stomp/StompServerConnection;Lio/vertx/ext/stomp/Frame;)Lio/vertx/ext/stomp/Destination;
            ifnonnull 42
        41: .line 99
            return
        42: .line 103
      StackMap locals:
      StackMap stack:
            aload 1 /* sf */
            invokeinterface io.vertx.ext.stomp.ServerFrame.frame:()Lio/vertx/ext/stomp/Frame;
            aload 1 /* sf */
            invokeinterface io.vertx.ext.stomp.ServerFrame.connection:()Lio/vertx/ext/stomp/StompServerConnection;
            invokestatic io.vertx.ext.stomp.Frames.handleReceipt:(Lio/vertx/ext/stomp/Frame;Lio/vertx/ext/stomp/StompServerConnection;)V
        43: .line 104
            return
        end local 4 // io.vertx.ext.stomp.Destination dest
        end local 3 // java.lang.String txId
        end local 2 // java.lang.String destination
        end local 1 // io.vertx.ext.stomp.ServerFrame sf
        end local 0 // io.vertx.ext.stomp.DefaultSendHandler this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   44     0         this  Lio/vertx/ext/stomp/DefaultSendHandler;
            0   44     1           sf  Lio/vertx/ext/stomp/ServerFrame;
            1   44     2  destination  Ljava/lang/String;
            9   44     3         txId  Ljava/lang/String;
           11   30     4  transaction  Lio/vertx/ext/stomp/impl/Transaction;
           16   19     5   errorFrame  Lio/vertx/ext/stomp/Frame;
           24   28     5   errorFrame  Lio/vertx/ext/stomp/Frame;
           31   44     4         dest  Lio/vertx/ext/stomp/Destination;
           36   39     5   errorFrame  Lio/vertx/ext/stomp/Frame;
    MethodParameters:
      Name  Flags
      sf    

  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.ServerFrame
            invokevirtual io.vertx.ext.stomp.DefaultSendHandler.handle:(Lio/vertx/ext/stomp/ServerFrame;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Lio/vertx/core/Handler<Lio/vertx/ext/stomp/ServerFrame;>;
SourceFile: "DefaultSendHandler.java"