public final class com.microsoft.sqlserver.jdbc.SQLServerXAResource implements javax.transaction.xa.XAResource
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.microsoft.sqlserver.jdbc.SQLServerXAResource
  super_class: java.lang.Object
{
  private int timeoutSeconds;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  static final int XA_START;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  static final int XA_END;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final int XA_PREPARE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  static final int XA_COMMIT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  static final int XA_ROLLBACK;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  static final int XA_FORGET;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  static final int XA_RECOVER;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  static final int XA_PREPARE_EX;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  static final int XA_ROLLBACK_EX;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  static final int XA_FORGET_EX;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 9

  static final int XA_INIT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  private com.microsoft.sqlserver.jdbc.SQLServerConnection controlConnection;
    descriptor: Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
    flags: (0x0002) ACC_PRIVATE

  private com.microsoft.sqlserver.jdbc.SQLServerConnection con;
    descriptor: Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
    flags: (0x0002) ACC_PRIVATE

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

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

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

  private int architectureMSSQL;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int architectureOS;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private static boolean xaInitDone;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final java.lang.Object xaInitLock;
    descriptor: Ljava/lang/Object;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  private int enlistedTransactionCount;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private final java.util.logging.Logger xaLogger;
    descriptor: Ljava/util/logging/Logger;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final java.util.concurrent.atomic.AtomicInteger baseResourceID;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private int tightlyCoupled;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int isTransacrionTimeoutSet;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  public static final int SSTRANSTIGHTLYCPLD;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 32768

  private com.microsoft.sqlserver.jdbc.SQLServerCallableStatement[] xaStatements;
    descriptor: [Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
    flags: (0x0002) ACC_PRIVATE

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

  private int recoveryAttempt;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 115
            ldc Lcom/microsoft/sqlserver/jdbc/SQLServerXAResource;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.microsoft.sqlserver.jdbc.SQLServerXAResource.$assertionsDisabled:Z
         3: .line 162
            new java.util.concurrent.atomic.AtomicInteger
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
            putstatic com.microsoft.sqlserver.jdbc.SQLServerXAResource.baseResourceID:Ljava/util/concurrent/atomic/AtomicInteger;
         4: .line 175
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaInitLock:Ljava/lang/Object;
         5: .line 176
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
         0: .line 180
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.traceID:Ljava/lang/String;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerXAResource;

  void <init>(com.microsoft.sqlserver.jdbc.SQLServerConnection, com.microsoft.sqlserver.jdbc.SQLServerConnection, java.lang.String);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
        start local 1 // com.microsoft.sqlserver.jdbc.SQLServerConnection original
        start local 2 // com.microsoft.sqlserver.jdbc.SQLServerConnection control
        start local 3 // java.lang.String loginfo
         0: .line 183
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 164
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.tightlyCoupled:I
         2: .line 165
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.isTransacrionTimeoutSet:I
         3: .line 168
            aload 0 /* this */
            bipush 10
            anewarray com.microsoft.sqlserver.jdbc.SQLServerCallableStatement
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaStatements:[Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
         4: .line 173
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.recoveryAttempt:I
         5: .line 184
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc " XAResourceID:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerXAResource.nextResourceID:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.traceID:Ljava/lang/String;
         6: .line 186
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.SQLServerXADataSource.xaLogger:Ljava/util/logging/Logger;
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
         7: .line 187
            aload 0 /* this */
            aload 2 /* control */
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.controlConnection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
         8: .line 188
            aload 0 /* this */
            aload 1 /* original */
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
         9: .line 189
            aload 1 /* original */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            astore 4 /* p */
        start local 4 // java.util.Properties p
        10: .line 190
            aload 4 /* p */
            ifnonnull 12
        11: .line 191
            aload 0 /* this */
            ldc ""
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.sResourceManagerId:Ljava/lang/String;
            goto 16
        12: .line 193
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerXAResource com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.String java.util.Properties
      StackMap stack:
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 4 /* p */
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.SERVER_NAME:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 194
            aload 4 /* p */
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.DATABASE_NAME:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 195
            aload 4 /* p */
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.PORT_NUMBER:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverIntProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        15: .line 193
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.sResourceManagerId:Ljava/lang/String;
        16: .line 197
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 18
        17: .line 198
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " created by ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* loginfo */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
        18: .line 201
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.serverInfoRetrieved:Z
        19: .line 202
            aload 0 /* this */
            ldc "0"
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.version:Ljava/lang/String;
        20: .line 203
            aload 0 /* this */
            ldc ""
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.instanceName:Ljava/lang/String;
        21: .line 204
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.architectureMSSQL:I
        22: .line 205
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.architectureOS:I
        23: .line 207
            return
        end local 4 // java.util.Properties p
        end local 3 // java.lang.String loginfo
        end local 2 // com.microsoft.sqlserver.jdbc.SQLServerConnection control
        end local 1 // com.microsoft.sqlserver.jdbc.SQLServerConnection original
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   24     0      this  Lcom/microsoft/sqlserver/jdbc/SQLServerXAResource;
            0   24     1  original  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   24     2   control  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   24     3   loginfo  Ljava/lang/String;
           10   24     4         p  Ljava/util/Properties;
    MethodParameters:
          Name  Flags
      original  
      control   
      loginfo   

  private synchronized com.microsoft.sqlserver.jdbc.SQLServerCallableStatement getXACallableStatementHandle(int);
    descriptor: (I)Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
        start local 1 // int number
         0: .line 210
            getstatic com.microsoft.sqlserver.jdbc.SQLServerXAResource.$assertionsDisabled:Z
            ifne 2
            iload 1 /* number */
            iflt 1
            iload 1 /* number */
            bipush 9
            if_icmple 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 211
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerXAResource.$assertionsDisabled:Z
            ifne 3
            iload 1 /* number */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaStatements:[Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            arraylength
            if_icmplt 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 212
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaStatements:[Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            iload 1 /* number */
            aaload
            ifnull 5
         4: .line 213
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaStatements:[Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            iload 1 /* number */
            aaload
            areturn
         5: .line 215
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* CS */
        start local 2 // java.sql.CallableStatement CS
         6: .line 217
            iload 1 /* number */
            tableswitch { // 0 - 9
                    0: 7
                    1: 11
                    2: 13
                    3: 15
                    4: 17
                    5: 19
                    6: 21
                    7: 23
                    8: 25
                    9: 27
              default: 29
          }
         7: .line 219
      StackMap locals: java.sql.CallableStatement
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.controlConnection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
         8: .line 220
            ldc "{call master..xp_sqljdbc_xa_start(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)}"
         9: .line 219
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareCall:(Ljava/lang/String;)Ljava/sql/CallableStatement;
            astore 2 /* CS */
        10: .line 221
            goto 30
        11: .line 223
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.controlConnection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            ldc "{call master..xp_sqljdbc_xa_end(?, ?, ?, ?, ?, ?, ?)}"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareCall:(Ljava/lang/String;)Ljava/sql/CallableStatement;
            astore 2 /* CS */
        12: .line 224
            goto 30
        13: .line 226
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.controlConnection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            ldc "{call master..xp_sqljdbc_xa_prepare(?, ?, ?, ?, ?)}"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareCall:(Ljava/lang/String;)Ljava/sql/CallableStatement;
            astore 2 /* CS */
        14: .line 227
            goto 30
        15: .line 229
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.controlConnection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            ldc "{call master..xp_sqljdbc_xa_commit(?, ?, ?, ?, ?, ?)}"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareCall:(Ljava/lang/String;)Ljava/sql/CallableStatement;
            astore 2 /* CS */
        16: .line 230
            goto 30
        17: .line 232
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.controlConnection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            ldc "{call master..xp_sqljdbc_xa_rollback(?, ?, ?, ?, ?)}"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareCall:(Ljava/lang/String;)Ljava/sql/CallableStatement;
            astore 2 /* CS */
        18: .line 233
            goto 30
        19: .line 235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.controlConnection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            ldc "{call master..xp_sqljdbc_xa_forget(?, ?, ?, ?, ?)}"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareCall:(Ljava/lang/String;)Ljava/sql/CallableStatement;
            astore 2 /* CS */
        20: .line 236
            goto 30
        21: .line 238
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.controlConnection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            ldc "{call master..xp_sqljdbc_xa_recover(?, ?, ?, ?)}"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareCall:(Ljava/lang/String;)Ljava/sql/CallableStatement;
            astore 2 /* CS */
        22: .line 239
            goto 30
        23: .line 241
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.controlConnection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            ldc "{call master..xp_sqljdbc_xa_prepare_ex(?, ?, ?, ?, ?, ?)}"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareCall:(Ljava/lang/String;)Ljava/sql/CallableStatement;
            astore 2 /* CS */
        24: .line 242
            goto 30
        25: .line 244
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.controlConnection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            ldc "{call master..xp_sqljdbc_xa_rollback_ex(?, ?, ?, ?, ?, ?)}"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareCall:(Ljava/lang/String;)Ljava/sql/CallableStatement;
            astore 2 /* CS */
        26: .line 245
            goto 30
        27: .line 247
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.controlConnection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            ldc "{call master..xp_sqljdbc_xa_forget_ex(?, ?, ?, ?, ?, ?)}"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareCall:(Ljava/lang/String;)Ljava/sql/CallableStatement;
            astore 2 /* CS */
        28: .line 248
            goto 30
        29: .line 250
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerXAResource.$assertionsDisabled:Z
            ifne 30
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Bad handle request:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* number */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        30: .line 254
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaStatements:[Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            iload 1 /* number */
            aload 2 /* CS */
            checkcast com.microsoft.sqlserver.jdbc.SQLServerCallableStatement
            aastore
        31: .line 255
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaStatements:[Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            iload 1 /* number */
            aaload
            areturn
        end local 2 // java.sql.CallableStatement CS
        end local 1 // int number
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   32     0    this  Lcom/microsoft/sqlserver/jdbc/SQLServerXAResource;
            0   32     1  number  I
            6   32     2      CS  Ljava/sql/CallableStatement;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
        Name  Flags
      number  

  private synchronized void closeXAStatements();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
         0: .line 259
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: goto 6
         2: .line 260
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaStatements:[Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            iload 1 /* i */
            aaload
            ifnull 5
         3: .line 261
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaStatements:[Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            iload 1 /* i */
            aaload
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.close:()V
         4: .line 262
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaStatements:[Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            iload 1 /* i */
            aconst_null
            aastore
         5: .line 259
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 1 /* i */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaStatements:[Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            arraylength
            if_icmplt 2
        end local 1 // int i
         7: .line 264
            return
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerXAResource;
            1    7     1     i  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  final synchronized void close();
    descriptor: ()V
    flags: (0x0030) ACC_FINAL, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
         0: .line 268
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.closeXAStatements:()V
         1: .line 269
            goto 5
      StackMap locals:
      StackMap stack: java.lang.Exception
         2: astore 1 /* e */
        start local 1 // java.lang.Exception e
         3: .line 270
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 5
         4: .line 271
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "Closing exception ignored: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.warning:(Ljava/lang/String;)V
        end local 1 // java.lang.Exception e
         5: .line 274
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.controlConnection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            ifnull 7
         6: .line 275
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.controlConnection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.close:()V
         7: .line 276
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerXAResource;
            3    5     1     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  private java.lang.String flagsDisplay(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
        start local 1 // int flags
         0: .line 282
            iload 1 /* flags */
            ifne 2
         1: .line 283
            ldc "TMNOFLAGS"
            areturn
         2: .line 286
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            bipush 100
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuilder sb
         3: .line 288
            ldc 8388608
            iload 1 /* flags */
            iand
            ifeq 5
         4: .line 289
            aload 2 /* sb */
            ldc "TMENDRSCAN"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 291
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            ldc 536870912
            iload 1 /* flags */
            iand
            ifeq 9
         6: .line 292
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 8
         7: .line 293
            aload 2 /* sb */
            ldc "|"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 294
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            ldc "TMFAIL"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 296
      StackMap locals:
      StackMap stack:
            ldc 2097152
            iload 1 /* flags */
            iand
            ifeq 13
        10: .line 297
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 12
        11: .line 298
            aload 2 /* sb */
            ldc "|"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 299
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            ldc "TMJOIN"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 301
      StackMap locals:
      StackMap stack:
            ldc 1073741824
            iload 1 /* flags */
            iand
            ifeq 17
        14: .line 302
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 16
        15: .line 303
            aload 2 /* sb */
            ldc "|"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 304
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            ldc "TMONEPHASE"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        17: .line 306
      StackMap locals:
      StackMap stack:
            ldc 134217728
            iload 1 /* flags */
            iand
            ifeq 21
        18: .line 307
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 20
        19: .line 308
            aload 2 /* sb */
            ldc "|"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        20: .line 309
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            ldc "TMRESUME"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 311
      StackMap locals:
      StackMap stack:
            ldc 16777216
            iload 1 /* flags */
            iand
            ifeq 25
        22: .line 312
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 24
        23: .line 313
            aload 2 /* sb */
            ldc "|"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        24: .line 314
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            ldc "TMSTARTRSCAN"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        25: .line 316
      StackMap locals:
      StackMap stack:
            ldc 67108864
            iload 1 /* flags */
            iand
            ifeq 29
        26: .line 317
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 28
        27: .line 318
            aload 2 /* sb */
            ldc "|"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        28: .line 319
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            ldc "TMSUCCESS"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        29: .line 321
      StackMap locals:
      StackMap stack:
            ldc 33554432
            iload 1 /* flags */
            iand
            ifeq 33
        30: .line 322
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 32
        31: .line 323
            aload 2 /* sb */
            ldc "|"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        32: .line 324
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            ldc "TMSUSPEND"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        33: .line 327
      StackMap locals:
      StackMap stack:
            ldc 32768
            iload 1 /* flags */
            iand
            ifeq 37
        34: .line 328
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 36
        35: .line 329
            aload 2 /* sb */
            ldc "|"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        36: .line 330
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            ldc "SSTRANSTIGHTLYCPLD"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        37: .line 332
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder sb
        end local 1 // int flags
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   38     0   this  Lcom/microsoft/sqlserver/jdbc/SQLServerXAResource;
            0   38     1  flags  I
            3   38     2     sb  Ljava/lang/StringBuilder;
    MethodParameters:
       Name  Flags
      flags  

  private java.lang.String cookieDisplay(byte[]);
    descriptor: ([B)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
        start local 1 // byte[] cookie
         0: .line 337
            aload 1 /* cookie */
            invokestatic com.microsoft.sqlserver.jdbc.Util.byteToHexDisplayString:([B)Ljava/lang/String;
            areturn
        end local 1 // byte[] cookie
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/microsoft/sqlserver/jdbc/SQLServerXAResource;
            0    1     1  cookie  [B
    MethodParameters:
        Name  Flags
      cookie  

  private java.lang.String typeDisplay(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
        start local 1 // int type
         0: .line 342
            iload 1 /* type */
            tableswitch { // 0 - 6
                    0: 1
                    1: 2
                    2: 3
                    3: 4
                    4: 5
                    5: 6
                    6: 7
              default: 8
          }
         1: .line 344
      StackMap locals:
      StackMap stack:
            ldc "XA_START"
            areturn
         2: .line 346
      StackMap locals:
      StackMap stack:
            ldc "XA_END"
            areturn
         3: .line 348
      StackMap locals:
      StackMap stack:
            ldc "XA_PREPARE"
            areturn
         4: .line 350
      StackMap locals:
      StackMap stack:
            ldc "XA_COMMIT"
            areturn
         5: .line 352
      StackMap locals:
      StackMap stack:
            ldc "XA_ROLLBACK"
            areturn
         6: .line 354
      StackMap locals:
      StackMap stack:
            ldc "XA_FORGET"
            areturn
         7: .line 356
      StackMap locals:
      StackMap stack:
            ldc "XA_RECOVER"
            areturn
         8: .line 358
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "UNKNOWN"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* type */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // int type
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerXAResource;
            0    9     1  type  I
    MethodParameters:
      Name  Flags
      type  

  private com.microsoft.sqlserver.jdbc.XAReturnValue DTC_XA_Interface(int, javax.transaction.xa.Xid, int);
    descriptor: (ILjavax/transaction/xa/Xid;I)Lcom/microsoft/sqlserver/jdbc/XAReturnValue;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=21, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
        start local 1 // int nType
        start local 2 // javax.transaction.xa.Xid xid
        start local 3 // int xaFlags
         0: .line 365
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 4
         1: .line 366
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " Calling XA function for type:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            iload 1 /* nType */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.typeDisplay:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " flags:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 367
            aload 0 /* this */
            iload 3 /* xaFlags */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.flagsDisplay:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " xid:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* xid */
            invokestatic com.microsoft.sqlserver.jdbc.XidImpl.xidDisplay:(Ljavax/transaction/xa/Xid;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 366
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
         4: .line 369
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* formatId */
        start local 4 // int formatId
         5: .line 370
            aconst_null
            astore 5 /* gid */
        start local 5 // byte[] gid
         6: .line 371
            aconst_null
            astore 6 /* bid */
        start local 6 // byte[] bid
         7: .line 372
            aload 2 /* xid */
            ifnull 11
         8: .line 373
            aload 2 /* xid */
            invokeinterface javax.transaction.xa.Xid.getFormatId:()I
            istore 4 /* formatId */
         9: .line 374
            aload 2 /* xid */
            invokeinterface javax.transaction.xa.Xid.getGlobalTransactionId:()[B
            astore 5 /* gid */
        10: .line 375
            aload 2 /* xid */
            invokeinterface javax.transaction.xa.Xid.getBranchQualifier:()[B
            astore 6 /* bid */
        11: .line 378
      StackMap locals: int byte[] byte[]
      StackMap stack:
            ldc "DTC_XA_"
            astore 7 /* sContext */
        start local 7 // java.lang.String sContext
        12: .line 379
            iconst_1
            istore 8 /* n */
        start local 8 // int n
        13: .line 380
            iconst_0
            istore 9 /* nStatus */
        start local 9 // int nStatus
        14: .line 381
            new com.microsoft.sqlserver.jdbc.XAReturnValue
            dup
            invokespecial com.microsoft.sqlserver.jdbc.XAReturnValue.<init>:()V
            astore 10 /* returnStatus */
        start local 10 // com.microsoft.sqlserver.jdbc.XAReturnValue returnStatus
        15: .line 383
            aconst_null
            astore 11 /* cs */
        start local 11 // com.microsoft.sqlserver.jdbc.SQLServerCallableStatement cs
        16: .line 385
            aload 0 /* this */
            dup
            astore 12
            monitorenter
        17: .line 386
            getstatic com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaInitDone:Z
            ifne 78
        18: .line 388
            getstatic com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaInitLock:Ljava/lang/Object;
            dup
            astore 13
            monitorenter
        19: .line 389
            aconst_null
            astore 14 /* initCS */
        start local 14 // com.microsoft.sqlserver.jdbc.SQLServerCallableStatement initCS
        20: .line 391
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.controlConnection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
        21: .line 392
            ldc "{call master..xp_sqljdbc_xa_init_ex(?, ?,?)}"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareCall:(Ljava/lang/String;)Ljava/sql/CallableStatement;
        22: .line 391
            checkcast com.microsoft.sqlserver.jdbc.SQLServerCallableStatement
            astore 14 /* initCS */
        23: .line 393
            aload 14 /* initCS */
            iconst_1
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
        24: .line 394
            aload 14 /* initCS */
            iconst_2
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
        25: .line 395
            aload 14 /* initCS */
            iconst_3
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
        26: .line 397
            aload 14 /* initCS */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.execute:()Z
            pop
        27: .line 398
            goto 46
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerXAResource int javax.transaction.xa.Xid int int byte[] byte[] java.lang.String int int com.microsoft.sqlserver.jdbc.XAReturnValue com.microsoft.sqlserver.jdbc.SQLServerCallableStatement com.microsoft.sqlserver.jdbc.SQLServerXAResource java.lang.Object com.microsoft.sqlserver.jdbc.SQLServerCallableStatement
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerException
        28: astore 15 /* eX */
        start local 15 // com.microsoft.sqlserver.jdbc.SQLServerException eX
        29: .line 400
            aload 14 /* initCS */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.close:()V
        30: .line 402
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.controlConnection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.close:()V
        31: .line 403
            goto 37
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerXAResource int javax.transaction.xa.Xid int int byte[] byte[] java.lang.String int int com.microsoft.sqlserver.jdbc.XAReturnValue com.microsoft.sqlserver.jdbc.SQLServerCallableStatement com.microsoft.sqlserver.jdbc.SQLServerXAResource java.lang.Object com.microsoft.sqlserver.jdbc.SQLServerCallableStatement com.microsoft.sqlserver.jdbc.SQLServerException
      StackMap stack: java.sql.SQLException
        32: astore 16 /* e3 */
        start local 16 // java.sql.SQLException e3
        33: .line 405
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 37
        34: .line 406
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        35: .line 407
            ldc " Ignoring exception when closing failed execution. exception:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 16 /* e3 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        36: .line 406
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
        end local 16 // java.sql.SQLException e3
        37: .line 409
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 39
        38: .line 410
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " exception:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 15 /* eX */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
        39: .line 411
      StackMap locals:
      StackMap stack:
            aload 15 /* eX */
            athrow
        end local 15 // com.microsoft.sqlserver.jdbc.SQLServerException eX
        40: .line 412
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerXAResource int javax.transaction.xa.Xid int int byte[] byte[] java.lang.String int int com.microsoft.sqlserver.jdbc.XAReturnValue com.microsoft.sqlserver.jdbc.SQLServerCallableStatement com.microsoft.sqlserver.jdbc.SQLServerXAResource java.lang.Object com.microsoft.sqlserver.jdbc.SQLServerCallableStatement
      StackMap stack: java.sql.SQLTimeoutException
            astore 15 /* e4 */
        start local 15 // java.sql.SQLTimeoutException e4
        41: .line 413
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 43
        42: .line 414
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " exception:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 15 /* e4 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
        43: .line 415
      StackMap locals: java.sql.SQLTimeoutException
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 15 /* e4 */
            invokevirtual java.sql.SQLTimeoutException.getMessage:()Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SQLState.STATEMENT_CANCELED:Lcom/microsoft/sqlserver/jdbc/SQLState;
        44: .line 416
            getstatic com.microsoft.sqlserver.jdbc.DriverError.NOT_SET:Lcom/microsoft/sqlserver/jdbc/DriverError;
            aconst_null
        45: .line 415
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLState;Lcom/microsoft/sqlserver/jdbc/DriverError;Ljava/lang/Throwable;)V
            athrow
        end local 15 // java.sql.SQLTimeoutException e4
        46: .line 420
      StackMap locals:
      StackMap stack:
            aload 14 /* initCS */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.getInt:(I)I
            istore 15 /* initStatus */
        start local 15 // int initStatus
        47: .line 421
            aload 14 /* initCS */
            iconst_2
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.getString:(I)Ljava/lang/String;
            astore 16 /* initErr */
        start local 16 // java.lang.String initErr
        48: .line 422
            aload 14 /* initCS */
            iconst_3
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.getString:(I)Ljava/lang/String;
            astore 17 /* versionNumberXADLL */
        start local 17 // java.lang.String versionNumberXADLL
        49: .line 423
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 51
        50: .line 424
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " Server XA DLL version:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 17 /* versionNumberXADLL */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
        51: .line 425
      StackMap locals: int java.lang.String java.lang.String
      StackMap stack:
            aload 14 /* initCS */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.close:()V
        52: .line 426
            iload 15 /* initStatus */
            ifeq 65
        53: .line 427
            getstatic com.microsoft.sqlserver.jdbc.SQLServerXAResource.$assertionsDisabled:Z
            ifne 55
            aload 16 /* initErr */
            ifnull 54
            aload 16 /* initErr */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpgt 55
      StackMap locals:
      StackMap stack:
        54: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        55: .line 428
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.controlConnection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.close:()V
        56: .line 430
            new java.text.MessageFormat
            dup
        57: .line 431
            ldc "R_failedToInitializeXA"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        58: .line 430
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 18 /* form */
        start local 18 // java.text.MessageFormat form
        59: .line 432
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            iload 15 /* initStatus */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 16 /* initErr */
            aastore
            astore 19 /* msgArgs */
        start local 19 // java.lang.Object[] msgArgs
        60: .line 433
            new javax.transaction.xa.XAException
            dup
            aload 18 /* form */
            aload 19 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial javax.transaction.xa.XAException.<init>:(Ljava/lang/String;)V
            astore 20 /* xex */
        start local 20 // javax.transaction.xa.XAException xex
        61: .line 434
            aload 20 /* xex */
            iload 15 /* initStatus */
            putfield javax.transaction.xa.XAException.errorCode:I
        62: .line 435
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 64
        63: .line 436
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " exception:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 20 /* xex */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
        64: .line 437
      StackMap locals: java.text.MessageFormat java.lang.Object[] javax.transaction.xa.XAException
      StackMap stack:
            aload 20 /* xex */
            athrow
        end local 20 // javax.transaction.xa.XAException xex
        end local 19 // java.lang.Object[] msgArgs
        end local 18 // java.text.MessageFormat form
        end local 17 // java.lang.String versionNumberXADLL
        end local 16 // java.lang.String initErr
        end local 15 // int initStatus
        end local 14 // com.microsoft.sqlserver.jdbc.SQLServerCallableStatement initCS
        65: .line 388
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerXAResource int javax.transaction.xa.Xid int int byte[] byte[] java.lang.String int int com.microsoft.sqlserver.jdbc.XAReturnValue com.microsoft.sqlserver.jdbc.SQLServerCallableStatement com.microsoft.sqlserver.jdbc.SQLServerXAResource java.lang.Object
      StackMap stack:
            aload 13
            monitorexit
        66: goto 77
      StackMap locals:
      StackMap stack: java.lang.Throwable
        67: aload 13
            monitorexit
        68: athrow
        69: .line 440
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerXAResource int javax.transaction.xa.Xid int int byte[] byte[] java.lang.String int int com.microsoft.sqlserver.jdbc.XAReturnValue com.microsoft.sqlserver.jdbc.SQLServerCallableStatement com.microsoft.sqlserver.jdbc.SQLServerXAResource
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerException
            astore 13 /* e1 */
        start local 13 // com.microsoft.sqlserver.jdbc.SQLServerException e1
        70: .line 441
            new java.text.MessageFormat
            dup
        71: .line 442
            ldc "R_failedToCreateXAConnection"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        72: .line 441
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 14 /* form */
        start local 14 // java.text.MessageFormat form
        73: .line 443
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 13 /* e1 */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerException.getMessage:()Ljava/lang/String;
            aastore
            astore 15 /* msgArgs */
        start local 15 // java.lang.Object[] msgArgs
        74: .line 444
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 76
        75: .line 445
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " exception:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 14 /* form */
            aload 15 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
        76: .line 446
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerException java.text.MessageFormat java.lang.Object[]
      StackMap stack:
            aconst_null
            aconst_null
            aload 14 /* form */
            aload 15 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_1
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
        end local 15 // java.lang.Object[] msgArgs
        end local 14 // java.text.MessageFormat form
        end local 13 // com.microsoft.sqlserver.jdbc.SQLServerException e1
        77: .line 448
      StackMap locals:
      StackMap stack:
            iconst_1
            putstatic com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaInitDone:Z
        78: .line 385
      StackMap locals:
      StackMap stack:
            aload 12
            monitorexit
        79: goto 82
      StackMap locals:
      StackMap stack: java.lang.Throwable
        80: aload 12
            monitorexit
        81: athrow
        82: .line 452
      StackMap locals:
      StackMap stack:
            iload 1 /* nType */
            tableswitch { // 0 - 6
                    0: 83
                    1: 146
                    2: 156
                    3: 168
                    4: 177
                    5: 189
                    6: 201
              default: 208
          }
        83: .line 455
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.serverInfoRetrieved:Z
            ifne 127
        84: .line 456
            ldc "select convert(varchar(100), SERVERPROPERTY('Edition'))as edition,  convert(varchar(100), SERVERPROPERTY('InstanceName'))as instance, convert(varchar(100), SERVERPROPERTY('ProductVersion')) as version, @@VERSION;"
            astore 12 /* query */
        start local 12 // java.lang.String query
        85: .line 459
            aconst_null
            astore 13
            aconst_null
            astore 14
        86: aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.controlConnection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.createStatement:()Ljava/sql/Statement;
            astore 15 /* stmt */
        start local 15 // java.sql.Statement stmt
        87: .line 460
            aload 15 /* stmt */
            aload 12 /* query */
            invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
            astore 16 /* rs */
        start local 16 // java.sql.ResultSet rs
        88: .line 461
            aload 0 /* this */
            iconst_1
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.serverInfoRetrieved:Z
        89: .line 462
            aload 16 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            pop
        90: .line 464
            aload 16 /* rs */
            iconst_1
            invokeinterface java.sql.ResultSet.getString:(I)Ljava/lang/String;
            astore 17 /* edition */
        start local 17 // java.lang.String edition
        91: .line 465
            aload 0 /* this */
            aload 17 /* edition */
            ifnull 92
            aload 17 /* edition */
            ldc "(64-bit)"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 92
            bipush 64
            goto 93
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerXAResource int javax.transaction.xa.Xid int int byte[] byte[] java.lang.String int int com.microsoft.sqlserver.jdbc.XAReturnValue com.microsoft.sqlserver.jdbc.SQLServerCallableStatement java.lang.String java.lang.Throwable java.lang.Throwable java.sql.Statement java.sql.ResultSet java.lang.String
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerXAResource
        92: bipush 32
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerXAResource int javax.transaction.xa.Xid int int byte[] byte[] java.lang.String int int com.microsoft.sqlserver.jdbc.XAReturnValue com.microsoft.sqlserver.jdbc.SQLServerCallableStatement java.lang.String java.lang.Throwable java.lang.Throwable java.sql.Statement java.sql.ResultSet java.lang.String
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerXAResource int
        93: putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.architectureMSSQL:I
        94: .line 468
            aload 0 /* this */
            aload 16 /* rs */
            iconst_2
            invokeinterface java.sql.ResultSet.getString:(I)Ljava/lang/String;
            ifnonnull 95
            ldc "MSSQLSERVER"
            goto 96
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerXAResource
        95: aload 16 /* rs */
            iconst_2
            invokeinterface java.sql.ResultSet.getString:(I)Ljava/lang/String;
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerXAResource int javax.transaction.xa.Xid int int byte[] byte[] java.lang.String int int com.microsoft.sqlserver.jdbc.XAReturnValue com.microsoft.sqlserver.jdbc.SQLServerCallableStatement java.lang.String java.lang.Throwable java.lang.Throwable java.sql.Statement java.sql.ResultSet java.lang.String
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerXAResource java.lang.String
        96: putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.instanceName:Ljava/lang/String;
        97: .line 469
            aload 0 /* this */
            aload 16 /* rs */
            iconst_3
            invokeinterface java.sql.ResultSet.getString:(I)Ljava/lang/String;
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.version:Ljava/lang/String;
        98: .line 470
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.version:Ljava/lang/String;
            ifnonnull 101
        99: .line 471
            aload 0 /* this */
            ldc "0"
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.version:Ljava/lang/String;
       100: .line 472
            goto 103
      StackMap locals:
      StackMap stack:
       101: iconst_m1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.version:Ljava/lang/String;
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            if_icmpeq 103
       102: .line 473
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.version:Ljava/lang/String;
            iconst_0
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.version:Ljava/lang/String;
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.version:Ljava/lang/String;
       103: .line 480
      StackMap locals:
      StackMap stack:
            aload 16 /* rs */
            iconst_4
            invokeinterface java.sql.ResultSet.getString:(I)Ljava/lang/String;
            astore 18 /* buildInfo */
        start local 18 // java.lang.String buildInfo
       104: .line 482
            aload 18 /* buildInfo */
            ifnull 107
            aload 18 /* buildInfo */
            ldc "Linux"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 107
       105: .line 483
            aload 0 /* this */
            bipush 64
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.architectureOS:I
       106: .line 484
            goto 111
      StackMap locals: java.lang.String
      StackMap stack:
       107: aload 18 /* buildInfo */
            ifnull 111
       108: .line 485
            aload 0 /* this */
            aload 18 /* buildInfo */
            aload 18 /* buildInfo */
            bipush 60
            invokevirtual java.lang.String.lastIndexOf:(I)I
            iconst_2
            iadd
       109: .line 486
            aload 18 /* buildInfo */
            bipush 62
            invokevirtual java.lang.String.lastIndexOf:(I)I
       110: .line 485
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.architectureOS:I
        end local 18 // java.lang.String buildInfo
        end local 17 // java.lang.String edition
       111: .line 488
      StackMap locals:
      StackMap stack:
            aload 16 /* rs */
            ifnull 114
            aload 16 /* rs */
            invokeinterface java.sql.ResultSet.close:()V
            goto 114
      StackMap locals:
      StackMap stack: java.lang.Throwable
       112: astore 13
            aload 16 /* rs */
            ifnull 113
            aload 16 /* rs */
            invokeinterface java.sql.ResultSet.close:()V
        end local 16 // java.sql.ResultSet rs
      StackMap locals:
      StackMap stack:
       113: aload 13
            athrow
      StackMap locals:
      StackMap stack:
       114: aload 15 /* stmt */
            ifnull 127
            aload 15 /* stmt */
            invokeinterface java.sql.Statement.close:()V
            goto 127
      StackMap locals:
      StackMap stack: java.lang.Throwable
       115: astore 14
            aload 13
            ifnonnull 116
            aload 14
            astore 13
            goto 117
      StackMap locals:
      StackMap stack:
       116: aload 13
            aload 14
            if_acmpeq 117
            aload 13
            aload 14
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       117: aload 15 /* stmt */
            ifnull 118
            aload 15 /* stmt */
            invokeinterface java.sql.Statement.close:()V
        end local 15 // java.sql.Statement stmt
      StackMap locals:
      StackMap stack:
       118: aload 13
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       119: astore 14
            aload 13
            ifnonnull 120
            aload 14
            astore 13
            goto 121
      StackMap locals:
      StackMap stack:
       120: aload 13
            aload 14
            if_acmpeq 121
            aload 13
            aload 14
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       121: aload 13
            athrow
       122: .line 490
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerXAResource int javax.transaction.xa.Xid int int byte[] byte[] java.lang.String int int com.microsoft.sqlserver.jdbc.XAReturnValue com.microsoft.sqlserver.jdbc.SQLServerCallableStatement java.lang.String
      StackMap stack: java.lang.Exception
            astore 13 /* e */
        start local 13 // java.lang.Exception e
       123: .line 491
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 127
       124: .line 492
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
       125: .line 493
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " Cannot retrieve server information: :"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 13 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       126: .line 492
            invokevirtual java.util.logging.Logger.warning:(Ljava/lang/String;)V
        end local 13 // java.lang.Exception e
        end local 12 // java.lang.String query
       127: .line 497
      StackMap locals:
      StackMap stack:
            ldc "START:"
            astore 7 /* sContext */
       128: .line 498
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.getXACallableStatementHandle:(I)Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            astore 11 /* cs */
       129: .line 499
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       130: .line 500
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       131: .line 501
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 5 /* gid */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setBytes:(I[B)V
       132: .line 502
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 6 /* bid */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setBytes:(I[B)V
       133: .line 503
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iload 3 /* xaFlags */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       134: .line 504
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            bipush -2
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       135: .line 505
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.timeoutSeconds:I
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       136: .line 506
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iload 4 /* formatId */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       137: .line 507
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       138: .line 508
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.version:Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       139: .line 509
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.instanceName:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       140: .line 510
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.instanceName:Ljava/lang/String;
            invokevirtual java.lang.String.getBytes:()[B
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setBytes:(I[B)V
       141: .line 511
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.architectureMSSQL:I
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       142: .line 512
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.architectureOS:I
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       143: .line 513
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.isTransacrionTimeoutSet:I
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       144: .line 514
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            bipush -2
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       145: .line 516
            goto 209
       146: .line 519
      StackMap locals:
      StackMap stack:
            ldc "END:"
            astore 7 /* sContext */
       147: .line 520
            aload 0 /* this */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.getXACallableStatementHandle:(I)Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            astore 11 /* cs */
       148: .line 521
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       149: .line 522
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       150: .line 523
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 5 /* gid */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setBytes:(I[B)V
       151: .line 524
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 6 /* bid */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setBytes:(I[B)V
       152: .line 525
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iload 3 /* xaFlags */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       153: .line 526
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iload 4 /* formatId */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       154: .line 527
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            bipush -2
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       155: .line 528
            goto 209
       156: .line 531
      StackMap locals:
      StackMap stack:
            ldc "PREPARE:"
            astore 7 /* sContext */
       157: .line 532
            ldc 32768
            iload 3 /* xaFlags */
            iand
            ldc 32768
            if_icmpne 159
       158: .line 533
            aload 0 /* this */
            bipush 7
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.getXACallableStatementHandle:(I)Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            astore 11 /* cs */
            goto 160
       159: .line 535
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.getXACallableStatementHandle:(I)Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            astore 11 /* cs */
       160: .line 537
      StackMap locals:
      StackMap stack:
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       161: .line 538
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       162: .line 539
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 5 /* gid */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setBytes:(I[B)V
       163: .line 540
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 6 /* bid */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setBytes:(I[B)V
       164: .line 541
            ldc 32768
            iload 3 /* xaFlags */
            iand
            ldc 32768
            if_icmpne 166
       165: .line 542
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iload 3 /* xaFlags */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       166: .line 543
      StackMap locals:
      StackMap stack:
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iload 4 /* formatId */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       167: .line 544
            goto 209
       168: .line 547
      StackMap locals:
      StackMap stack:
            ldc "COMMIT:"
            astore 7 /* sContext */
       169: .line 548
            aload 0 /* this */
            iconst_3
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.getXACallableStatementHandle:(I)Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            astore 11 /* cs */
       170: .line 549
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       171: .line 550
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       172: .line 551
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 5 /* gid */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setBytes:(I[B)V
       173: .line 552
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 6 /* bid */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setBytes:(I[B)V
       174: .line 553
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iload 3 /* xaFlags */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       175: .line 554
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iload 4 /* formatId */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       176: .line 555
            goto 209
       177: .line 558
      StackMap locals:
      StackMap stack:
            ldc "ROLLBACK:"
            astore 7 /* sContext */
       178: .line 559
            ldc 32768
            iload 3 /* xaFlags */
            iand
            ldc 32768
            if_icmpne 180
       179: .line 560
            aload 0 /* this */
            bipush 8
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.getXACallableStatementHandle:(I)Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            astore 11 /* cs */
            goto 181
       180: .line 562
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.getXACallableStatementHandle:(I)Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            astore 11 /* cs */
       181: .line 564
      StackMap locals:
      StackMap stack:
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       182: .line 565
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       183: .line 566
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 5 /* gid */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setBytes:(I[B)V
       184: .line 567
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 6 /* bid */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setBytes:(I[B)V
       185: .line 568
            ldc 32768
            iload 3 /* xaFlags */
            iand
            ldc 32768
            if_icmpne 187
       186: .line 569
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iload 3 /* xaFlags */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       187: .line 570
      StackMap locals:
      StackMap stack:
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iload 4 /* formatId */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       188: .line 571
            goto 209
       189: .line 574
      StackMap locals:
      StackMap stack:
            ldc "FORGET:"
            astore 7 /* sContext */
       190: .line 575
            ldc 32768
            iload 3 /* xaFlags */
            iand
            ldc 32768
            if_icmpne 192
       191: .line 576
            aload 0 /* this */
            bipush 9
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.getXACallableStatementHandle:(I)Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            astore 11 /* cs */
            goto 193
       192: .line 578
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_5
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.getXACallableStatementHandle:(I)Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            astore 11 /* cs */
       193: .line 579
      StackMap locals:
      StackMap stack:
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       194: .line 580
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       195: .line 581
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 5 /* gid */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setBytes:(I[B)V
       196: .line 582
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 6 /* bid */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setBytes:(I[B)V
       197: .line 583
            ldc 32768
            iload 3 /* xaFlags */
            iand
            ldc 32768
            if_icmpne 199
       198: .line 584
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iload 3 /* xaFlags */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       199: .line 585
      StackMap locals:
      StackMap stack:
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iload 4 /* formatId */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       200: .line 586
            goto 209
       201: .line 589
      StackMap locals:
      StackMap stack:
            ldc "RECOVER:"
            astore 7 /* sContext */
       202: .line 590
            aload 0 /* this */
            bipush 6
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.getXACallableStatementHandle:(I)Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            astore 11 /* cs */
       203: .line 591
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       204: .line 592
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       205: .line 593
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iload 3 /* xaFlags */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       206: .line 594
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            bipush -2
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       207: .line 596
            goto 209
       208: .line 598
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerXAResource.$assertionsDisabled:Z
            ifne 209
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown execution type:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* nType */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
       209: .line 605
      StackMap locals:
      StackMap stack:
            aload 11 /* cs */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.execute:()Z
            pop
       210: .line 606
            aload 11 /* cs */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.getInt:(I)I
            istore 9 /* nStatus */
       211: .line 607
            aload 11 /* cs */
            iconst_2
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.getString:(I)Ljava/lang/String;
            astore 12 /* sErr */
        start local 12 // java.lang.String sErr
       212: .line 608
            iload 1 /* nType */
            ifne 225
       213: .line 609
            aload 11 /* cs */
            bipush 9
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.getString:(I)Ljava/lang/String;
            astore 13 /* versionNumberXADLL */
        start local 13 // java.lang.String versionNumberXADLL
       214: .line 610
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 225
       215: .line 611
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " Server XA DLL version:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 13 /* versionNumberXADLL */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
       216: .line 612
            aload 11 /* cs */
            bipush 16
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.getString:(I)Ljava/lang/String;
            ifnull 225
       217: .line 613
            new java.lang.StringBuffer
            dup
            aload 11 /* cs */
            bipush 16
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.getString:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            astore 14 /* strBuf */
        start local 14 // java.lang.StringBuffer strBuf
       218: .line 614
            aload 14 /* strBuf */
            bipush 20
            bipush 45
            invokevirtual java.lang.StringBuffer.insert:(IC)Ljava/lang/StringBuffer;
            pop
       219: .line 615
            aload 14 /* strBuf */
            bipush 16
            bipush 45
            invokevirtual java.lang.StringBuffer.insert:(IC)Ljava/lang/StringBuffer;
            pop
       220: .line 616
            aload 14 /* strBuf */
            bipush 12
            bipush 45
            invokevirtual java.lang.StringBuffer.insert:(IC)Ljava/lang/StringBuffer;
            pop
       221: .line 617
            aload 14 /* strBuf */
            bipush 8
            bipush 45
            invokevirtual java.lang.StringBuffer.insert:(IC)Ljava/lang/StringBuffer;
            pop
       222: .line 618
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " XID to UoW mapping for XA type:XA_START XID: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       223: .line 619
            aload 2 /* xid */
            invokestatic com.microsoft.sqlserver.jdbc.XidImpl.xidDisplay:(Ljavax/transaction/xa/Xid;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " UoW: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 14 /* strBuf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       224: .line 618
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
        end local 14 // java.lang.StringBuffer strBuf
        end local 13 // java.lang.String versionNumberXADLL
       225: .line 623
      StackMap locals: java.lang.String
      StackMap stack:
            iload 1 /* nType */
            iconst_1
            if_icmpne 236
       226: .line 624
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 236
       227: .line 625
            aload 11 /* cs */
            bipush 7
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.getString:(I)Ljava/lang/String;
            ifnull 236
       228: .line 626
            new java.lang.StringBuffer
            dup
            aload 11 /* cs */
            bipush 7
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.getString:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            astore 13 /* strBuf */
        start local 13 // java.lang.StringBuffer strBuf
       229: .line 627
            aload 13 /* strBuf */
            bipush 20
            bipush 45
            invokevirtual java.lang.StringBuffer.insert:(IC)Ljava/lang/StringBuffer;
            pop
       230: .line 628
            aload 13 /* strBuf */
            bipush 16
            bipush 45
            invokevirtual java.lang.StringBuffer.insert:(IC)Ljava/lang/StringBuffer;
            pop
       231: .line 629
            aload 13 /* strBuf */
            bipush 12
            bipush 45
            invokevirtual java.lang.StringBuffer.insert:(IC)Ljava/lang/StringBuffer;
            pop
       232: .line 630
            aload 13 /* strBuf */
            bipush 8
            bipush 45
            invokevirtual java.lang.StringBuffer.insert:(IC)Ljava/lang/StringBuffer;
            pop
       233: .line 631
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " XID to UoW mapping for XA type:XA_END XID: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       234: .line 632
            aload 2 /* xid */
            invokestatic com.microsoft.sqlserver.jdbc.XidImpl.xidDisplay:(Ljavax/transaction/xa/Xid;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " UoW: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 13 /* strBuf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       235: .line 631
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
        end local 13 // java.lang.StringBuffer strBuf
       236: .line 636
      StackMap locals:
      StackMap stack:
            bipush 6
            iload 1 /* nType */
            if_icmpne 241
            iload 9 /* nStatus */
            ifeq 241
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.recoveryAttempt:I
            iconst_1
            if_icmpge 241
       237: .line 642
            aload 0 /* this */
            dup
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.recoveryAttempt:I
            iconst_1
            iadd
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.recoveryAttempt:I
       238: .line 643
            aload 0 /* this */
            iconst_0
            aload 2 /* xid */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.DTC_XA_Interface:(ILjavax/transaction/xa/Xid;I)Lcom/microsoft/sqlserver/jdbc/XAReturnValue;
            pop
       239: .line 644
            aload 0 /* this */
            bipush 6
            aload 2 /* xid */
            iload 3 /* xaFlags */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.DTC_XA_Interface:(ILjavax/transaction/xa/Xid;I)Lcom/microsoft/sqlserver/jdbc/XAReturnValue;
       240: areturn
       241: .line 648
      StackMap locals:
      StackMap stack:
            iconst_3
            iload 9 /* nStatus */
            if_icmpne 242
            iconst_1
            iload 1 /* nType */
            if_icmpeq 242
            iconst_2
            iload 1 /* nType */
            if_icmpne 243
       242: .line 649
      StackMap locals:
      StackMap stack:
            iload 9 /* nStatus */
            ifeq 261
            iconst_3
            iload 9 /* nStatus */
            if_icmpeq 261
       243: .line 650
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerXAResource.$assertionsDisabled:Z
            ifne 245
            aload 12 /* sErr */
            ifnull 244
            aload 12 /* sErr */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpgt 245
      StackMap locals:
      StackMap stack:
       244: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
       245: .line 651
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_failedFunctionXA"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 13 /* form */
        start local 13 // java.text.MessageFormat form
       246: .line 652
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* sContext */
            aastore
            dup
            iconst_1
            iload 9 /* nStatus */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 12 /* sErr */
            aastore
            astore 14 /* msgArgs */
        start local 14 // java.lang.Object[] msgArgs
       247: .line 653
            new javax.transaction.xa.XAException
            dup
            aload 13 /* form */
            aload 14 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial javax.transaction.xa.XAException.<init>:(Ljava/lang/String;)V
            astore 15 /* e */
        start local 15 // javax.transaction.xa.XAException e
       248: .line 654
            aload 15 /* e */
            iload 9 /* nStatus */
            putfield javax.transaction.xa.XAException.errorCode:I
       249: .line 656
            iload 1 /* nType */
            iconst_1
            if_icmpne 260
            bipush -7
            iload 9 /* nStatus */
            if_icmpne 260
       250: .line 658
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 252
       251: .line 659
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " Begin un-enlist, enlisted count:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.enlistedTransactionCount:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
       252: .line 660
      StackMap locals: java.text.MessageFormat java.lang.Object[] javax.transaction.xa.XAException
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.JTAUnenlistConnection:()V
       253: .line 661
            aload 0 /* this */
            dup
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.enlistedTransactionCount:I
            iconst_1
            isub
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.enlistedTransactionCount:I
       254: .line 662
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 260
       255: .line 663
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " End un-enlist, enlisted count:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.enlistedTransactionCount:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
       256: .line 664
            goto 260
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerException
       257: astore 16 /* e1 */
        start local 16 // com.microsoft.sqlserver.jdbc.SQLServerException e1
       258: .line 666
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 260
       259: .line 667
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " Ignoring exception:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 16 /* e1 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
        end local 16 // com.microsoft.sqlserver.jdbc.SQLServerException e1
       260: .line 670
      StackMap locals:
      StackMap stack:
            aload 15 /* e */
            athrow
        end local 15 // javax.transaction.xa.XAException e
        end local 14 // java.lang.Object[] msgArgs
        end local 13 // java.text.MessageFormat form
       261: .line 672
      StackMap locals:
      StackMap stack:
            iload 1 /* nType */
            ifne 287
       262: .line 674
            aload 11 /* cs */
            bipush 6
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.getBytes:(I)[B
            astore 13 /* transactionCookie */
        start local 13 // byte[] transactionCookie
       263: .line 675
            aload 13 /* transactionCookie */
            ifnonnull 270
       264: .line 676
            new java.text.MessageFormat
            dup
       265: .line 677
            ldc "R_noTransactionCookie"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
       266: .line 676
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 14 /* form */
        start local 14 // java.text.MessageFormat form
       267: .line 678
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* sContext */
            aastore
            astore 15 /* msgArgs */
        start local 15 // java.lang.Object[] msgArgs
       268: .line 679
            aconst_null
            aconst_null
            aload 14 /* form */
            aload 15 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_1
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
        end local 15 // java.lang.Object[] msgArgs
        end local 14 // java.text.MessageFormat form
       269: .line 681
            goto 287
       270: .line 683
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 276
       271: .line 684
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
       272: .line 685
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " Begin enlisting, cookie:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            aload 13 /* transactionCookie */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.cookieDisplay:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       273: .line 686
            ldc " enlisted count:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.enlistedTransactionCount:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
       274: .line 685
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       275: .line 684
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
       276: .line 687
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            aload 13 /* transactionCookie */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.JTAEnlistConnection:([B)V
       277: .line 688
            aload 0 /* this */
            dup
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.enlistedTransactionCount:I
            iconst_1
            iadd
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.enlistedTransactionCount:I
       278: .line 689
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 287
       279: .line 690
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " End enlisting, cookie:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            aload 13 /* transactionCookie */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.cookieDisplay:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       280: .line 691
            ldc " enlisted count:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.enlistedTransactionCount:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       281: .line 690
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
       282: .line 692
            goto 287
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerException
       283: astore 14 /* e1 */
        start local 14 // com.microsoft.sqlserver.jdbc.SQLServerException e1
       284: .line 693
            new java.text.MessageFormat
            dup
            ldc "R_failedToEnlist"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 15 /* form */
        start local 15 // java.text.MessageFormat form
       285: .line 694
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 14 /* e1 */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerException.getMessage:()Ljava/lang/String;
            aastore
            astore 16 /* msgArgs */
        start local 16 // java.lang.Object[] msgArgs
       286: .line 695
            aconst_null
            aconst_null
            aload 15 /* form */
            aload 16 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_1
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
        end local 16 // java.lang.Object[] msgArgs
        end local 15 // java.text.MessageFormat form
        end local 14 // com.microsoft.sqlserver.jdbc.SQLServerException e1
        end local 13 // byte[] transactionCookie
       287: .line 699
      StackMap locals:
      StackMap stack:
            iload 1 /* nType */
            iconst_1
            if_icmpne 299
       288: .line 701
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 290
       289: .line 702
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " Begin un-enlist, enlisted count:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.enlistedTransactionCount:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
       290: .line 703
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.JTAUnenlistConnection:()V
       291: .line 704
            aload 0 /* this */
            dup
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.enlistedTransactionCount:I
            iconst_1
            isub
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.enlistedTransactionCount:I
       292: .line 705
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 299
       293: .line 706
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " End un-enlist, enlisted count:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.enlistedTransactionCount:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
       294: .line 707
            goto 299
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerException
       295: astore 13 /* e1 */
        start local 13 // com.microsoft.sqlserver.jdbc.SQLServerException e1
       296: .line 708
            new java.text.MessageFormat
            dup
            ldc "R_failedToUnEnlist"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 14 /* form */
        start local 14 // java.text.MessageFormat form
       297: .line 709
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 13 /* e1 */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerException.getMessage:()Ljava/lang/String;
            aastore
            astore 15 /* msgArgs */
        start local 15 // java.lang.Object[] msgArgs
       298: .line 710
            aconst_null
            aconst_null
            aload 14 /* form */
            aload 15 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_1
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
        end local 15 // java.lang.Object[] msgArgs
        end local 14 // java.text.MessageFormat form
        end local 13 // com.microsoft.sqlserver.jdbc.SQLServerException e1
       299: .line 713
      StackMap locals:
      StackMap stack:
            iload 1 /* nType */
            bipush 6
            if_icmpne 315
       300: .line 717
            aload 10 /* returnStatus */
            aload 11 /* cs */
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.getBytes:(I)[B
            putfield com.microsoft.sqlserver.jdbc.XAReturnValue.bData:[B
       301: .line 718
            goto 315
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerException
       302: astore 13 /* e1 */
        start local 13 // com.microsoft.sqlserver.jdbc.SQLServerException e1
       303: .line 719
            new java.text.MessageFormat
            dup
       304: .line 720
            ldc "R_failedToReadRecoveryXIDs"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
       305: .line 719
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 14 /* form */
        start local 14 // java.text.MessageFormat form
       306: .line 721
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 13 /* e1 */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerException.getMessage:()Ljava/lang/String;
            aastore
            astore 15 /* msgArgs */
        start local 15 // java.lang.Object[] msgArgs
       307: .line 722
            aconst_null
            aconst_null
            aload 14 /* form */
            aload 15 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_1
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
        end local 15 // java.lang.Object[] msgArgs
        end local 14 // java.text.MessageFormat form
        end local 13 // com.microsoft.sqlserver.jdbc.SQLServerException e1
        end local 12 // java.lang.String sErr
       308: .line 726
            goto 315
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerXAResource int javax.transaction.xa.Xid int int byte[] byte[] java.lang.String int int com.microsoft.sqlserver.jdbc.XAReturnValue com.microsoft.sqlserver.jdbc.SQLServerCallableStatement
      StackMap stack: java.sql.SQLException
       309: astore 12 /* ex */
        start local 12 // java.sql.SQLException ex
       310: .line 727
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 312
       311: .line 728
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " exception:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 12 /* ex */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
       312: .line 729
      StackMap locals: java.sql.SQLException
      StackMap stack:
            new javax.transaction.xa.XAException
            dup
            aload 12 /* ex */
            invokevirtual java.sql.SQLException.toString:()Ljava/lang/String;
            invokespecial javax.transaction.xa.XAException.<init>:(Ljava/lang/String;)V
            astore 13 /* e */
        start local 13 // javax.transaction.xa.XAException e
       313: .line 730
            aload 13 /* e */
            bipush -3
            putfield javax.transaction.xa.XAException.errorCode:I
       314: .line 731
            aload 13 /* e */
            athrow
        end local 13 // javax.transaction.xa.XAException e
        end local 12 // java.sql.SQLException ex
       315: .line 734
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 317
       316: .line 735
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " Status:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 9 /* nStatus */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
       317: .line 737
      StackMap locals:
      StackMap stack:
            aload 10 /* returnStatus */
            iload 9 /* nStatus */
            putfield com.microsoft.sqlserver.jdbc.XAReturnValue.nStatus:I
       318: .line 738
            aload 10 /* returnStatus */
            areturn
        end local 11 // com.microsoft.sqlserver.jdbc.SQLServerCallableStatement cs
        end local 10 // com.microsoft.sqlserver.jdbc.XAReturnValue returnStatus
        end local 9 // int nStatus
        end local 8 // int n
        end local 7 // java.lang.String sContext
        end local 6 // byte[] bid
        end local 5 // byte[] gid
        end local 4 // int formatId
        end local 3 // int xaFlags
        end local 2 // javax.transaction.xa.Xid xid
        end local 1 // int nType
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0  319     0                this  Lcom/microsoft/sqlserver/jdbc/SQLServerXAResource;
            0  319     1               nType  I
            0  319     2                 xid  Ljavax/transaction/xa/Xid;
            0  319     3             xaFlags  I
            5  319     4            formatId  I
            6  319     5                 gid  [B
            7  319     6                 bid  [B
           12  319     7            sContext  Ljava/lang/String;
           13  319     8                   n  I
           14  319     9             nStatus  I
           15  319    10        returnStatus  Lcom/microsoft/sqlserver/jdbc/XAReturnValue;
           16  319    11                  cs  Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
           20   65    14              initCS  Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
           29   40    15                  eX  Lcom/microsoft/sqlserver/jdbc/SQLServerException;
           33   37    16                  e3  Ljava/sql/SQLException;
           41   46    15                  e4  Ljava/sql/SQLTimeoutException;
           47   65    15          initStatus  I
           48   65    16             initErr  Ljava/lang/String;
           49   65    17  versionNumberXADLL  Ljava/lang/String;
           59   65    18                form  Ljava/text/MessageFormat;
           60   65    19             msgArgs  [Ljava/lang/Object;
           61   65    20                 xex  Ljavax/transaction/xa/XAException;
           70   77    13                  e1  Lcom/microsoft/sqlserver/jdbc/SQLServerException;
           73   77    14                form  Ljava/text/MessageFormat;
           74   77    15             msgArgs  [Ljava/lang/Object;
           85  127    12               query  Ljava/lang/String;
           87  118    15                stmt  Ljava/sql/Statement;
           88  113    16                  rs  Ljava/sql/ResultSet;
           91  111    17             edition  Ljava/lang/String;
          104  111    18           buildInfo  Ljava/lang/String;
          123  127    13                   e  Ljava/lang/Exception;
          212  308    12                sErr  Ljava/lang/String;
          214  225    13  versionNumberXADLL  Ljava/lang/String;
          218  225    14              strBuf  Ljava/lang/StringBuffer;
          229  236    13              strBuf  Ljava/lang/StringBuffer;
          246  261    13                form  Ljava/text/MessageFormat;
          247  261    14             msgArgs  [Ljava/lang/Object;
          248  261    15                   e  Ljavax/transaction/xa/XAException;
          258  260    16                  e1  Lcom/microsoft/sqlserver/jdbc/SQLServerException;
          263  287    13   transactionCookie  [B
          267  269    14                form  Ljava/text/MessageFormat;
          268  269    15             msgArgs  [Ljava/lang/Object;
          284  287    14                  e1  Lcom/microsoft/sqlserver/jdbc/SQLServerException;
          285  287    15                form  Ljava/text/MessageFormat;
          286  287    16             msgArgs  [Ljava/lang/Object;
          296  299    13                  e1  Lcom/microsoft/sqlserver/jdbc/SQLServerException;
          297  299    14                form  Ljava/text/MessageFormat;
          298  299    15             msgArgs  [Ljava/lang/Object;
          303  308    13                  e1  Lcom/microsoft/sqlserver/jdbc/SQLServerException;
          306  308    14                form  Ljava/text/MessageFormat;
          307  308    15             msgArgs  [Ljava/lang/Object;
          310  315    12                  ex  Ljava/sql/SQLException;
          313  315    13                   e  Ljavax/transaction/xa/XAException;
      Exception table:
        from    to  target  type
          26    27      28  Class com.microsoft.sqlserver.jdbc.SQLServerException
          29    31      32  Class java.sql.SQLException
          26    27      40  Class java.sql.SQLTimeoutException
          19    66      67  any
          67    68      67  any
          18    69      69  Class com.microsoft.sqlserver.jdbc.SQLServerException
          17    79      80  any
          80    81      80  any
          88   111     112  any
          87   114     115  any
          86   119     119  any
          85   122     122  Class java.lang.Exception
         250   256     257  Class com.microsoft.sqlserver.jdbc.SQLServerException
         270   282     283  Class com.microsoft.sqlserver.jdbc.SQLServerException
         288   294     295  Class com.microsoft.sqlserver.jdbc.SQLServerException
         300   301     302  Class com.microsoft.sqlserver.jdbc.SQLServerException
          16   240     309  Class com.microsoft.sqlserver.jdbc.SQLServerException
         241   308     309  Class com.microsoft.sqlserver.jdbc.SQLServerException
          16   240     309  Class java.sql.SQLTimeoutException
         241   308     309  Class java.sql.SQLTimeoutException
    Exceptions:
      throws javax.transaction.xa.XAException
    MethodParameters:
         Name  Flags
      nType    
      xid      
      xaFlags  

  public void start(javax.transaction.xa.Xid, int);
    descriptor: (Ljavax/transaction/xa/Xid;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
        start local 1 // javax.transaction.xa.Xid xid
        start local 2 // int flags
         0: .line 762
            aload 0 /* this */
            iload 2 /* flags */
            ldc 32768
            iand
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.tightlyCoupled:I
         1: .line 763
            aload 0 /* this */
            iconst_0
            aload 1 /* xid */
            iload 2 /* flags */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.DTC_XA_Interface:(ILjavax/transaction/xa/Xid;I)Lcom/microsoft/sqlserver/jdbc/XAReturnValue;
            pop
         2: .line 764
            return
        end local 2 // int flags
        end local 1 // javax.transaction.xa.Xid xid
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/microsoft/sqlserver/jdbc/SQLServerXAResource;
            0    3     1    xid  Ljavax/transaction/xa/Xid;
            0    3     2  flags  I
    Exceptions:
      throws javax.transaction.xa.XAException
    MethodParameters:
       Name  Flags
      xid    
      flags  

  public void end(javax.transaction.xa.Xid, int);
    descriptor: (Ljavax/transaction/xa/Xid;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
        start local 1 // javax.transaction.xa.Xid xid
        start local 2 // int flags
         0: .line 778
            aload 0 /* this */
            iconst_1
            aload 1 /* xid */
            iload 2 /* flags */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.tightlyCoupled:I
            ior
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.DTC_XA_Interface:(ILjavax/transaction/xa/Xid;I)Lcom/microsoft/sqlserver/jdbc/XAReturnValue;
            pop
         1: .line 779
            return
        end local 2 // int flags
        end local 1 // javax.transaction.xa.Xid xid
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/microsoft/sqlserver/jdbc/SQLServerXAResource;
            0    2     1    xid  Ljavax/transaction/xa/Xid;
            0    2     2  flags  I
    Exceptions:
      throws javax.transaction.xa.XAException
    MethodParameters:
       Name  Flags
      xid    
      flags  

  public int prepare(javax.transaction.xa.Xid);
    descriptor: (Ljavax/transaction/xa/Xid;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
        start local 1 // javax.transaction.xa.Xid xid
         0: .line 789
            iconst_0
            istore 2 /* nStatus */
        start local 2 // int nStatus
         1: .line 790
            aload 0 /* this */
            iconst_2
            aload 1 /* xid */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.tightlyCoupled:I
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.DTC_XA_Interface:(ILjavax/transaction/xa/Xid;I)Lcom/microsoft/sqlserver/jdbc/XAReturnValue;
            astore 3 /* r */
        start local 3 // com.microsoft.sqlserver.jdbc.XAReturnValue r
         2: .line 791
            aload 3 /* r */
            getfield com.microsoft.sqlserver.jdbc.XAReturnValue.nStatus:I
            istore 2 /* nStatus */
         3: .line 793
            iload 2 /* nStatus */
            ireturn
        end local 3 // com.microsoft.sqlserver.jdbc.XAReturnValue r
        end local 2 // int nStatus
        end local 1 // javax.transaction.xa.Xid xid
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lcom/microsoft/sqlserver/jdbc/SQLServerXAResource;
            0    4     1      xid  Ljavax/transaction/xa/Xid;
            1    4     2  nStatus  I
            2    4     3        r  Lcom/microsoft/sqlserver/jdbc/XAReturnValue;
    Exceptions:
      throws javax.transaction.xa.XAException
    MethodParameters:
      Name  Flags
      xid   

  public void commit(javax.transaction.xa.Xid, boolean);
    descriptor: (Ljavax/transaction/xa/Xid;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
        start local 1 // javax.transaction.xa.Xid xid
        start local 2 // boolean onePhase
         0: .line 798
            aload 0 /* this */
            iconst_3
            aload 1 /* xid */
            iload 2 /* onePhase */
            ifeq 1
            ldc 1073741824
            goto 2
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerXAResource javax.transaction.xa.Xid int
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerXAResource int javax.transaction.xa.Xid
         1: iconst_0
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerXAResource javax.transaction.xa.Xid int
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerXAResource int javax.transaction.xa.Xid int
         2: aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.tightlyCoupled:I
            ior
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.DTC_XA_Interface:(ILjavax/transaction/xa/Xid;I)Lcom/microsoft/sqlserver/jdbc/XAReturnValue;
            pop
         3: .line 799
            return
        end local 2 // boolean onePhase
        end local 1 // javax.transaction.xa.Xid xid
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/microsoft/sqlserver/jdbc/SQLServerXAResource;
            0    4     1       xid  Ljavax/transaction/xa/Xid;
            0    4     2  onePhase  Z
    Exceptions:
      throws javax.transaction.xa.XAException
    MethodParameters:
          Name  Flags
      xid       
      onePhase  

  public void rollback(javax.transaction.xa.Xid);
    descriptor: (Ljavax/transaction/xa/Xid;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
        start local 1 // javax.transaction.xa.Xid xid
         0: .line 803
            aload 0 /* this */
            iconst_4
            aload 1 /* xid */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.tightlyCoupled:I
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.DTC_XA_Interface:(ILjavax/transaction/xa/Xid;I)Lcom/microsoft/sqlserver/jdbc/XAReturnValue;
            pop
         1: .line 804
            return
        end local 1 // javax.transaction.xa.Xid xid
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerXAResource;
            0    2     1   xid  Ljavax/transaction/xa/Xid;
    Exceptions:
      throws javax.transaction.xa.XAException
    MethodParameters:
      Name  Flags
      xid   

  public void forget(javax.transaction.xa.Xid);
    descriptor: (Ljavax/transaction/xa/Xid;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
        start local 1 // javax.transaction.xa.Xid xid
         0: .line 808
            aload 0 /* this */
            iconst_5
            aload 1 /* xid */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.tightlyCoupled:I
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.DTC_XA_Interface:(ILjavax/transaction/xa/Xid;I)Lcom/microsoft/sqlserver/jdbc/XAReturnValue;
            pop
         1: .line 809
            return
        end local 1 // javax.transaction.xa.Xid xid
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerXAResource;
            0    2     1   xid  Ljavax/transaction/xa/Xid;
    Exceptions:
      throws javax.transaction.xa.XAException
    MethodParameters:
      Name  Flags
      xid   

  public javax.transaction.xa.Xid[] recover(int);
    descriptor: (I)[Ljavax/transaction/xa/Xid;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=12, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
        start local 1 // int flags
         0: .line 813
            aload 0 /* this */
            bipush 6
            aconst_null
            iload 1 /* flags */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.tightlyCoupled:I
            ior
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.DTC_XA_Interface:(ILjavax/transaction/xa/Xid;I)Lcom/microsoft/sqlserver/jdbc/XAReturnValue;
            astore 2 /* r */
        start local 2 // com.microsoft.sqlserver.jdbc.XAReturnValue r
         1: .line 814
            iconst_0
            istore 3 /* offset */
        start local 3 // int offset
         2: .line 815
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* al */
        start local 4 // java.util.ArrayList al
         3: .line 826
            aload 2 /* r */
            getfield com.microsoft.sqlserver.jdbc.XAReturnValue.bData:[B
            ifnonnull 35
         4: .line 827
            iconst_0
            anewarray com.microsoft.sqlserver.jdbc.XidImpl
            areturn
         5: .line 830
      StackMap locals: com.microsoft.sqlserver.jdbc.XAReturnValue int java.util.ArrayList
      StackMap stack:
            iconst_1
            istore 5 /* power */
        start local 5 // int power
         6: .line 831
            iconst_0
            istore 6 /* formatId */
        start local 6 // int formatId
         7: .line 832
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         8: goto 14
         9: .line 833
      StackMap locals: int int int
      StackMap stack:
            aload 2 /* r */
            getfield com.microsoft.sqlserver.jdbc.XAReturnValue.bData:[B
            iload 3 /* offset */
            iload 7 /* i */
            iadd
            baload
            sipush 255
            iand
            istore 8 /* x */
        start local 8 // int x
        10: .line 834
            iload 8 /* x */
            iload 5 /* power */
            imul
            istore 8 /* x */
        11: .line 835
            iload 6 /* formatId */
            iload 8 /* x */
            iadd
            istore 6 /* formatId */
        12: .line 836
            iload 5 /* power */
            sipush 256
            imul
            istore 5 /* power */
        end local 8 // int x
        13: .line 832
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 7 /* i */
            iconst_4
            if_icmplt 9
        end local 7 // int i
        15: .line 840
            iinc 3 /* offset */ 4
        16: .line 841
            aload 2 /* r */
            getfield com.microsoft.sqlserver.jdbc.XAReturnValue.bData:[B
            iload 3 /* offset */
            iinc 3 /* offset */ 1
            baload
            sipush 255
            iand
            istore 7 /* gid_len */
        start local 7 // int gid_len
        17: .line 842
            aload 2 /* r */
            getfield com.microsoft.sqlserver.jdbc.XAReturnValue.bData:[B
            iload 3 /* offset */
            iinc 3 /* offset */ 1
            baload
            sipush 255
            iand
            istore 8 /* bid_len */
        start local 8 // int bid_len
        18: .line 843
            iload 7 /* gid_len */
            newarray 8
            astore 9 /* gid */
        start local 9 // byte[] gid
        19: .line 844
            iload 8 /* bid_len */
            newarray 8
            astore 10 /* bid */
        start local 10 // byte[] bid
        20: .line 845
            aload 2 /* r */
            getfield com.microsoft.sqlserver.jdbc.XAReturnValue.bData:[B
            iload 3 /* offset */
            aload 9 /* gid */
            iconst_0
            iload 7 /* gid_len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        21: .line 846
            iload 3 /* offset */
            iload 7 /* gid_len */
            iadd
            istore 3 /* offset */
        22: .line 847
            aload 2 /* r */
            getfield com.microsoft.sqlserver.jdbc.XAReturnValue.bData:[B
            iload 3 /* offset */
            aload 10 /* bid */
            iconst_0
            iload 8 /* bid_len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        23: .line 848
            iload 3 /* offset */
            iload 8 /* bid_len */
            iadd
            istore 3 /* offset */
        24: .line 849
            new com.microsoft.sqlserver.jdbc.XidImpl
            dup
            iload 6 /* formatId */
            aload 9 /* gid */
            aload 10 /* bid */
            invokespecial com.microsoft.sqlserver.jdbc.XidImpl.<init>:(I[B[B)V
            astore 11 /* xid */
        start local 11 // com.microsoft.sqlserver.jdbc.XidImpl xid
        25: .line 850
            aload 4 /* al */
            aload 11 /* xid */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // com.microsoft.sqlserver.jdbc.XidImpl xid
        end local 10 // byte[] bid
        end local 9 // byte[] gid
        end local 8 // int bid_len
        end local 7 // int gid_len
        26: .line 851
            goto 35
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerXAResource int com.microsoft.sqlserver.jdbc.XAReturnValue int java.util.ArrayList int int
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
        27: pop
        28: .line 852
            new java.text.MessageFormat
            dup
            ldc "R_indexOutOfRange"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 7 /* form */
        start local 7 // java.text.MessageFormat form
        29: .line 853
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 3 /* offset */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            astore 8 /* msgArgs */
        start local 8 // java.lang.Object[] msgArgs
        30: .line 854
            new javax.transaction.xa.XAException
            dup
            aload 7 /* form */
            aload 8 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial javax.transaction.xa.XAException.<init>:(Ljava/lang/String;)V
            astore 9 /* xex */
        start local 9 // javax.transaction.xa.XAException xex
        31: .line 855
            aload 9 /* xex */
            bipush -3
            putfield javax.transaction.xa.XAException.errorCode:I
        32: .line 856
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 34
        33: .line 857
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " exception:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 9 /* xex */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
        34: .line 858
      StackMap locals: java.text.MessageFormat java.lang.Object[] javax.transaction.xa.XAException
      StackMap stack:
            aload 9 /* xex */
            athrow
        end local 9 // javax.transaction.xa.XAException xex
        end local 8 // java.lang.Object[] msgArgs
        end local 7 // java.text.MessageFormat form
        end local 6 // int formatId
        end local 5 // int power
        35: .line 829
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerXAResource int com.microsoft.sqlserver.jdbc.XAReturnValue int java.util.ArrayList
      StackMap stack:
            iload 3 /* offset */
            aload 2 /* r */
            getfield com.microsoft.sqlserver.jdbc.XAReturnValue.bData:[B
            arraylength
            if_icmplt 5
        36: .line 862
            aload 4 /* al */
            invokevirtual java.util.ArrayList.size:()I
            anewarray com.microsoft.sqlserver.jdbc.XidImpl
            astore 5 /* xids */
        start local 5 // com.microsoft.sqlserver.jdbc.XidImpl[] xids
        37: .line 863
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        38: goto 43
        39: .line 864
      StackMap locals: com.microsoft.sqlserver.jdbc.XidImpl[] int
      StackMap stack:
            aload 5 /* xids */
            iload 6 /* i */
            aload 4 /* al */
            iload 6 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.XidImpl
            aastore
        40: .line 865
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 42
        41: .line 866
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* xids */
            iload 6 /* i */
            aaload
            invokevirtual com.microsoft.sqlserver.jdbc.XidImpl.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
        42: .line 863
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        43: iload 6 /* i */
            aload 4 /* al */
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 39
        end local 6 // int i
        44: .line 868
            aload 5 /* xids */
            areturn
        end local 5 // com.microsoft.sqlserver.jdbc.XidImpl[] xids
        end local 4 // java.util.ArrayList al
        end local 3 // int offset
        end local 2 // com.microsoft.sqlserver.jdbc.XAReturnValue r
        end local 1 // int flags
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   45     0      this  Lcom/microsoft/sqlserver/jdbc/SQLServerXAResource;
            0   45     1     flags  I
            1   45     2         r  Lcom/microsoft/sqlserver/jdbc/XAReturnValue;
            2   45     3    offset  I
            3   45     4        al  Ljava/util/ArrayList<Lcom/microsoft/sqlserver/jdbc/XidImpl;>;
            6   35     5     power  I
            7   35     6  formatId  I
            8   15     7         i  I
           10   13     8         x  I
           17   26     7   gid_len  I
           18   26     8   bid_len  I
           19   26     9       gid  [B
           20   26    10       bid  [B
           25   26    11       xid  Lcom/microsoft/sqlserver/jdbc/XidImpl;
           29   35     7      form  Ljava/text/MessageFormat;
           30   35     8   msgArgs  [Ljava/lang/Object;
           31   35     9       xex  Ljavax/transaction/xa/XAException;
           37   45     5      xids  [Lcom/microsoft/sqlserver/jdbc/XidImpl;
           38   44     6         i  I
      Exception table:
        from    to  target  type
          15    26      27  Class java.lang.ArrayIndexOutOfBoundsException
    Exceptions:
      throws javax.transaction.xa.XAException
    MethodParameters:
       Name  Flags
      flags  

  public boolean isSameRM(javax.transaction.xa.XAResource);
    descriptor: (Ljavax/transaction/xa/XAResource;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
        start local 1 // javax.transaction.xa.XAResource xares
         0: .line 875
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 2
         1: .line 876
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " xares:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* xares */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
         2: .line 879
      StackMap locals:
      StackMap stack:
            aload 1 /* xares */
            instanceof com.microsoft.sqlserver.jdbc.SQLServerXAResource
            ifne 4
         3: .line 880
            iconst_0
            ireturn
         4: .line 881
      StackMap locals:
      StackMap stack:
            aload 1 /* xares */
            checkcast com.microsoft.sqlserver.jdbc.SQLServerXAResource
            astore 2 /* jxa */
        start local 2 // com.microsoft.sqlserver.jdbc.SQLServerXAResource jxa
         5: .line 882
            aload 2 /* jxa */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.sResourceManagerId:Ljava/lang/String;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.sResourceManagerId:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 2 // com.microsoft.sqlserver.jdbc.SQLServerXAResource jxa
        end local 1 // javax.transaction.xa.XAResource xares
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lcom/microsoft/sqlserver/jdbc/SQLServerXAResource;
            0    6     1  xares  Ljavax/transaction/xa/XAResource;
            5    6     2    jxa  Lcom/microsoft/sqlserver/jdbc/SQLServerXAResource;
    Exceptions:
      throws javax.transaction.xa.XAException
    MethodParameters:
       Name  Flags
      xares  

  public boolean setTransactionTimeout(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
        start local 1 // int seconds
         0: .line 888
            aload 0 /* this */
            iconst_1
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.isTransacrionTimeoutSet:I
         1: .line 889
            aload 0 /* this */
            iload 1 /* seconds */
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.timeoutSeconds:I
         2: .line 890
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 4
         3: .line 891
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " TransactionTimeout:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* seconds */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
         4: .line 892
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // int seconds
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lcom/microsoft/sqlserver/jdbc/SQLServerXAResource;
            0    5     1  seconds  I
    Exceptions:
      throws javax.transaction.xa.XAException
    MethodParameters:
         Name  Flags
      seconds  

  public int getTransactionTimeout();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
         0: .line 897
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.timeoutSeconds:I
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerXAResource;
    Exceptions:
      throws javax.transaction.xa.XAException

  private static int nextResourceID();
    descriptor: ()I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 902
            getstatic com.microsoft.sqlserver.jdbc.SQLServerXAResource.baseResourceID:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "SQLServerXAResource.java"