final class com.microsoft.sqlserver.jdbc.TDSWriter
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.microsoft.sqlserver.jdbc.TDSWriter
  super_class: java.lang.Object
{
  private static java.util.logging.Logger logger;
    descriptor: Ljava/util/logging/Logger;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

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

  private final com.microsoft.sqlserver.jdbc.TDSChannel tdsChannel;
    descriptor: Lcom/microsoft/sqlserver/jdbc/TDSChannel;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.microsoft.sqlserver.jdbc.SQLServerConnection con;
    descriptor: Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private byte tdsMessageType;
    descriptor: B
    flags: (0x0002) ACC_PRIVATE

  private volatile int sendResetConnection;
    descriptor: I
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

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

  private static final int TDS_PACKET_HEADER_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final byte[] placeholderHeader;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private byte[] valueBytes;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

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

  private static final int BYTES4;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final int BYTES8;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final int BYTES12;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 12

  private static final int BYTES16;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

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

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

  private java.nio.ByteBuffer stagingBuffer;
    descriptor: Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE

  private java.nio.ByteBuffer socketBuffer;
    descriptor: Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE

  private java.nio.ByteBuffer logBuffer;
    descriptor: Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE

  private char[] streamCharBuffer;
    descriptor: [C
    flags: (0x0002) ACC_PRIVATE

  private byte[] streamByteBuffer;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

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

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

  private static volatile int[] $SWITCH_TABLE$com$microsoft$sqlserver$jdbc$JDBCType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 3075
            ldc Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            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.TDSWriter.$assertionsDisabled:Z
         3: .line 3076
            ldc "com.microsoft.sqlserver.jdbc.internals.TDS.Writer"
            invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
            putstatic com.microsoft.sqlserver.jdbc.TDSWriter.logger:Ljava/util/logging/Logger;
         4: .line 3123
            bipush 8
            newarray 8
            putstatic com.microsoft.sqlserver.jdbc.TDSWriter.placeholderHeader:[B
         5: .line 3138
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

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

  void setDataLoggable(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // boolean value
         0: .line 3093
            aload 0 /* this */
            iload 1 /* value */
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.dataIsLoggable:Z
         1: .line 3094
            return
        end local 1 // boolean value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0    2     1  value  Z
    MethodParameters:
       Name  Flags
      value  

  com.microsoft.sqlserver.jdbc.SharedTimer getSharedTimer();
    descriptor: ()Lcom/microsoft/sqlserver/jdbc/SharedTimer;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
         0: .line 3097
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getSharedTimer:()Lcom/microsoft/sqlserver/jdbc/SharedTimer;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  boolean isEOMSent();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
         0: .line 3146
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.isEOMSent:Z
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;

  void <init>(com.microsoft.sqlserver.jdbc.TDSChannel, com.microsoft.sqlserver.jdbc.SQLServerConnection);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/TDSChannel;Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // com.microsoft.sqlserver.jdbc.TDSChannel tdsChannel
        start local 2 // com.microsoft.sqlserver.jdbc.SQLServerConnection con
         0: .line 3161
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 3090
            aload 0 /* this */
            iconst_1
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.dataIsLoggable:Z
         2: .line 3100
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
         3: .line 3107
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.sendResetConnection:I
         4: .line 3113
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.currentPacketSize:I
         5: .line 3128
            aload 0 /* this */
            sipush 256
            newarray 8
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.valueBytes:[B
         6: .line 3131
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.packetNum:I
         7: .line 3143
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.isEOMSent:Z
         8: .line 3159
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
         9: .line 3162
            aload 0 /* this */
            aload 1 /* tdsChannel */
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
        10: .line 3163
            aload 0 /* this */
            aload 2 /* con */
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
        11: .line 3164
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "TDSWriter@"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.Object.hashCode:()I
            invokestatic java.lang.Integer.toHexString:(I)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;
            aload 2 /* con */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.toString:()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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.traceID:Ljava/lang/String;
        12: .line 3165
            return
        end local 2 // com.microsoft.sqlserver.jdbc.SQLServerConnection con
        end local 1 // com.microsoft.sqlserver.jdbc.TDSChannel tdsChannel
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   13     1  tdsChannel  Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            0   13     2         con  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
    MethodParameters:
            Name  Flags
      tdsChannel  
      con         

  boolean checkIfTdsMessageTypeIsBatchOrRPC();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
         0: .line 3173
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsMessageType:B
            iconst_1
            if_icmpeq 1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsMessageType:B
            iconst_3
            if_icmpeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;

  void preparePacket();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
         0: .line 3179
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.isLoggingPackets:()Z
            ifeq 3
         1: .line 3180
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.array:()[B
            bipush -2
            invokestatic java.util.Arrays.fill:([BB)V
         2: .line 3181
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.clear:()Ljava/nio/Buffer;
            pop
         3: .line 3186
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.placeholderHeader:[B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
         4: .line 3187
            return
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  void writeMessageHeader();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
         0: .line 3196
            iconst_1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsMessageType:B
            if_icmpeq 1
            bipush 14
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsMessageType:B
            if_icmpeq 1
            iconst_3
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsMessageType:B
            if_icmpne 17
         1: .line 3197
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* includeTraceHeader */
        start local 1 // boolean includeTraceHeader
         2: .line 3198
            bipush 22
            istore 2 /* totalHeaderLength */
        start local 2 // int totalHeaderLength
         3: .line 3199
            iconst_1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsMessageType:B
            if_icmpeq 4
            iconst_3
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsMessageType:B
            if_icmpne 8
         4: .line 3200
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isDenaliOrLater:()Z
            ifeq 8
            invokestatic com.microsoft.sqlserver.jdbc.Util.isActivityTraceOn:()Z
            ifeq 8
         5: .line 3201
            invokestatic com.microsoft.sqlserver.jdbc.ActivityCorrelator.getCurrent:()Lcom/microsoft/sqlserver/jdbc/ActivityId;
            invokevirtual com.microsoft.sqlserver.jdbc.ActivityId.isSentToServer:()Z
            ifne 8
         6: .line 3202
            iconst_1
            istore 1 /* includeTraceHeader */
         7: .line 3203
            iinc 2 /* totalHeaderLength */ 26
         8: .line 3206
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* totalHeaderLength */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
         9: .line 3207
            aload 0 /* this */
            bipush 18
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        10: .line 3208
            aload 0 /* this */
            iconst_2
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        11: .line 3209
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getTransactionDescriptor:()[B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
        12: .line 3210
            aload 0 /* this */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        13: .line 3211
            iload 1 /* includeTraceHeader */
            ifeq 17
        14: .line 3212
            aload 0 /* this */
            bipush 26
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        15: .line 3213
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeTraceHeaderData:()V
        16: .line 3214
            invokestatic com.microsoft.sqlserver.jdbc.ActivityCorrelator.setCurrentActivityIdSentFlag:()V
        end local 2 // int totalHeaderLength
        end local 1 // boolean includeTraceHeader
        17: .line 3217
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   18     0                this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            2   17     1  includeTraceHeader  Z
            3   17     2   totalHeaderLength  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  void writeTraceHeaderData();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
         0: .line 3220
            invokestatic com.microsoft.sqlserver.jdbc.ActivityCorrelator.getCurrent:()Lcom/microsoft/sqlserver/jdbc/ActivityId;
            astore 1 /* activityId */
        start local 1 // com.microsoft.sqlserver.jdbc.ActivityId activityId
         1: .line 3221
            aload 1 /* activityId */
            invokevirtual com.microsoft.sqlserver.jdbc.ActivityId.getId:()Ljava/util/UUID;
            invokestatic com.microsoft.sqlserver.jdbc.Util.asGuidByteArray:(Ljava/util/UUID;)[B
            astore 2 /* actIdByteArray */
        start local 2 // byte[] actIdByteArray
         2: .line 3222
            aload 1 /* activityId */
            invokevirtual com.microsoft.sqlserver.jdbc.ActivityId.getSequence:()J
            lstore 3 /* seqNum */
        start local 3 // long seqNum
         3: .line 3223
            aload 0 /* this */
            iconst_3
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
         4: .line 3224
            aload 0 /* this */
            aload 2 /* actIdByteArray */
            iconst_0
            aload 2 /* actIdByteArray */
            arraylength
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([BII)V
         5: .line 3225
            aload 0 /* this */
            lload 3 /* seqNum */
            l2i
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
         6: .line 3227
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.logger: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 8
         7: .line 3228
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.logger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Send Trace Header - ActivityID: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* activityId */
            invokevirtual com.microsoft.sqlserver.jdbc.ActivityId.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
         8: .line 3229
      StackMap locals: com.microsoft.sqlserver.jdbc.ActivityId byte[] long
      StackMap stack:
            return
        end local 3 // long seqNum
        end local 2 // byte[] actIdByteArray
        end local 1 // com.microsoft.sqlserver.jdbc.ActivityId activityId
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            1    9     1      activityId  Lcom/microsoft/sqlserver/jdbc/ActivityId;
            2    9     2  actIdByteArray  [B
            3    9     3          seqNum  J
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  void startMessage(com.microsoft.sqlserver.jdbc.TDSCommand, byte);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/TDSCommand;B)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // com.microsoft.sqlserver.jdbc.TDSCommand command
        start local 2 // byte tdsMessageType
         0: .line 3240
            aload 0 /* this */
            aload 1 /* command */
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.command:Lcom/microsoft/sqlserver/jdbc/TDSCommand;
         1: .line 3241
            aload 0 /* this */
            iload 2 /* tdsMessageType */
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsMessageType:B
         2: .line 3242
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.packetNum:I
         3: .line 3243
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.isEOMSent:Z
         4: .line 3244
            aload 0 /* this */
            iconst_1
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.dataIsLoggable:Z
         5: .line 3249
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getTDSPacketSize:()I
            istore 3 /* negotiatedPacketSize */
        start local 3 // int negotiatedPacketSize
         6: .line 3250
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.currentPacketSize:I
            iload 3 /* negotiatedPacketSize */
            if_icmpeq 13
         7: .line 3251
            aload 0 /* this */
            iload 3 /* negotiatedPacketSize */
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.socketBuffer:Ljava/nio/ByteBuffer;
         8: .line 3252
            aload 0 /* this */
            iload 3 /* negotiatedPacketSize */
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
         9: .line 3253
            aload 0 /* this */
            iload 3 /* negotiatedPacketSize */
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
        10: .line 3254
            aload 0 /* this */
            iload 3 /* negotiatedPacketSize */
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.currentPacketSize:I
        11: .line 3255
            aload 0 /* this */
            iconst_2
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.currentPacketSize:I
            imul
            newarray 5
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.streamCharBuffer:[C
        12: .line 3256
            aload 0 /* this */
            iconst_4
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.currentPacketSize:I
            imul
            newarray 8
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.streamByteBuffer:[B
        13: .line 3259
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.socketBuffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.socketBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.limit:()I
            invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
            pop
        14: .line 3260
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.clear:()Ljava/nio/Buffer;
            pop
        15: .line 3262
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.preparePacket:()V
        16: .line 3263
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeMessageHeader:()V
        17: .line 3264
            return
        end local 3 // int negotiatedPacketSize
        end local 2 // byte tdsMessageType
        end local 1 // com.microsoft.sqlserver.jdbc.TDSCommand command
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   18     0                  this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   18     1               command  Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            0   18     2        tdsMessageType  B
            6   18     3  negotiatedPacketSize  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                Name  Flags
      command         
      tdsMessageType  

  final void endMessage();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
         0: .line 3267
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 2
         1: .line 3268
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.logger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.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 " Finishing TDS message"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finest:(Ljava/lang/String;)V
         2: .line 3269
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writePacket:(I)V
         3: .line 3270
            return
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  final boolean ignoreMessage();
    descriptor: ()Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
         0: .line 3276
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.packetNum:I
            ifgt 1
            bipush 7
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsMessageType:B
            if_icmpne 6
         1: .line 3277
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.isEOMSent:Z
            ifeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 3279
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.logger: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 3280
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.logger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.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 " Finishing TDS message by sending ignore bit and end of message"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finest:(Ljava/lang/String;)V
         4: .line 3281
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_3
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writePacket:(I)V
         5: .line 3282
            iconst_1
            ireturn
         6: .line 3284
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  final void resetPooledConnection();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
         0: .line 3288
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 2
         1: .line 3289
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.logger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.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 " resetPooledConnection"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finest:(Ljava/lang/String;)V
         2: .line 3290
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 8
            putfield com.microsoft.sqlserver.jdbc.TDSWriter.sendResetConnection:I
         3: .line 3291
            return
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;

  void writeByte(byte);
    descriptor: (B)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // byte value
         0: .line 3296
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmplt 7
         1: .line 3297
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            iload 1 /* value */
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
         2: .line 3298
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.isLoggingPackets:()Z
            ifeq 9
         3: .line 3299
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.dataIsLoggable:Z
            ifeq 5
         4: .line 3300
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            iload 1 /* value */
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
            goto 9
         5: .line 3302
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.position:()I
            iconst_1
            iadd
            invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
            pop
         6: .line 3304
            goto 9
         7: .line 3305
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.valueBytes:[B
            iconst_0
            iload 1 /* value */
            bastore
         8: .line 3306
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.valueBytes:[B
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeWrappedBytes:([BI)V
         9: .line 3308
      StackMap locals:
      StackMap stack:
            return
        end local 1 // byte value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   10     1  value  B
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      value  

  void writeCollationForSqlVariant(com.microsoft.sqlserver.jdbc.SqlVariant);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/SqlVariant;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // com.microsoft.sqlserver.jdbc.SqlVariant variantType
         0: .line 3317
            aload 0 /* this */
            aload 1 /* variantType */
            invokevirtual com.microsoft.sqlserver.jdbc.SqlVariant.getCollation:()Lcom/microsoft/sqlserver/jdbc/SQLCollation;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLCollation.getCollationInfo:()I
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
         1: .line 3318
            aload 0 /* this */
            aload 1 /* variantType */
            invokevirtual com.microsoft.sqlserver.jdbc.SqlVariant.getCollation:()Lcom/microsoft/sqlserver/jdbc/SQLCollation;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLCollation.getCollationSortID:()I
            sipush 255
            iand
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         2: .line 3319
            return
        end local 1 // com.microsoft.sqlserver.jdbc.SqlVariant variantType
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0    3     1  variantType  Lcom/microsoft/sqlserver/jdbc/SqlVariant;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
             Name  Flags
      variantType  

  void writeChar(char);
    descriptor: (C)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // char value
         0: .line 3322
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_2
            if_icmplt 7
         1: .line 3323
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            iload 1 /* value */
            invokevirtual java.nio.ByteBuffer.putChar:(C)Ljava/nio/ByteBuffer;
            pop
         2: .line 3324
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.isLoggingPackets:()Z
            ifeq 9
         3: .line 3325
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.dataIsLoggable:Z
            ifeq 5
         4: .line 3326
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            iload 1 /* value */
            invokevirtual java.nio.ByteBuffer.putChar:(C)Ljava/nio/ByteBuffer;
            pop
            goto 9
         5: .line 3328
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.position:()I
            iconst_2
            iadd
            invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
            pop
         6: .line 3330
            goto 9
         7: .line 3331
      StackMap locals:
      StackMap stack:
            iload 1 /* value */
            i2s
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.valueBytes:[B
            iconst_0
            invokestatic com.microsoft.sqlserver.jdbc.Util.writeShort:(S[BI)V
         8: .line 3332
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.valueBytes:[B
            iconst_2
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeWrappedBytes:([BI)V
         9: .line 3334
      StackMap locals:
      StackMap stack:
            return
        end local 1 // char value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   10     1  value  C
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      value  

  void writeShort(short);
    descriptor: (S)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // short value
         0: .line 3337
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_2
            if_icmplt 7
         1: .line 3338
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            iload 1 /* value */
            invokevirtual java.nio.ByteBuffer.putShort:(S)Ljava/nio/ByteBuffer;
            pop
         2: .line 3339
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.isLoggingPackets:()Z
            ifeq 9
         3: .line 3340
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.dataIsLoggable:Z
            ifeq 5
         4: .line 3341
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            iload 1 /* value */
            invokevirtual java.nio.ByteBuffer.putShort:(S)Ljava/nio/ByteBuffer;
            pop
            goto 9
         5: .line 3343
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.position:()I
            iconst_2
            iadd
            invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
            pop
         6: .line 3345
            goto 9
         7: .line 3346
      StackMap locals:
      StackMap stack:
            iload 1 /* value */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.valueBytes:[B
            iconst_0
            invokestatic com.microsoft.sqlserver.jdbc.Util.writeShort:(S[BI)V
         8: .line 3347
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.valueBytes:[B
            iconst_2
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeWrappedBytes:([BI)V
         9: .line 3349
      StackMap locals:
      StackMap stack:
            return
        end local 1 // short value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   10     1  value  S
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      value  

  void writeInt(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // int value
         0: .line 3352
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_4
            if_icmplt 7
         1: .line 3353
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            iload 1 /* value */
            invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
            pop
         2: .line 3354
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.isLoggingPackets:()Z
            ifeq 9
         3: .line 3355
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.dataIsLoggable:Z
            ifeq 5
         4: .line 3356
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            iload 1 /* value */
            invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
            pop
            goto 9
         5: .line 3358
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.position:()I
            iconst_4
            iadd
            invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
            pop
         6: .line 3360
            goto 9
         7: .line 3361
      StackMap locals:
      StackMap stack:
            iload 1 /* value */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.valueBytes:[B
            iconst_0
            invokestatic com.microsoft.sqlserver.jdbc.Util.writeInt:(I[BI)V
         8: .line 3362
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.valueBytes:[B
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeWrappedBytes:([BI)V
         9: .line 3364
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   10     1  value  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      value  

  void writeReal(float);
    descriptor: (F)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // float value
         0: .line 3373
            aload 0 /* this */
            fload 1 /* value */
            invokestatic java.lang.Float.floatToRawIntBits:(F)I
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
         1: .line 3374
            return
        end local 1 // float value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0    2     1  value  F
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      value  

  void writeDouble(double);
    descriptor: (D)V
    flags: (0x0000) 
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // double value
         0: .line 3383
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            bipush 8
            if_icmplt 7
         1: .line 3384
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            dload 1 /* value */
            invokevirtual java.nio.ByteBuffer.putDouble:(D)Ljava/nio/ByteBuffer;
            pop
         2: .line 3385
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.isLoggingPackets:()Z
            ifeq 17
         3: .line 3386
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.dataIsLoggable:Z
            ifeq 5
         4: .line 3387
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            dload 1 /* value */
            invokevirtual java.nio.ByteBuffer.putDouble:(D)Ljava/nio/ByteBuffer;
            pop
            goto 17
         5: .line 3389
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.position:()I
            bipush 8
            iadd
            invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
            pop
         6: .line 3391
            goto 17
         7: .line 3392
      StackMap locals:
      StackMap stack:
            dload 1 /* value */
            invokestatic java.lang.Double.doubleToLongBits:(D)J
            lstore 3 /* bits */
        start local 3 // long bits
         8: .line 3393
            ldc 255
            lstore 5 /* mask */
        start local 5 // long mask
         9: .line 3394
            iconst_0
            istore 7 /* nShift */
        start local 7 // int nShift
        10: .line 3395
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        11: goto 16
        12: .line 3396
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter double long long int int
      StackMap stack:
            aload 0 /* this */
            lload 3 /* bits */
            lload 5 /* mask */
            land
            iload 7 /* nShift */
            lshr
            l2i
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        13: .line 3397
            iinc 7 /* nShift */ 8
        14: .line 3398
            lload 5 /* mask */
            bipush 8
            lshl
            lstore 5 /* mask */
        15: .line 3395
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 8 /* i */
            bipush 8
            if_icmplt 12
        end local 8 // int i
        end local 7 // int nShift
        end local 5 // long mask
        end local 3 // long bits
        17: .line 3401
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter double
      StackMap stack:
            return
        end local 1 // double value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   18     0    this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   18     1   value  D
            8   17     3    bits  J
            9   17     5    mask  J
           10   17     7  nShift  I
           11   17     8       i  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      value  

  void writeBigDecimal(java.math.BigDecimal, int, int, int);
    descriptor: (Ljava/math/BigDecimal;III)V
    flags: (0x0000) 
    Code:
      stack=6, locals=8, args_size=5
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.math.BigDecimal bigDecimalVal
        start local 2 // int srcJdbcType
        start local 3 // int precision
        start local 4 // int scale
         0: .line 3429
            aload 1 /* bigDecimalVal */
            iload 4 /* scale */
            getstatic java.math.RoundingMode.HALF_UP:Ljava/math/RoundingMode;
            invokevirtual java.math.BigDecimal.setScale:(ILjava/math/RoundingMode;)Ljava/math/BigDecimal;
            astore 1 /* bigDecimalVal */
         1: .line 3432
            bipush 17
            istore 5 /* bLength */
        start local 5 // int bLength
         2: .line 3433
            aload 0 /* this */
            iload 5 /* bLength */
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         3: .line 3436
            iload 5 /* bLength */
            newarray 8
            astore 6 /* bytes */
        start local 6 // byte[] bytes
         4: .line 3438
            aload 1 /* bigDecimalVal */
            iload 4 /* scale */
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertBigDecimalToBytes:(Ljava/math/BigDecimal;I)[B
            astore 7 /* valueBytes */
        start local 7 // byte[] valueBytes
         5: .line 3440
            aload 7 /* valueBytes */
            iconst_2
            aload 6 /* bytes */
            iconst_0
            aload 7 /* valueBytes */
            arraylength
            iconst_2
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 3441
            aload 0 /* this */
            aload 6 /* bytes */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
         7: .line 3442
            return
        end local 7 // byte[] valueBytes
        end local 6 // byte[] bytes
        end local 5 // int bLength
        end local 4 // int scale
        end local 3 // int precision
        end local 2 // int srcJdbcType
        end local 1 // java.math.BigDecimal bigDecimalVal
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0    8     1  bigDecimalVal  Ljava/math/BigDecimal;
            0    8     2    srcJdbcType  I
            0    8     3      precision  I
            0    8     4          scale  I
            2    8     5        bLength  I
            4    8     6          bytes  [B
            5    8     7     valueBytes  [B
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
               Name  Flags
      bigDecimalVal  
      srcJdbcType    
      precision      
      scale          

  void writeMoney(java.math.BigDecimal, int);
    descriptor: (Ljava/math/BigDecimal;I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.math.BigDecimal moneyVal
        start local 2 // int srcJdbcType
         0: .line 3454
            aload 1 /* moneyVal */
            iconst_4
            getstatic java.math.RoundingMode.HALF_UP:Ljava/math/RoundingMode;
            invokevirtual java.math.BigDecimal.setScale:(ILjava/math/RoundingMode;)Ljava/math/BigDecimal;
            astore 1 /* moneyVal */
         1: .line 3459
            iload 2 /* srcJdbcType */
            sipush -148
            if_icmpne 2
            bipush 8
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_4
      StackMap locals:
      StackMap stack: int
         3: istore 3 /* bLength */
        start local 3 // int bLength
         4: .line 3460
            aload 0 /* this */
            iload 3 /* bLength */
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         5: .line 3462
            aload 1 /* moneyVal */
            iload 3 /* bLength */
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertMoneyToBytes:(Ljava/math/BigDecimal;I)[B
            astore 4 /* valueBytes */
        start local 4 // byte[] valueBytes
         6: .line 3463
            aload 0 /* this */
            aload 4 /* valueBytes */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
         7: .line 3464
            return
        end local 4 // byte[] valueBytes
        end local 3 // int bLength
        end local 2 // int srcJdbcType
        end local 1 // java.math.BigDecimal moneyVal
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0    8     1     moneyVal  Ljava/math/BigDecimal;
            0    8     2  srcJdbcType  I
            4    8     3      bLength  I
            6    8     4   valueBytes  [B
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
             Name  Flags
      moneyVal     
      srcJdbcType  

  void writeSqlVariantInternalBigDecimal(java.math.BigDecimal, int);
    descriptor: (Ljava/math/BigDecimal;I)V
    flags: (0x0000) 
    Code:
      stack=6, locals=11, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.math.BigDecimal bigDecimalVal
        start local 2 // int srcJdbcType
         0: .line 3482
            aload 1 /* bigDecimalVal */
            invokevirtual java.math.BigDecimal.signum:()I
            ifge 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 3 /* isNegative */
        start local 3 // boolean isNegative
         3: .line 3483
            aload 1 /* bigDecimalVal */
            invokevirtual java.math.BigDecimal.unscaledValue:()Ljava/math/BigInteger;
            astore 4 /* bi */
        start local 4 // java.math.BigInteger bi
         4: .line 3484
            iload 3 /* isNegative */
            ifeq 6
         5: .line 3485
            aload 4 /* bi */
            invokevirtual java.math.BigInteger.negate:()Ljava/math/BigInteger;
            astore 4 /* bi */
         6: .line 3488
      StackMap locals: int java.math.BigInteger
      StackMap stack:
            bipush 16
            istore 5 /* bLength */
        start local 5 // int bLength
         7: .line 3490
            aload 0 /* this */
            iload 3 /* isNegative */
            ifeq 8
            iconst_0
            goto 9
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.math.BigDecimal int int java.math.BigInteger int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter
         8: iconst_1
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.math.BigDecimal int int java.math.BigInteger int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter int
         9: i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        10: .line 3494
            aload 4 /* bi */
            invokevirtual java.math.BigInteger.toByteArray:()[B
            astore 6 /* unscaledBytes */
        start local 6 // byte[] unscaledBytes
        11: .line 3496
            aload 6 /* unscaledBytes */
            arraylength
            iload 5 /* bLength */
            if_icmple 17
        12: .line 3498
            new java.text.MessageFormat
            dup
            ldc "R_valueOutOfRange"
            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
        13: .line 3499
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* srcJdbcType */
            invokestatic com.microsoft.sqlserver.jdbc.JDBCType.of:(I)Lcom/microsoft/sqlserver/jdbc/JDBCType;
            aastore
            astore 8 /* msgArgs */
        start local 8 // java.lang.Object[] msgArgs
        14: .line 3500
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 7 /* form */
            aload 8 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SQLState.DATA_EXCEPTION_LENGTH_MISMATCH:Lcom/microsoft/sqlserver/jdbc/SQLState;
        15: .line 3501
            getstatic com.microsoft.sqlserver.jdbc.DriverError.NOT_SET:Lcom/microsoft/sqlserver/jdbc/DriverError;
            aconst_null
        16: .line 3500
            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 8 // java.lang.Object[] msgArgs
        end local 7 // java.text.MessageFormat form
        17: .line 3505
      StackMap locals: byte[]
      StackMap stack:
            iload 5 /* bLength */
            newarray 8
            astore 7 /* bytes */
        start local 7 // byte[] bytes
        18: .line 3509
            iload 5 /* bLength */
            aload 6 /* unscaledBytes */
            arraylength
            isub
            istore 8 /* remaining */
        start local 8 // int remaining
        19: .line 3513
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        20: aload 6 /* unscaledBytes */
            arraylength
            iconst_1
            isub
            istore 10 /* j */
        start local 10 // int j
        21: goto 23
        22: .line 3514
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.math.BigDecimal int int java.math.BigInteger int byte[] byte[] int int int
      StackMap stack:
            aload 7 /* bytes */
            iload 9 /* i */
            iinc 9 /* i */ 1
            aload 6 /* unscaledBytes */
            iload 10 /* j */
            iinc 10 /* j */ -1
            baload
            bastore
        23: .line 3513
      StackMap locals:
      StackMap stack:
            iload 9 /* i */
            aload 6 /* unscaledBytes */
            arraylength
            if_icmplt 22
        24: .line 3517
            goto 27
        25: .line 3518
      StackMap locals:
      StackMap stack:
            aload 7 /* bytes */
            iload 9 /* i */
            iconst_0
            bastore
        26: .line 3517
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 9 /* i */
            iload 8 /* remaining */
            if_icmplt 25
        28: .line 3520
            aload 0 /* this */
            aload 7 /* bytes */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
        29: .line 3521
            return
        end local 10 // int j
        end local 9 // int i
        end local 8 // int remaining
        end local 7 // byte[] bytes
        end local 6 // byte[] unscaledBytes
        end local 5 // int bLength
        end local 4 // java.math.BigInteger bi
        end local 3 // boolean isNegative
        end local 2 // int srcJdbcType
        end local 1 // java.math.BigDecimal bigDecimalVal
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   30     0           this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   30     1  bigDecimalVal  Ljava/math/BigDecimal;
            0   30     2    srcJdbcType  I
            3   30     3     isNegative  Z
            4   30     4             bi  Ljava/math/BigInteger;
            7   30     5        bLength  I
           11   30     6  unscaledBytes  [B
           13   17     7           form  Ljava/text/MessageFormat;
           14   17     8        msgArgs  [Ljava/lang/Object;
           18   30     7          bytes  [B
           19   30     8      remaining  I
           20   30     9              i  I
           21   30    10              j  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
               Name  Flags
      bigDecimalVal  
      srcJdbcType    

  void writeSmalldatetime(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=10, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String value
         0: .line 3524
            aload 0 /* this */
            invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.initializeCalender:(Ljava/util/TimeZone;)Ljava/util/GregorianCalendar;
            astore 2 /* calendar */
        start local 2 // java.util.GregorianCalendar calendar
         1: .line 3526
            aload 1 /* value */
            invokestatic java.sql.Timestamp.valueOf:(Ljava/lang/String;)Ljava/sql/Timestamp;
            astore 5 /* timestampValue */
        start local 5 // java.sql.Timestamp timestampValue
         2: .line 3527
            aload 5 /* timestampValue */
            invokevirtual java.sql.Timestamp.getTime:()J
            lstore 3 /* utcMillis */
        start local 3 // long utcMillis
         3: .line 3530
            aload 2 /* calendar */
            lload 3 /* utcMillis */
            invokevirtual java.util.GregorianCalendar.setTimeInMillis:(J)V
         4: .line 3533
            aload 2 /* calendar */
            iconst_1
            invokevirtual java.util.GregorianCalendar.get:(I)I
         5: .line 3534
            aload 2 /* calendar */
            bipush 6
            invokevirtual java.util.GregorianCalendar.get:(I)I
            sipush 1900
         6: .line 3533
            invokestatic com.microsoft.sqlserver.jdbc.DDC.daysSinceBaseDate:(III)I
            istore 6 /* daysSinceSQLBaseDate */
        start local 6 // int daysSinceSQLBaseDate
         7: .line 3537
            sipush 1000
            aload 2 /* calendar */
            bipush 13
            invokevirtual java.util.GregorianCalendar.get:(I)I
            imul
         8: .line 3538
            ldc 60000
            aload 2 /* calendar */
            bipush 12
            invokevirtual java.util.GregorianCalendar.get:(I)I
            imul
         9: .line 3537
            iadd
        10: .line 3539
            ldc 3600000
            aload 2 /* calendar */
            bipush 11
            invokevirtual java.util.GregorianCalendar.get:(I)I
            imul
        11: .line 3537
            iadd
            istore 7 /* millisSinceMidnight */
        start local 7 // int millisSinceMidnight
        12: .line 3543
            ldc 86399999
            iload 7 /* millisSinceMidnight */
            if_icmpgt 15
        13: .line 3544
            iinc 6 /* daysSinceSQLBaseDate */ 1
        14: .line 3545
            iconst_0
            istore 7 /* millisSinceMidnight */
        15: .line 3549
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.String java.util.GregorianCalendar long java.sql.Timestamp int int
      StackMap stack:
            aload 0 /* this */
            iload 6 /* daysSinceSQLBaseDate */
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        16: .line 3551
            iload 7 /* millisSinceMidnight */
            sipush 1000
            idiv
            istore 8 /* secondsSinceMidnight */
        start local 8 // int secondsSinceMidnight
        17: .line 3552
            iload 8 /* secondsSinceMidnight */
            bipush 60
            idiv
            istore 9 /* minutesSinceMidnight */
        start local 9 // int minutesSinceMidnight
        18: .line 3555
            iload 8 /* secondsSinceMidnight */
            bipush 60
            irem
            i2d
            ldc 29.998
            dcmpl
            ifle 19
            iload 9 /* minutesSinceMidnight */
            iconst_1
            iadd
            goto 20
      StackMap locals: int int
      StackMap stack:
        19: iload 9 /* minutesSinceMidnight */
      StackMap locals:
      StackMap stack: int
        20: istore 9 /* minutesSinceMidnight */
        21: .line 3558
            aload 0 /* this */
            iload 9 /* minutesSinceMidnight */
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        22: .line 3559
            return
        end local 9 // int minutesSinceMidnight
        end local 8 // int secondsSinceMidnight
        end local 7 // int millisSinceMidnight
        end local 6 // int daysSinceSQLBaseDate
        end local 5 // java.sql.Timestamp timestampValue
        end local 3 // long utcMillis
        end local 2 // java.util.GregorianCalendar calendar
        end local 1 // java.lang.String value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   23     0                  this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   23     1                 value  Ljava/lang/String;
            1   23     2              calendar  Ljava/util/GregorianCalendar;
            3   23     3             utcMillis  J
            2   23     5        timestampValue  Ljava/sql/Timestamp;
            7   23     6  daysSinceSQLBaseDate  I
           12   23     7   millisSinceMidnight  I
           17   23     8  secondsSinceMidnight  I
           18   23     9  minutesSinceMidnight  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      value  

  void writeDatetime(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=11, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String value
         0: .line 3562
            aload 0 /* this */
            invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.initializeCalender:(Ljava/util/TimeZone;)Ljava/util/GregorianCalendar;
            astore 2 /* calendar */
        start local 2 // java.util.GregorianCalendar calendar
         1: .line 3565
            aload 1 /* value */
            invokestatic java.sql.Timestamp.valueOf:(Ljava/lang/String;)Ljava/sql/Timestamp;
            astore 6 /* timestampValue */
        start local 6 // java.sql.Timestamp timestampValue
         2: .line 3566
            aload 6 /* timestampValue */
            invokevirtual java.sql.Timestamp.getTime:()J
            lstore 3 /* utcMillis */
        start local 3 // long utcMillis
         3: .line 3567
            aload 6 /* timestampValue */
            invokevirtual java.sql.Timestamp.getNanos:()I
            istore 5 /* subSecondNanos */
        start local 5 // int subSecondNanos
         4: .line 3570
            aload 2 /* calendar */
            lload 3 /* utcMillis */
            invokevirtual java.util.GregorianCalendar.setTimeInMillis:(J)V
         5: .line 3574
            aload 2 /* calendar */
            iconst_1
            invokevirtual java.util.GregorianCalendar.get:(I)I
         6: .line 3575
            aload 2 /* calendar */
            bipush 6
            invokevirtual java.util.GregorianCalendar.get:(I)I
            sipush 1900
         7: .line 3574
            invokestatic com.microsoft.sqlserver.jdbc.DDC.daysSinceBaseDate:(III)I
            istore 7 /* daysSinceSQLBaseDate */
        start local 7 // int daysSinceSQLBaseDate
         8: .line 3578
            iload 5 /* subSecondNanos */
            ldc 500000
            iadd
            ldc 1000000
            idiv
         9: .line 3581
            sipush 1000
            aload 2 /* calendar */
            bipush 13
            invokevirtual java.util.GregorianCalendar.get:(I)I
            imul
        10: .line 3578
            iadd
        11: .line 3582
            ldc 60000
            aload 2 /* calendar */
            bipush 12
            invokevirtual java.util.GregorianCalendar.get:(I)I
            imul
        12: .line 3578
            iadd
        13: .line 3583
            ldc 3600000
            aload 2 /* calendar */
            bipush 11
            invokevirtual java.util.GregorianCalendar.get:(I)I
            imul
        14: .line 3578
            iadd
            istore 8 /* millisSinceMidnight */
        start local 8 // int millisSinceMidnight
        15: .line 3587
            ldc 86399999
            iload 8 /* millisSinceMidnight */
            if_icmpgt 18
        16: .line 3588
            iinc 7 /* daysSinceSQLBaseDate */ 1
        17: .line 3589
            iconst_0
            istore 8 /* millisSinceMidnight */
        18: .line 3598
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.String java.util.GregorianCalendar long int java.sql.Timestamp int int
      StackMap stack:
            iload 7 /* daysSinceSQLBaseDate */
            sipush 1753
            iconst_1
            sipush 1900
            invokestatic com.microsoft.sqlserver.jdbc.DDC.daysSinceBaseDate:(III)I
            if_icmplt 20
        19: .line 3599
            iload 7 /* daysSinceSQLBaseDate */
            sipush 10000
            iconst_1
            sipush 1900
            invokestatic com.microsoft.sqlserver.jdbc.DDC.daysSinceBaseDate:(III)I
            if_icmplt 25
        20: .line 3600
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_valueOutOfRange"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 9 /* form */
        start local 9 // java.text.MessageFormat form
        21: .line 3601
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIME:Lcom/microsoft/sqlserver/jdbc/SSType;
            aastore
            astore 10 /* msgArgs */
        start local 10 // java.lang.Object[] msgArgs
        22: .line 3602
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 9 /* form */
            aload 10 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SQLState.DATA_EXCEPTION_DATETIME_FIELD_OVERFLOW:Lcom/microsoft/sqlserver/jdbc/SQLState;
        23: .line 3603
            getstatic com.microsoft.sqlserver.jdbc.DriverError.NOT_SET:Lcom/microsoft/sqlserver/jdbc/DriverError;
            aconst_null
        24: .line 3602
            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 10 // java.lang.Object[] msgArgs
        end local 9 // java.text.MessageFormat form
        25: .line 3607
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 7 /* daysSinceSQLBaseDate */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        26: .line 3610
            aload 0 /* this */
            iconst_3
            iload 8 /* millisSinceMidnight */
            imul
            iconst_5
            iadd
            bipush 10
            idiv
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        27: .line 3611
            return
        end local 8 // int millisSinceMidnight
        end local 7 // int daysSinceSQLBaseDate
        end local 6 // java.sql.Timestamp timestampValue
        end local 5 // int subSecondNanos
        end local 3 // long utcMillis
        end local 2 // java.util.GregorianCalendar calendar
        end local 1 // java.lang.String value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   28     0                  this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   28     1                 value  Ljava/lang/String;
            1   28     2              calendar  Ljava/util/GregorianCalendar;
            3   28     3             utcMillis  J
            4   28     5        subSecondNanos  I
            2   28     6        timestampValue  Ljava/sql/Timestamp;
            8   28     7  daysSinceSQLBaseDate  I
           15   28     8   millisSinceMidnight  I
           21   25     9                  form  Ljava/text/MessageFormat;
           22   25    10               msgArgs  [Ljava/lang/Object;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      value  

  void writeDate(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.String value
         0: .line 3614
            aload 0 /* this */
            invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.initializeCalender:(Ljava/util/TimeZone;)Ljava/util/GregorianCalendar;
            astore 2 /* calendar */
        start local 2 // java.util.GregorianCalendar calendar
         1: .line 3616
            aload 1 /* value */
            invokestatic java.sql.Date.valueOf:(Ljava/lang/String;)Ljava/sql/Date;
            astore 5 /* dateValue */
        start local 5 // java.sql.Date dateValue
         2: .line 3617
            aload 5 /* dateValue */
            invokevirtual java.sql.Date.getTime:()J
            lstore 3 /* utcMillis */
        start local 3 // long utcMillis
         3: .line 3620
            aload 2 /* calendar */
            lload 3 /* utcMillis */
            invokevirtual java.util.GregorianCalendar.setTimeInMillis:(J)V
         4: .line 3622
            aload 0 /* this */
            aload 2 /* calendar */
            iconst_0
         5: .line 3623
            iconst_0
         6: .line 3624
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATE:Lcom/microsoft/sqlserver/jdbc/SSType;
         7: .line 3622
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeScaledTemporal:(Ljava/util/GregorianCalendar;IILcom/microsoft/sqlserver/jdbc/SSType;)V
         8: .line 3625
            return
        end local 5 // java.sql.Date dateValue
        end local 3 // long utcMillis
        end local 2 // java.util.GregorianCalendar calendar
        end local 1 // java.lang.String value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0    9     1      value  Ljava/lang/String;
            1    9     2   calendar  Ljava/util/GregorianCalendar;
            3    9     3  utcMillis  J
            2    9     5  dateValue  Ljava/sql/Date;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      value  

  void writeTime(java.sql.Timestamp, int);
    descriptor: (Ljava/sql/Timestamp;I)V
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.sql.Timestamp value
        start local 2 // int scale
         0: .line 3628
            aload 0 /* this */
            invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.initializeCalender:(Ljava/util/TimeZone;)Ljava/util/GregorianCalendar;
            astore 3 /* calendar */
        start local 3 // java.util.GregorianCalendar calendar
         1: .line 3631
            aload 1 /* value */
            invokevirtual java.sql.Timestamp.getTime:()J
            lstore 4 /* utcMillis */
        start local 4 // long utcMillis
         2: .line 3632
            aload 1 /* value */
            invokevirtual java.sql.Timestamp.getNanos:()I
            istore 6 /* subSecondNanos */
        start local 6 // int subSecondNanos
         3: .line 3635
            aload 3 /* calendar */
            lload 4 /* utcMillis */
            invokevirtual java.util.GregorianCalendar.setTimeInMillis:(J)V
         4: .line 3637
            aload 0 /* this */
            aload 3 /* calendar */
            iload 6 /* subSecondNanos */
            iload 2 /* scale */
            getstatic com.microsoft.sqlserver.jdbc.SSType.TIME:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeScaledTemporal:(Ljava/util/GregorianCalendar;IILcom/microsoft/sqlserver/jdbc/SSType;)V
         5: .line 3638
            return
        end local 6 // int subSecondNanos
        end local 4 // long utcMillis
        end local 3 // java.util.GregorianCalendar calendar
        end local 2 // int scale
        end local 1 // java.sql.Timestamp value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0    6     1           value  Ljava/sql/Timestamp;
            0    6     2           scale  I
            1    6     3        calendar  Ljava/util/GregorianCalendar;
            2    6     4       utcMillis  J
            3    6     6  subSecondNanos  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      value  
      scale  

  void writeDateTimeOffset(java.lang.Object, int, com.microsoft.sqlserver.jdbc.SSType);
    descriptor: (Ljava/lang/Object;ILcom/microsoft/sqlserver/jdbc/SSType;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=18, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.lang.Object value
        start local 2 // int scale
        start local 3 // com.microsoft.sqlserver.jdbc.SSType destSSType
         0: .line 3652
            aload 1 /* value */
            instanceof java.lang.String
            ifeq 41
         1: .line 3655
            aload 1 /* value */
            checkcast java.lang.String
            astore 8 /* stringValue */
        start local 8 // java.lang.String stringValue
         2: .line 3656
            aload 8 /* stringValue */
            bipush 58
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 9 /* lastColon */
        start local 9 // int lastColon
         3: .line 3658
            aload 8 /* stringValue */
            iload 9 /* lastColon */
            iconst_3
            isub
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 10 /* offsetString */
        start local 10 // java.lang.String offsetString
         4: .line 3666
            aload 10 /* offsetString */
            ldc "+"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 8
            aload 10 /* offsetString */
            ldc "-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 8
         5: .line 3667
            iconst_0
            istore 7 /* minutesOffset */
        start local 7 // int minutesOffset
         6: .line 3668
            aload 8 /* stringValue */
            astore 11 /* timestampString */
        start local 11 // java.lang.String timestampString
         7: .line 3669
            goto 14
        end local 11 // java.lang.String timestampString
        end local 7 // int minutesOffset
         8: .line 3670
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.Object int com.microsoft.sqlserver.jdbc.SSType top top top top java.lang.String int java.lang.String
      StackMap stack:
            bipush 60
            aload 10 /* offsetString */
            iconst_1
            iconst_3
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            imul
         9: .line 3671
            aload 10 /* offsetString */
            iconst_4
            bipush 6
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
        10: .line 3670
            iadd
            istore 7 /* minutesOffset */
        start local 7 // int minutesOffset
        11: .line 3672
            aload 8 /* stringValue */
            iconst_0
            iload 9 /* lastColon */
            iconst_4
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 11 /* timestampString */
        start local 11 // java.lang.String timestampString
        12: .line 3674
            aload 10 /* offsetString */
            ldc "-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 14
        13: .line 3675
            iload 7 /* minutesOffset */
            ineg
            istore 7 /* minutesOffset */
        14: .line 3684
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.Object int com.microsoft.sqlserver.jdbc.SSType top top top int java.lang.String int java.lang.String java.lang.String
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIMEOFFSET:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 3 /* destSSType */
            if_acmpne 15
            getstatic com.microsoft.sqlserver.jdbc.UTC.timeZone:Ljava/util/TimeZone;
            goto 16
        15: .line 3685
      StackMap locals:
      StackMap stack:
            new java.util.SimpleTimeZone
            dup
            iload 7 /* minutesOffset */
            bipush 60
            imul
            sipush 1000
            imul
            ldc ""
            invokespecial java.util.SimpleTimeZone.<init>:(ILjava/lang/String;)V
        16: .line 3684
      StackMap locals:
      StackMap stack: java.util.TimeZone
            astore 5 /* timeZone */
        start local 5 // java.util.TimeZone timeZone
        17: .line 3687
            new java.util.GregorianCalendar
            dup
            aload 5 /* timeZone */
            invokespecial java.util.GregorianCalendar.<init>:(Ljava/util/TimeZone;)V
            astore 4 /* calendar */
        start local 4 // java.util.GregorianCalendar calendar
        18: .line 3689
            aload 11 /* timestampString */
            iconst_0
            iconst_4
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            istore 12 /* year */
        start local 12 // int year
        19: .line 3690
            aload 11 /* timestampString */
            iconst_5
            bipush 7
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            istore 13 /* month */
        start local 13 // int month
        20: .line 3691
            aload 11 /* timestampString */
            bipush 8
            bipush 10
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            istore 14 /* day */
        start local 14 // int day
        21: .line 3692
            aload 11 /* timestampString */
            bipush 11
            bipush 13
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            istore 15 /* hour */
        start local 15 // int hour
        22: .line 3693
            aload 11 /* timestampString */
            bipush 14
            bipush 16
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            istore 16 /* minute */
        start local 16 // int minute
        23: .line 3694
            aload 11 /* timestampString */
            bipush 17
            bipush 19
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            istore 17 /* second */
        start local 17 // int second
        24: .line 3696
            bipush 19
            aload 11 /* timestampString */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            if_icmpne 26
            new java.math.BigDecimal
            dup
            aload 11 /* timestampString */
            bipush 19
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokespecial java.math.BigDecimal.<init>:(Ljava/lang/String;)V
        25: .line 3697
            bipush 9
            invokevirtual java.math.BigDecimal.scaleByPowerOfTen:(I)Ljava/math/BigDecimal;
            invokevirtual java.math.BigDecimal.intValue:()I
            goto 27
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.Object int com.microsoft.sqlserver.jdbc.SSType java.util.GregorianCalendar java.util.TimeZone top int java.lang.String int java.lang.String java.lang.String int int int int int int
      StackMap stack:
        26: iconst_0
        27: .line 3696
      StackMap locals:
      StackMap stack: int
            istore 6 /* subSecondNanos */
        start local 6 // int subSecondNanos
        28: .line 3699
            aload 4 /* calendar */
            iconst_1
            invokevirtual java.util.GregorianCalendar.setLenient:(Z)V
        29: .line 3700
            aload 4 /* calendar */
            iconst_1
            iload 12 /* year */
            invokevirtual java.util.GregorianCalendar.set:(II)V
        30: .line 3701
            aload 4 /* calendar */
            iconst_2
            iload 13 /* month */
            iconst_1
            isub
            invokevirtual java.util.GregorianCalendar.set:(II)V
        31: .line 3702
            aload 4 /* calendar */
            iconst_5
            iload 14 /* day */
            invokevirtual java.util.GregorianCalendar.set:(II)V
        32: .line 3703
            aload 4 /* calendar */
            bipush 11
            iload 15 /* hour */
            invokevirtual java.util.GregorianCalendar.set:(II)V
        33: .line 3704
            aload 4 /* calendar */
            bipush 12
            iload 16 /* minute */
            invokevirtual java.util.GregorianCalendar.set:(II)V
        34: .line 3705
            aload 4 /* calendar */
            bipush 13
            iload 17 /* second */
            invokevirtual java.util.GregorianCalendar.set:(II)V
        35: .line 3706
            aload 4 /* calendar */
            bipush 12
            iload 7 /* minutesOffset */
            ineg
            invokevirtual java.util.GregorianCalendar.add:(II)V
        end local 17 // int second
        end local 16 // int minute
        end local 15 // int hour
        end local 14 // int day
        end local 13 // int month
        end local 12 // int year
        end local 11 // java.lang.String timestampString
        end local 10 // java.lang.String offsetString
        end local 9 // int lastColon
        end local 8 // java.lang.String stringValue
        36: .line 3707
            goto 52
        end local 7 // int minutesOffset
        end local 6 // int subSecondNanos
        end local 5 // java.util.TimeZone timeZone
        end local 4 // java.util.GregorianCalendar calendar
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.Object int com.microsoft.sqlserver.jdbc.SSType
      StackMap stack: java.lang.RuntimeException
        37: pop
        38: .line 3708
            new java.text.MessageFormat
            dup
            ldc "R_ParsingDataError"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 8 /* form */
        start local 8 // java.text.MessageFormat form
        39: .line 3709
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* value */
            aastore
            dup
            iconst_1
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.DATETIMEOFFSET:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            aastore
            astore 9 /* msgArgs */
        start local 9 // java.lang.Object[] msgArgs
        40: .line 3710
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 0 /* this */
            aload 8 /* form */
            aload 9 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            iconst_0
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            athrow
        end local 9 // java.lang.Object[] msgArgs
        end local 8 // java.text.MessageFormat form
        41: .line 3715
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            checkcast microsoft.sql.DateTimeOffset
            astore 10 /* dtoValue */
        start local 10 // microsoft.sql.DateTimeOffset dtoValue
        42: .line 3716
            aload 10 /* dtoValue */
            invokevirtual microsoft.sql.DateTimeOffset.getTimestamp:()Ljava/sql/Timestamp;
            invokevirtual java.sql.Timestamp.getTime:()J
            lstore 8 /* utcMillis */
        start local 8 // long utcMillis
        43: .line 3717
            aload 10 /* dtoValue */
            invokevirtual microsoft.sql.DateTimeOffset.getTimestamp:()Ljava/sql/Timestamp;
            invokevirtual java.sql.Timestamp.getNanos:()I
            istore 6 /* subSecondNanos */
        start local 6 // int subSecondNanos
        44: .line 3718
            aload 10 /* dtoValue */
            invokevirtual microsoft.sql.DateTimeOffset.getMinutesOffset:()I
            istore 7 /* minutesOffset */
        start local 7 // int minutesOffset
        45: .line 3726
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIMEOFFSET:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 3 /* destSSType */
            if_acmpne 46
            getstatic com.microsoft.sqlserver.jdbc.UTC.timeZone:Ljava/util/TimeZone;
            goto 47
        46: .line 3727
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.Object int com.microsoft.sqlserver.jdbc.SSType top top int int long microsoft.sql.DateTimeOffset
      StackMap stack:
            new java.util.SimpleTimeZone
            dup
            iload 7 /* minutesOffset */
            bipush 60
            imul
            sipush 1000
            imul
            ldc ""
            invokespecial java.util.SimpleTimeZone.<init>:(ILjava/lang/String;)V
        47: .line 3726
      StackMap locals:
      StackMap stack: java.util.TimeZone
            astore 5 /* timeZone */
        start local 5 // java.util.TimeZone timeZone
        48: .line 3729
            new java.util.GregorianCalendar
            dup
            aload 5 /* timeZone */
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokespecial java.util.GregorianCalendar.<init>:(Ljava/util/TimeZone;Ljava/util/Locale;)V
            astore 4 /* calendar */
        start local 4 // java.util.GregorianCalendar calendar
        49: .line 3730
            aload 4 /* calendar */
            iconst_1
            invokevirtual java.util.GregorianCalendar.setLenient:(Z)V
        50: .line 3731
            aload 4 /* calendar */
            invokevirtual java.util.GregorianCalendar.clear:()V
        51: .line 3732
            aload 4 /* calendar */
            lload 8 /* utcMillis */
            invokevirtual java.util.GregorianCalendar.setTimeInMillis:(J)V
        end local 10 // microsoft.sql.DateTimeOffset dtoValue
        end local 8 // long utcMillis
        52: .line 3735
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.lang.Object int com.microsoft.sqlserver.jdbc.SSType java.util.GregorianCalendar java.util.TimeZone int int
      StackMap stack:
            aload 0 /* this */
            aload 4 /* calendar */
            iload 6 /* subSecondNanos */
            iload 2 /* scale */
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIMEOFFSET:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeScaledTemporal:(Ljava/util/GregorianCalendar;IILcom/microsoft/sqlserver/jdbc/SSType;)V
        53: .line 3737
            aload 0 /* this */
            iload 7 /* minutesOffset */
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        54: .line 3738
            return
        end local 7 // int minutesOffset
        end local 6 // int subSecondNanos
        end local 5 // java.util.TimeZone timeZone
        end local 4 // java.util.GregorianCalendar calendar
        end local 3 // com.microsoft.sqlserver.jdbc.SSType destSSType
        end local 2 // int scale
        end local 1 // java.lang.Object value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   55     0             this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   55     1            value  Ljava/lang/Object;
            0   55     2            scale  I
            0   55     3       destSSType  Lcom/microsoft/sqlserver/jdbc/SSType;
           18   37     4         calendar  Ljava/util/GregorianCalendar;
           49   55     4         calendar  Ljava/util/GregorianCalendar;
           17   37     5         timeZone  Ljava/util/TimeZone;
           48   55     5         timeZone  Ljava/util/TimeZone;
           28   37     6   subSecondNanos  I
           44   55     6   subSecondNanos  I
            6    8     7    minutesOffset  I
           11   37     7    minutesOffset  I
           45   55     7    minutesOffset  I
            2   36     8      stringValue  Ljava/lang/String;
            3   36     9        lastColon  I
            4   36    10     offsetString  Ljava/lang/String;
            7    8    11  timestampString  Ljava/lang/String;
           12   36    11  timestampString  Ljava/lang/String;
           19   36    12             year  I
           20   36    13            month  I
           21   36    14              day  I
           22   36    15             hour  I
           23   36    16           minute  I
           24   36    17           second  I
           39   41     8             form  Ljava/text/MessageFormat;
           40   41     9          msgArgs  [Ljava/lang/Object;
           43   52     8        utcMillis  J
           42   52    10         dtoValue  Lmicrosoft/sql/DateTimeOffset;
      Exception table:
        from    to  target  type
           1    36      37  Class java.lang.NumberFormatException
           1    36      37  Class java.lang.IndexOutOfBoundsException
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
            Name  Flags
      value       
      scale       
      destSSType  

  void writeOffsetDateTimeWithTimezone(java.time.OffsetDateTime, int);
    descriptor: (Ljava/time/OffsetDateTime;I)V
    flags: (0x0000) 
    Code:
      stack=7, locals=12, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.time.OffsetDateTime offsetDateTimeValue
        start local 2 // int scale
         0: .line 3745
            iconst_0
            istore 8 /* minutesOffset */
        start local 8 // int minutesOffset
         1: .line 3751
            aload 1 /* offsetDateTimeValue */
            invokevirtual java.time.OffsetDateTime.getOffset:()Ljava/time/ZoneOffset;
            invokevirtual java.time.ZoneOffset.getTotalSeconds:()I
            bipush 60
            idiv
            istore 8 /* minutesOffset */
         2: .line 3752
            goto 8
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.time.OffsetDateTime int top top top top top int
      StackMap stack: java.lang.Exception
         3: astore 9 /* e */
        start local 9 // java.lang.Exception e
         4: .line 3753
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_zoneOffsetError"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
         5: .line 3757
            iconst_0
         6: .line 3758
            aload 9 /* e */
         7: .line 3753
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V
            athrow
        end local 9 // java.lang.Exception e
         8: .line 3760
      StackMap locals:
      StackMap stack:
            aload 1 /* offsetDateTimeValue */
            invokevirtual java.time.OffsetDateTime.getNano:()I
            istore 7 /* subSecondNanos */
        start local 7 // int subSecondNanos
         9: .line 3765
            bipush 9
            iload 7 /* subSecondNanos */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            isub
            istore 9 /* padding */
        start local 9 // int padding
        10: .line 3766
            goto 13
        11: .line 3767
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.time.OffsetDateTime int top top top top int int int
      StackMap stack:
            iload 7 /* subSecondNanos */
            bipush 10
            imul
            istore 7 /* subSecondNanos */
        12: .line 3768
            iinc 9 /* padding */ -1
        13: .line 3766
      StackMap locals:
      StackMap stack:
            iload 9 /* padding */
            ifgt 11
        14: .line 3772
            getstatic com.microsoft.sqlserver.jdbc.UTC.timeZone:Ljava/util/TimeZone;
            astore 4 /* timeZone */
        start local 4 // java.util.TimeZone timeZone
        15: .line 3777
            new java.lang.StringBuilder
            dup
            ldc "%04d"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* offsetDateTimeValue */
            invokevirtual java.time.OffsetDateTime.getYear:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 45
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        16: .line 3778
            aload 1 /* offsetDateTimeValue */
            invokevirtual java.time.OffsetDateTime.getMonthValue:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            bipush 45
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 1 /* offsetDateTimeValue */
            invokevirtual java.time.OffsetDateTime.getDayOfMonth:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        17: .line 3779
            aload 1 /* offsetDateTimeValue */
            invokevirtual java.time.OffsetDateTime.getHour:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 1 /* offsetDateTimeValue */
            invokevirtual java.time.OffsetDateTime.getMinute:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        18: .line 3780
            aload 1 /* offsetDateTimeValue */
            invokevirtual java.time.OffsetDateTime.getSecond:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        19: .line 3777
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* offDateTimeStr */
        start local 10 // java.lang.String offDateTimeStr
        20: .line 3781
            aload 10 /* offDateTimeStr */
            invokestatic java.sql.Timestamp.valueOf:(Ljava/lang/String;)Ljava/sql/Timestamp;
            invokevirtual java.sql.Timestamp.getTime:()J
            lstore 5 /* utcMillis */
        start local 5 // long utcMillis
        21: .line 3782
            aload 0 /* this */
            aload 4 /* timeZone */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.initializeCalender:(Ljava/util/TimeZone;)Ljava/util/GregorianCalendar;
            astore 3 /* calendar */
        start local 3 // java.util.GregorianCalendar calendar
        22: .line 3783
            aload 3 /* calendar */
            lload 5 /* utcMillis */
            invokevirtual java.util.GregorianCalendar.setTimeInMillis:(J)V
        23: .line 3786
            invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
            invokevirtual java.util.TimeZone.getRawOffset:()I
            ldc 60000
            idiv
            istore 11 /* minuteAdjustment */
        start local 11 // int minuteAdjustment
        24: .line 3788
            invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
            aload 3 /* calendar */
            invokevirtual java.util.GregorianCalendar.getTime:()Ljava/util/Date;
            invokevirtual java.util.TimeZone.inDaylightTime:(Ljava/util/Date;)Z
            ifeq 26
        25: .line 3789
            iload 11 /* minuteAdjustment */
            invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
            invokevirtual java.util.TimeZone.getDSTSavings:()I
            ldc 60000
            idiv
            iadd
            istore 11 /* minuteAdjustment */
        26: .line 3791
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.time.OffsetDateTime int java.util.GregorianCalendar java.util.TimeZone long int int int java.lang.String int
      StackMap stack:
            iload 11 /* minuteAdjustment */
            iload 11 /* minuteAdjustment */
            ifge 27
            iload 8 /* minutesOffset */
            iconst_m1
            imul
            goto 28
      StackMap locals:
      StackMap stack: int
        27: iload 8 /* minutesOffset */
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.time.OffsetDateTime int java.util.GregorianCalendar java.util.TimeZone long int int int java.lang.String int
      StackMap stack: int int
        28: iadd
            istore 11 /* minuteAdjustment */
        29: .line 3792
            aload 3 /* calendar */
            bipush 12
            iload 11 /* minuteAdjustment */
            invokevirtual java.util.GregorianCalendar.add:(II)V
        30: .line 3794
            aload 0 /* this */
            aload 3 /* calendar */
            iload 7 /* subSecondNanos */
            iload 2 /* scale */
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIMEOFFSET:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeScaledTemporal:(Ljava/util/GregorianCalendar;IILcom/microsoft/sqlserver/jdbc/SSType;)V
        31: .line 3795
            aload 0 /* this */
            iload 8 /* minutesOffset */
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        32: .line 3796
            return
        end local 11 // int minuteAdjustment
        end local 10 // java.lang.String offDateTimeStr
        end local 9 // int padding
        end local 8 // int minutesOffset
        end local 7 // int subSecondNanos
        end local 5 // long utcMillis
        end local 4 // java.util.TimeZone timeZone
        end local 3 // java.util.GregorianCalendar calendar
        end local 2 // int scale
        end local 1 // java.time.OffsetDateTime offsetDateTimeValue
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   33     0                 this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   33     1  offsetDateTimeValue  Ljava/time/OffsetDateTime;
            0   33     2                scale  I
           22   33     3             calendar  Ljava/util/GregorianCalendar;
           15   33     4             timeZone  Ljava/util/TimeZone;
           21   33     5            utcMillis  J
            9   33     7       subSecondNanos  I
            1   33     8        minutesOffset  I
            4    8     9                    e  Ljava/lang/Exception;
           10   33     9              padding  I
           20   33    10       offDateTimeStr  Ljava/lang/String;
           24   33    11     minuteAdjustment  I
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Exception
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                     Name  Flags
      offsetDateTimeValue  
      scale                

  void writeOffsetTimeWithTimezone(java.time.OffsetTime, int);
    descriptor: (Ljava/time/OffsetTime;I)V
    flags: (0x0000) 
    Code:
      stack=6, locals=12, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // java.time.OffsetTime offsetTimeValue
        start local 2 // int scale
         0: .line 3803
            iconst_0
            istore 8 /* minutesOffset */
        start local 8 // int minutesOffset
         1: .line 3809
            aload 1 /* offsetTimeValue */
            invokevirtual java.time.OffsetTime.getOffset:()Ljava/time/ZoneOffset;
            invokevirtual java.time.ZoneOffset.getTotalSeconds:()I
            bipush 60
            idiv
            istore 8 /* minutesOffset */
         2: .line 3810
            goto 8
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.time.OffsetTime int top top top top top int
      StackMap stack: java.lang.Exception
         3: astore 9 /* e */
        start local 9 // java.lang.Exception e
         4: .line 3811
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_zoneOffsetError"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
         5: .line 3815
            iconst_0
         6: .line 3816
            aload 9 /* e */
         7: .line 3811
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V
            athrow
        end local 9 // java.lang.Exception e
         8: .line 3818
      StackMap locals:
      StackMap stack:
            aload 1 /* offsetTimeValue */
            invokevirtual java.time.OffsetTime.getNano:()I
            istore 7 /* subSecondNanos */
        start local 7 // int subSecondNanos
         9: .line 3823
            bipush 9
            iload 7 /* subSecondNanos */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            isub
            istore 9 /* padding */
        start local 9 // int padding
        10: .line 3824
            goto 13
        11: .line 3825
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.time.OffsetTime int top top top top int int int
      StackMap stack:
            iload 7 /* subSecondNanos */
            bipush 10
            imul
            istore 7 /* subSecondNanos */
        12: .line 3826
            iinc 9 /* padding */ -1
        13: .line 3824
      StackMap locals:
      StackMap stack:
            iload 9 /* padding */
            ifgt 11
        14: .line 3830
            getstatic com.microsoft.sqlserver.jdbc.UTC.timeZone:Ljava/util/TimeZone;
            astore 4 /* timeZone */
        start local 4 // java.util.TimeZone timeZone
        15: .line 3836
            new java.lang.StringBuilder
            dup
            ldc "1900-01-01 "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* offsetTimeValue */
            invokevirtual java.time.OffsetTime.getHour:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        16: .line 3837
            aload 1 /* offsetTimeValue */
            invokevirtual java.time.OffsetTime.getMinute:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 1 /* offsetTimeValue */
            invokevirtual java.time.OffsetTime.getSecond:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        17: .line 3836
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* offsetTimeStr */
        start local 10 // java.lang.String offsetTimeStr
        18: .line 3838
            aload 10 /* offsetTimeStr */
            invokestatic java.sql.Timestamp.valueOf:(Ljava/lang/String;)Ljava/sql/Timestamp;
            invokevirtual java.sql.Timestamp.getTime:()J
            lstore 5 /* utcMillis */
        start local 5 // long utcMillis
        19: .line 3840
            aload 0 /* this */
            aload 4 /* timeZone */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.initializeCalender:(Ljava/util/TimeZone;)Ljava/util/GregorianCalendar;
            astore 3 /* calendar */
        start local 3 // java.util.GregorianCalendar calendar
        20: .line 3841
            aload 3 /* calendar */
            lload 5 /* utcMillis */
            invokevirtual java.util.GregorianCalendar.setTimeInMillis:(J)V
        21: .line 3843
            invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
            invokevirtual java.util.TimeZone.getRawOffset:()I
            ldc 60000
            idiv
            istore 11 /* minuteAdjustment */
        start local 11 // int minuteAdjustment
        22: .line 3845
            invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
            aload 3 /* calendar */
            invokevirtual java.util.GregorianCalendar.getTime:()Ljava/util/Date;
            invokevirtual java.util.TimeZone.inDaylightTime:(Ljava/util/Date;)Z
            ifeq 24
        23: .line 3846
            iload 11 /* minuteAdjustment */
            invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
            invokevirtual java.util.TimeZone.getDSTSavings:()I
            ldc 60000
            idiv
            iadd
            istore 11 /* minuteAdjustment */
        24: .line 3848
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.time.OffsetTime int java.util.GregorianCalendar java.util.TimeZone long int int int java.lang.String int
      StackMap stack:
            iload 11 /* minuteAdjustment */
            iload 11 /* minuteAdjustment */
            ifge 25
            iload 8 /* minutesOffset */
            iconst_m1
            imul
            goto 26
      StackMap locals:
      StackMap stack: int
        25: iload 8 /* minutesOffset */
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter java.time.OffsetTime int java.util.GregorianCalendar java.util.TimeZone long int int int java.lang.String int
      StackMap stack: int int
        26: iadd
            istore 11 /* minuteAdjustment */
        27: .line 3849
            aload 3 /* calendar */
            bipush 12
            iload 11 /* minuteAdjustment */
            invokevirtual java.util.GregorianCalendar.add:(II)V
        28: .line 3851
            aload 0 /* this */
            aload 3 /* calendar */
            iload 7 /* subSecondNanos */
            iload 2 /* scale */
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIMEOFFSET:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeScaledTemporal:(Ljava/util/GregorianCalendar;IILcom/microsoft/sqlserver/jdbc/SSType;)V
        29: .line 3852
            aload 0 /* this */
            iload 8 /* minutesOffset */
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        30: .line 3853
            return
        end local 11 // int minuteAdjustment
        end local 10 // java.lang.String offsetTimeStr
        end local 9 // int padding
        end local 8 // int minutesOffset
        end local 7 // int subSecondNanos
        end local 5 // long utcMillis
        end local 4 // java.util.TimeZone timeZone
        end local 3 // java.util.GregorianCalendar calendar
        end local 2 // int scale
        end local 1 // java.time.OffsetTime offsetTimeValue
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   31     0              this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   31     1   offsetTimeValue  Ljava/time/OffsetTime;
            0   31     2             scale  I
           20   31     3          calendar  Ljava/util/GregorianCalendar;
           15   31     4          timeZone  Ljava/util/TimeZone;
           19   31     5         utcMillis  J
            9   31     7    subSecondNanos  I
            1   31     8     minutesOffset  I
            4    8     9                 e  Ljava/lang/Exception;
           10   31     9           padding  I
           18   31    10     offsetTimeStr  Ljava/lang/String;
           22   31    11  minuteAdjustment  I
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Exception
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                 Name  Flags
      offsetTimeValue  
      scale            

  void writeLong(long);
    descriptor: (J)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // long value
         0: .line 3856
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            bipush 8
            if_icmplt 7
         1: .line 3857
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            lload 1 /* value */
            invokevirtual java.nio.ByteBuffer.putLong:(J)Ljava/nio/ByteBuffer;
            pop
         2: .line 3858
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.isLoggingPackets:()Z
            ifeq 9
         3: .line 3859
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.dataIsLoggable:Z
            ifeq 5
         4: .line 3860
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            lload 1 /* value */
            invokevirtual java.nio.ByteBuffer.putLong:(J)Ljava/nio/ByteBuffer;
            pop
            goto 9
         5: .line 3862
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.position:()I
            bipush 8
            iadd
            invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
            pop
         6: .line 3864
            goto 9
         7: .line 3865
      StackMap locals:
      StackMap stack:
            lload 1 /* value */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.valueBytes:[B
            iconst_0
            invokestatic com.microsoft.sqlserver.jdbc.Util.writeLong:(J[BI)V
         8: .line 3866
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.valueBytes:[B
            bipush 8
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeWrappedBytes:([BI)V
         9: .line 3868
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   10     1  value  J
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      value  

  void writeBytes(byte[]);
    descriptor: ([B)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // byte[] value
         0: .line 3871
            aload 0 /* this */
            aload 1 /* value */
            iconst_0
            aload 1 /* value */
            arraylength
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([BII)V
         1: .line 3872
            return
        end local 1 // byte[] value
        end local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0    2     1  value  [B
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
       Name  Flags
      value  

  void writeBytes(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.TDSWriter this
        start local 1 // byte[] value
        start local 2 // int offset
        start local 3 // int length
         0: .line 3875
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.$assertionsDisabled:Z
            ifne 1
            iload 3 /* length */
            aload 1 /* value */
            arraylength
            if_icmple 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3877
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* bytesWritten */
        start local 4 // int bytesWritten
         2: .line 3880
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 15
         3: .line 3881
            getstatic com.microsoft.sqlserver.jdbc.TDSWriter.logger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.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 " Writing "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* length */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " bytes"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finest:(Ljava/lang/String;)V
         4: .line 3884
            goto 15
        start local 5 // int bytesToWrite
         5: .line 3885
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            ifne 7
         6: .line 3886
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writePacket:(I)V
         7: .line 3888
      StackMap locals:
      StackMap stack:
            iload 5 /* bytesToWrite */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            if_icmple 9
         8: .line 3889
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 5 /* bytesToWrite */
         9: .line 3891
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.stagingBuffer:Ljava/nio/ByteBuffer;
            aload 1 /* value */
            iload 2 /* offset */
            iload 4 /* bytesWritten */
            iadd
            iload 5 /* bytesToWrite */
            invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
            pop
        10: .line 3892
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.tdsChannel:Lcom/microsoft/sqlserver/jdbc/TDSChannel;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSChannel.isLoggingPackets:()Z
            ifeq 14
        11: .line 3893
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.dataIsLoggable:Z
            ifeq 13
        12: .line 3894
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            aload 1 /* value */
            iload 2 /* offset */
            iload 4 /* bytesWritten */
            iadd
            iload 5 /* bytesToWrite */
            invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
            pop
            goto 14
        13: .line 3896
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.TDSWriter.logBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.Buffer.position:()I
            iload 5 /* bytesToWrite */
            iadd
            invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
            pop
        14: .line 3899
      StackMap locals:
      StackMap stack:
            iload 4