public class io.vertx.ext.stomp.DefaultAbortHandler 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.DefaultAbortHandler
  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.DefaultAbortHandler this
         0: .line 29
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.vertx.ext.stomp.DefaultAbortHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/stomp/DefaultAbortHandler;

  public void handle(io.vertx.ext.stomp.ServerFrame);
    descriptor: (Lio/vertx/ext/stomp/ServerFrame;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // io.vertx.ext.stomp.DefaultAbortHandler this
        start local 1 // io.vertx.ext.stomp.ServerFrame sf
         0: .line 32
            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 2 /* txId */
        start local 2 // java.lang.String txId
         1: .line 33
            aload 2 /* txId */
            ifnonnull 5
         2: .line 34
            ldc "Missing transaction id"
            invokestatic io.vertx.ext.stomp.utils.Headers.create:()Lio/vertx/ext/stomp/utils/Headers;
            ldc "ABORT frames must contain the 'transaction' header."
            invokestatic io.vertx.ext.stomp.Frames.createErrorFrame:(Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;)Lio/vertx/ext/stomp/Frame;
            astore 3 /* error */
        start local 3 // io.vertx.ext.stomp.Frame error
         3: .line 36
            aload 1 /* sf */
            invokeinterface io.vertx.ext.stomp.ServerFrame.connection:()Lio/vertx/ext/stomp/StompServerConnection;
            aload 3 /* error */
            invokeinterface io.vertx.ext.stomp.StompServerConnection.write:(Lio/vertx/ext/stomp/Frame;)Lio/vertx/ext/stomp/StompServerConnection;
            invokeinterface io.vertx.ext.stomp.StompServerConnection.close:()V
         4: .line 37
            return
        end local 3 // io.vertx.ext.stomp.Frame error
         5: .line 40
      StackMap locals: java.lang.String
      StackMap stack:
            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 2 /* txId */
            invokevirtual io.vertx.ext.stomp.impl.Transactions.unregisterTransaction:(Lio/vertx/ext/stomp/StompServerConnection;Ljava/lang/String;)Z
            ifne 12
         6: .line 41
            ldc "Unknown transaction"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
         7: .line 42
            ldc "transaction"
            aastore
            dup
            iconst_1
            aload 2 /* txId */
            aastore
            invokestatic io.vertx.ext.stomp.utils.Headers.create:([Ljava/lang/String;)Lio/vertx/ext/stomp/utils/Headers;
         8: .line 43
            ldc "The transaction id is unknown."
         9: .line 41
            invokestatic io.vertx.ext.stomp.Frames.createErrorFrame:(Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;)Lio/vertx/ext/stomp/Frame;
            astore 3 /* error */
        start local 3 // io.vertx.ext.stomp.Frame error
        10: .line 44
            aload 1 /* sf */
            invokeinterface io.vertx.ext.stomp.ServerFrame.connection:()Lio/vertx/ext/stomp/StompServerConnection;
            aload 3 /* error */
            invokeinterface io.vertx.ext.stomp.StompServerConnection.write:(Lio/vertx/ext/stomp/Frame;)Lio/vertx/ext/stomp/StompServerConnection;
            invokeinterface io.vertx.ext.stomp.StompServerConnection.close:()V
        11: .line 45
            return
        end local 3 // io.vertx.ext.stomp.Frame error
        12: .line 48
      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
        13: .line 49
            return
        end local 2 // java.lang.String txId
        end local 1 // io.vertx.ext.stomp.ServerFrame sf
        end local 0 // io.vertx.ext.stomp.DefaultAbortHandler this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   this  Lio/vertx/ext/stomp/DefaultAbortHandler;
            0   14     1     sf  Lio/vertx/ext/stomp/ServerFrame;
            1   14     2   txId  Ljava/lang/String;
            3    5     3  error  Lio/vertx/ext/stomp/Frame;
           10   12     3  error  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.DefaultAbortHandler.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: "DefaultAbortHandler.java"