class com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord extends com.microsoft.sqlserver.jdbc.SQLServerBulkRecord
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord
  super_class: com.microsoft.sqlserver.jdbc.SQLServerBulkRecord
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -955998113956445541

  private java.util.List<com.microsoft.sqlserver.jdbc.Parameter[]> batchParam;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<[Lcom/microsoft/sqlserver/jdbc/Parameter;>;

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

  private java.util.List<java.lang.String> columnList;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private java.util.List<java.lang.String> valueList;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private static final java.lang.String loggerClassName;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "SQLServerBulkBatchInsertRecord"

  void <init>(java.util.ArrayList<com.microsoft.sqlserver.jdbc.Parameter[]>, java.util.ArrayList<java.lang.String>, java.util.ArrayList<java.lang.String>, java.lang.String);
    descriptor: (Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord this
        start local 1 // java.util.ArrayList batchParam
        start local 2 // java.util.ArrayList columnList
        start local 3 // java.util.ArrayList valueList
        start local 4 // java.lang.String encoding
         0: .line 46
            aload 0 /* this */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkRecord.<init>:()V
         1: .line 34
            aload 0 /* this */
            iconst_m1
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.batchParamIndex:I
         2: .line 48
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.initLoggerResources:()V
         3: .line 49
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.loggerExternal: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 7
         4: .line 50
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.loggerExternal:Ljava/util/logging/Logger;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.loggerPackageName:Ljava/lang/String;
            ldc "SQLServerBulkBatchInsertRecord"
         5: .line 51
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* batchParam */
            aastore
            dup
            iconst_1
            aload 4 /* encoding */
            aastore
         6: .line 50
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         7: .line 54
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord java.util.ArrayList java.util.ArrayList java.util.ArrayList java.lang.String
      StackMap stack:
            aload 1 /* batchParam */
            ifnonnull 9
         8: .line 55
            aload 0 /* this */
            ldc "batchParam"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.throwInvalidArgument:(Ljava/lang/String;)V
         9: .line 58
      StackMap locals:
      StackMap stack:
            aload 3 /* valueList */
            ifnonnull 11
        10: .line 59
            aload 0 /* this */
            ldc "valueList"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.throwInvalidArgument:(Ljava/lang/String;)V
        11: .line 62
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* batchParam */
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.batchParam:Ljava/util/List;
        12: .line 63
            aload 0 /* this */
            aload 2 /* columnList */
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.columnList:Ljava/util/List;
        13: .line 64
            aload 0 /* this */
            aload 3 /* valueList */
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.valueList:Ljava/util/List;
        14: .line 65
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.columnMetadata:Ljava/util/Map;
        15: .line 67
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.loggerExternal:Ljava/util/logging/Logger;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.loggerPackageName:Ljava/lang/String;
            ldc "SQLServerBulkBatchInsertRecord"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        16: .line 68
            return
        end local 4 // java.lang.String encoding
        end local 3 // java.util.ArrayList valueList
        end local 2 // java.util.ArrayList columnList
        end local 1 // java.util.ArrayList batchParam
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkBatchInsertRecord;
            0   17     1  batchParam  Ljava/util/ArrayList<[Lcom/microsoft/sqlserver/jdbc/Parameter;>;
            0   17     2  columnList  Ljava/util/ArrayList<Ljava/lang/String;>;
            0   17     3   valueList  Ljava/util/ArrayList<Ljava/lang/String;>;
            0   17     4    encoding  Ljava/lang/String;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    Signature: (Ljava/util/ArrayList<[Lcom/microsoft/sqlserver/jdbc/Parameter;>;Ljava/util/ArrayList<Ljava/lang/String;>;Ljava/util/ArrayList<Ljava/lang/String;>;Ljava/lang/String;)V
    MethodParameters:
            Name  Flags
      batchParam  
      columnList  
      valueList   
      encoding    

  private void initLoggerResources();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord this
         0: .line 71
            aload 0 /* this */
            ldc "com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord"
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkRecord.loggerPackageName:Ljava/lang/String;
         1: .line 72
            return
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkBatchInsertRecord;

  private java.lang.Object convertValue(com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata, java.lang.Object);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/SQLServerBulkRecord$ColumnMetadata;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord this
        start local 1 // com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata cm
        start local 2 // java.lang.Object data
         0: .line 75
            aload 1 /* cm */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata.columnType:I
            lookupswitch { // 24
                  -16: 50
                  -15: 50
                   -9: 50
                   -7: 20
                   -6: 5
                   -5: 9
                   -4: 27
                   -3: 27
                   -2: 27
                   -1: 50
                    0: 49
                    1: 50
                    2: 18
                    3: 18
                    4: 1
                    5: 5
                    7: 25
                    8: 26
                   12: 50
                   91: 50
                 2004: 27
                 2005: 50
                 2013: 33
                 2014: 41
              default: 50
          }
         1: .line 79
      StackMap locals:
      StackMap stack:
            new java.text.DecimalFormat
            dup
            ldc "#"
            invokespecial java.text.DecimalFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* decimalFormatter */
        start local 3 // java.text.DecimalFormat decimalFormatter
         2: .line 80
            aload 3 /* decimalFormatter */
            getstatic java.math.RoundingMode.DOWN:Ljava/math/RoundingMode;
            invokevirtual java.text.DecimalFormat.setRoundingMode:(Ljava/math/RoundingMode;)V
         3: .line 81
            aload 3 /* decimalFormatter */
            aload 2 /* data */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            invokevirtual java.text.DecimalFormat.format:(D)Ljava/lang/String;
            astore 4 /* formatedfInput */
        start local 4 // java.lang.String formatedfInput
         4: .line 82
            aload 4 /* formatedfInput */
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            areturn
        end local 4 // java.lang.String formatedfInput
        end local 3 // java.text.DecimalFormat decimalFormatter
         5: .line 89
      StackMap locals:
      StackMap stack:
            new java.text.DecimalFormat
            dup
            ldc "#"
            invokespecial java.text.DecimalFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* decimalFormatter */
        start local 3 // java.text.DecimalFormat decimalFormatter
         6: .line 90
            aload 3 /* decimalFormatter */
            getstatic java.math.RoundingMode.DOWN:Ljava/math/RoundingMode;
            invokevirtual java.text.DecimalFormat.setRoundingMode:(Ljava/math/RoundingMode;)V
         7: .line 91
            aload 3 /* decimalFormatter */
            aload 2 /* data */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            invokevirtual java.text.DecimalFormat.format:(D)Ljava/lang/String;
            astore 4 /* formatedfInput */
        start local 4 // java.lang.String formatedfInput
         8: .line 92
            aload 4 /* formatedfInput */
            invokestatic java.lang.Short.valueOf:(Ljava/lang/String;)Ljava/lang/Short;
            areturn
        end local 4 // java.lang.String formatedfInput
        end local 3 // java.text.DecimalFormat decimalFormatter
         9: .line 96
      StackMap locals:
      StackMap stack:
            new java.math.BigDecimal
            dup
            aload 2 /* data */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokespecial java.math.BigDecimal.<init>:(Ljava/lang/String;)V
            astore 3 /* bd */
        start local 3 // java.math.BigDecimal bd
        10: .line 98
            aload 3 /* bd */
            iconst_0
            getstatic java.math.RoundingMode.DOWN:Ljava/math/RoundingMode;
            invokevirtual java.math.BigDecimal.setScale:(ILjava/math/RoundingMode;)Ljava/math/BigDecimal;
            invokevirtual java.math.BigDecimal.longValueExact:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
        11: areturn
        12: .line 99
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata java.lang.Object java.math.BigDecimal
      StackMap stack: java.lang.ArithmeticException
            astore 4 /* ex */
        start local 4 // java.lang.ArithmeticException ex
        13: .line 100
            new java.lang.StringBuilder
            dup
            ldc "'"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* data */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* value */
        start local 5 // java.lang.String value
        14: .line 101
            new java.text.MessageFormat
            dup
            ldc "R_errorConvertingValue"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 6 /* form */
        start local 6 // java.text.MessageFormat form
        15: .line 102
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 6 /* form */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* value */
            aastore
            dup
            iconst_1
            aload 1 /* cm */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata.columnType:I
            invokestatic com.microsoft.sqlserver.jdbc.JDBCType.of:(I)Lcom/microsoft/sqlserver/jdbc/JDBCType;
            aastore
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
        16: .line 103
            aload 4 /* ex */
        17: .line 102
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V
            athrow
        end local 6 // java.text.MessageFormat form
        end local 5 // java.lang.String value
        end local 4 // java.lang.ArithmeticException ex
        end local 3 // java.math.BigDecimal bd
        18: .line 109
      StackMap locals:
      StackMap stack:
            new java.math.BigDecimal
            dup
            aload 2 /* data */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokespecial java.math.BigDecimal.<init>:(Ljava/lang/String;)V
            astore 3 /* bd */
        start local 3 // java.math.BigDecimal bd
        19: .line 110
            aload 3 /* bd */
            aload 1 /* cm */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata.scale:I
            getstatic java.math.RoundingMode.HALF_UP:Ljava/math/RoundingMode;
            invokevirtual java.math.BigDecimal.setScale:(ILjava/math/RoundingMode;)Ljava/math/BigDecimal;
            areturn
        end local 3 // java.math.BigDecimal bd
        20: .line 117
      StackMap locals:
      StackMap stack:
            dconst_0
            aload 2 /* data */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            dcmpl
            ifne 21
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            goto 22
      StackMap locals:
      StackMap stack:
        21: getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
      StackMap locals:
      StackMap stack: java.lang.Boolean
        22: areturn
        23: .line 118
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            pop
        24: .line 119
            aload 2 /* data */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        25: .line 124
      StackMap locals:
      StackMap stack:
            aload 2 /* data */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic java.lang.Float.parseFloat:(Ljava/lang/String;)F
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            areturn
        26: .line 128
      StackMap locals:
      StackMap stack:
            aload 2 /* data */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
        27: .line 135
      StackMap locals:
      StackMap stack:
            aload 2 /* data */
            instanceof byte[]
            ifeq 29
        28: .line 140
            aload 2 /* data */
            areturn
        29: .line 143
      StackMap locals:
      StackMap stack:
            aload 2 /* data */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 3 /* binData */
        start local 3 // java.lang.String binData
        30: .line 144
            aload 3 /* binData */
            ldc "0x"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 31
            aload 3 /* binData */
            ldc "0X"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 32
        31: .line 145
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* binData */
            iconst_2
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
        32: .line 147
      StackMap locals:
      StackMap stack:
            aload 3 /* binData */
            areturn
        end local 3 // java.lang.String binData
        33: .line 156
      StackMap locals:
      StackMap stack:
            aload 1 /* cm */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata.dateTimeFormatter:Ljava/time/format/DateTimeFormatter;
            ifnull 36
        34: .line 157
            aload 2 /* data */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aload 1 /* cm */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata.dateTimeFormatter:Ljava/time/format/DateTimeFormatter;
            invokestatic java.time.OffsetTime.parse:(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/OffsetTime;
            astore 3 /* offsetTimeValue */
        start local 3 // java.time.OffsetTime offsetTimeValue
        35: goto 40
        end local 3 // java.time.OffsetTime offsetTimeValue
        36: .line 158
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.timeFormatter:Ljava/time/format/DateTimeFormatter;
            ifnull 39
        37: .line 159
            aload 2 /* data */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.timeFormatter:Ljava/time/format/DateTimeFormatter;
            invokestatic java.time.OffsetTime.parse:(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/OffsetTime;
            astore 3 /* offsetTimeValue */
        start local 3 // java.time.OffsetTime offsetTimeValue
        38: goto 40
        end local 3 // java.time.OffsetTime offsetTimeValue
        39: .line 161
      StackMap locals:
      StackMap stack:
            aload 2 /* data */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic java.time.OffsetTime.parse:(Ljava/lang/CharSequence;)Ljava/time/OffsetTime;
            astore 3 /* offsetTimeValue */
        start local 3 // java.time.OffsetTime offsetTimeValue
        40: .line 163
      StackMap locals: java.time.OffsetTime
      StackMap stack:
            aload 3 /* offsetTimeValue */
            areturn
        end local 3 // java.time.OffsetTime offsetTimeValue
        41: .line 170
      StackMap locals:
      StackMap stack:
            aload 1 /* cm */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata.dateTimeFormatter:Ljava/time/format/DateTimeFormatter;
            ifnull 44
        42: .line 171
            aload 2 /* data */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aload 1 /* cm */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata.dateTimeFormatter:Ljava/time/format/DateTimeFormatter;
            invokestatic java.time.OffsetDateTime.parse:(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/OffsetDateTime;
            astore 3 /* offsetDateTimeValue */
        start local 3 // java.time.OffsetDateTime offsetDateTimeValue
        43: goto 48
        end local 3 // java.time.OffsetDateTime offsetDateTimeValue
        44: .line 172
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.dateTimeFormatter:Ljava/time/format/DateTimeFormatter;
            ifnull 47
        45: .line 173
            aload 2 /* data */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.dateTimeFormatter:Ljava/time/format/DateTimeFormatter;
            invokestatic java.time.OffsetDateTime.parse:(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/OffsetDateTime;
            astore 3 /* offsetDateTimeValue */
        start local 3 // java.time.OffsetDateTime offsetDateTimeValue
        46: goto 48
        end local 3 // java.time.OffsetDateTime offsetDateTimeValue
        47: .line 175
      StackMap locals:
      StackMap stack:
            aload 2 /* data */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic java.time.OffsetDateTime.parse:(Ljava/lang/CharSequence;)Ljava/time/OffsetDateTime;
            astore 3 /* offsetDateTimeValue */
        start local 3 // java.time.OffsetDateTime offsetDateTimeValue
        48: .line 177
      StackMap locals: java.time.OffsetDateTime
      StackMap stack:
            aload 3 /* offsetDateTimeValue */
            areturn
        end local 3 // java.time.OffsetDateTime offsetDateTimeValue
        49: .line 181
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        50: .line 194
      StackMap locals:
      StackMap stack:
            aload 2 /* data */
            areturn
        end local 2 // java.lang.Object data
        end local 1 // com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata cm
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   51     0                 this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkBatchInsertRecord;
            0   51     1                   cm  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkRecord$ColumnMetadata;
            0   51     2                 data  Ljava/lang/Object;
            2    5     3     decimalFormatter  Ljava/text/DecimalFormat;
            4    5     4       formatedfInput  Ljava/lang/String;
            6    9     3     decimalFormatter  Ljava/text/DecimalFormat;
            8    9     4       formatedfInput  Ljava/lang/String;
           10   18     3                   bd  Ljava/math/BigDecimal;
           13   18     4                   ex  Ljava/lang/ArithmeticException;
           14   18     5                value  Ljava/lang/String;
           15   18     6                 form  Ljava/text/MessageFormat;
           19   20     3                   bd  Ljava/math/BigDecimal;
           30   33     3              binData  Ljava/lang/String;
           35   36     3      offsetTimeValue  Ljava/time/OffsetTime;
           38   39     3      offsetTimeValue  Ljava/time/OffsetTime;
           40   41     3      offsetTimeValue  Ljava/time/OffsetTime;
           43   44     3  offsetDateTimeValue  Ljava/time/OffsetDateTime;
           46   47     3  offsetDateTimeValue  Ljava/time/OffsetDateTime;
           48   49     3  offsetDateTimeValue  Ljava/time/OffsetDateTime;
      Exception table:
        from    to  target  type
          10    11      12  Class java.lang.ArithmeticException
          20    22      23  Class java.lang.NumberFormatException
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
      Name  Flags
      cm    
      data  

  private java.lang.String removeSingleQuote(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord this
        start local 1 // java.lang.String s
         0: .line 200
            aload 1 /* s */
            invokevirtual java.lang.String.length:()I
            istore 2 /* len */
        start local 2 // int len
         1: .line 201
            aload 1 /* s */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 39
            if_icmpne 2
            aload 1 /* s */
            iload 2 /* len */
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            bipush 39
            if_icmpne 2
            aload 1 /* s */
            iconst_1
            iload 2 /* len */
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            goto 3
      StackMap locals: int
      StackMap stack:
         2: aload 1 /* s */
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 2 // int len
        end local 1 // java.lang.String s
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkBatchInsertRecord;
            0    4     1     s  Ljava/lang/String;
            1    4     2   len  I
    MethodParameters:
      Name  Flags
      s     

  public java.lang.Object[] getRowData();
    descriptor: ()[Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=12, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord this
         0: .line 206
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.columnMetadata:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            anewarray java.lang.Object
            astore 1 /* data */
        start local 1 // java.lang.Object[] data
         1: .line 207
            iconst_0
            istore 2 /* valueIndex */
        start local 2 // int valueIndex
         2: .line 210
            iconst_0
            istore 5 /* columnListIndex */
        start local 5 // int columnListIndex
         3: .line 215
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.columnList:Ljava/util/List;
            ifnull 7
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.columnList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.valueList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmpeq 7
         4: .line 216
            new java.text.MessageFormat
            dup
            ldc "R_DataSchemaMismatch"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 6 /* form */
        start local 6 // java.text.MessageFormat form
         5: .line 217
            iconst_0
            anewarray java.lang.Object
            astore 7 /* msgArgs */
        start local 7 // java.lang.Object[] msgArgs
         6: .line 218
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 6 /* form */
            aload 7 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SQLState.COL_NOT_FOUND:Lcom/microsoft/sqlserver/jdbc/SQLState;
            getstatic com.microsoft.sqlserver.jdbc.DriverError.NOT_SET:Lcom/microsoft/sqlserver/jdbc/DriverError;
            aconst_null
            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 7 // java.lang.Object[] msgArgs
        end local 6 // java.text.MessageFormat form
         7: .line 221
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord java.lang.Object[] int top top int
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.columnMetadata:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 49
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord java.lang.Object[] int top top int top java.util.Iterator
      StackMap stack:
         8: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* pair */
        start local 6 // java.util.Map$Entry pair
         9: .line 222
            aload 6 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            istore 8 /* index */
        start local 8 // int index
        10: .line 234
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.columnList:Ljava/util/List;
            ifnull 11
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.columnList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ifne 20
        11: .line 235
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord java.lang.Object[] int top top int java.util.Map$Entry java.util.Iterator int
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.valueList:Ljava/util/List;
            iload 8 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* valueData */
        start local 3 // java.lang.String valueData
        12: .line 239
            ldc "?"
            aload 3 /* valueData */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 15
        13: .line 240
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.batchParam:Ljava/util/List;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.batchParamIndex:I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.Parameter[]
            iload 2 /* valueIndex */
            iinc 2 /* valueIndex */ 1
            aaload
            invokevirtual com.microsoft.sqlserver.jdbc.Parameter.getSetterValue:()Ljava/lang/Object;
            astore 4 /* rowData */
        start local 4 // java.lang.Object rowData
        14: .line 241
            goto 33
        end local 4 // java.lang.Object rowData
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord java.lang.Object[] int java.lang.String top int java.util.Map$Entry java.util.Iterator int
      StackMap stack:
        15: ldc "null"
            aload 3 /* valueData */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 18
        16: .line 242
            aconst_null
            astore 4 /* rowData */
        start local 4 // java.lang.Object rowData
        17: .line 243
            goto 33
        end local 4 // java.lang.Object rowData
        18: .line 249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* valueData */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.removeSingleQuote:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* rowData */
        start local 4 // java.lang.Object rowData
        19: .line 251
            goto 33
        end local 4 // java.lang.Object rowData
        end local 3 // java.lang.String valueData
        20: .line 261
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord java.lang.Object[] int top top int java.util.Map$Entry java.util.Iterator int
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.columnList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iload 5 /* columnListIndex */
            if_icmple 32
        21: .line 262
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.columnList:Ljava/util/List;
            iload 5 /* columnListIndex */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.columnMetadata:Ljava/util/Map;
            iload 8 /* index */
            iconst_1
            iadd
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata.columnName:Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 32
        22: .line 263
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.valueList:Ljava/util/List;
            iload 5 /* columnListIndex */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* valueData */
        start local 3 // java.lang.String valueData
        23: .line 264
            ldc "?"
            aload 3 /* valueData */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 26
        24: .line 265
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.batchParam:Ljava/util/List;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.batchParamIndex:I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.Parameter[]
            iload 2 /* valueIndex */
            iinc 2 /* valueIndex */ 1
            aaload
            invokevirtual com.microsoft.sqlserver.jdbc.Parameter.getSetterValue:()Ljava/lang/Object;
            astore 4 /* rowData */
        start local 4 // java.lang.Object rowData
        25: .line 266
            goto 30
        end local 4 // java.lang.Object rowData
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord java.lang.Object[] int java.lang.String top int java.util.Map$Entry java.util.Iterator int
      StackMap stack:
        26: ldc "null"
            aload 3 /* valueData */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 29
        27: .line 267
            aconst_null
            astore 4 /* rowData */
        start local 4 // java.lang.Object rowData
        28: .line 268
            goto 30
        end local 4 // java.lang.Object rowData
        29: .line 269
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* valueData */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.removeSingleQuote:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* rowData */
        start local 4 // java.lang.Object rowData
        30: .line 271
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord java.lang.Object[] int java.lang.String java.lang.Object int java.util.Map$Entry java.util.Iterator int
      StackMap stack:
            iinc 5 /* columnListIndex */ 1
        31: .line 272
            goto 33
        end local 4 // java.lang.Object rowData
        end local 3 // java.lang.String valueData
        32: .line 273
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord java.lang.Object[] int top top int java.util.Map$Entry java.util.Iterator int
      StackMap stack:
            aconst_null
            astore 4 /* rowData */
        start local 4 // java.lang.Object rowData
        33: .line 278
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord java.lang.Object[] int top java.lang.Object int java.util.Map$Entry java.util.Iterator int
      StackMap stack:
            aload 4 /* rowData */
            ifnonnull 36
        34: .line 279
            aload 1 /* data */
            iload 8 /* index */
            aconst_null
            aastore
        35: .line 280
            goto 49
        36: .line 281
      StackMap locals:
      StackMap stack:
            aload 4 /* rowData */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifne 39
        37: .line 282
            aload 1 /* data */
            iload 8 /* index */
            ldc ""
            aastore
        38: .line 283
            goto 49
        39: .line 285
      StackMap locals:
      StackMap stack:
            aload 1 /* data */
            iload 8 /* index */
            aload 0 /* this */
            aload 6 /* pair */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata
            aload 4 /* rowData */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.convertValue:(Lcom/microsoft/sqlserver/jdbc/SQLServerBulkRecord$ColumnMetadata;Ljava/lang/Object;)Ljava/lang/Object;
            aastore
        40: .line 286
            goto 49
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
        41: astore 9 /* e */
        start local 9 // java.lang.IllegalArgumentException e
        42: .line 287
            new java.lang.StringBuilder
            dup
            ldc "'"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* rowData */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* value */
        start local 10 // java.lang.String value
        43: .line 288
            new java.text.MessageFormat
            dup
            ldc "R_errorConvertingValue"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 11 /* form */
        start local 11 // java.text.MessageFormat form
        44: .line 289
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 11 /* form */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 10 /* value */
            aastore
            dup
            iconst_1
            aload 6 /* pair */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata.columnType:I
            invokestatic com.microsoft.sqlserver.jdbc.JDBCType.of:(I)Lcom/microsoft/sqlserver/jdbc/JDBCType;
            aastore
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
        45: .line 290
            aconst_null
            iconst_0
            aload 9 /* e */
        46: .line 289
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V
            athrow
        end local 11 // java.text.MessageFormat form
        end local 10 // java.lang.String value
        end local 9 // java.lang.IllegalArgumentException e
        47: .line 291
      StackMap locals:
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
            astore 9 /* e */
        start local 9 // java.lang.ArrayIndexOutOfBoundsException e
        48: .line 292
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_DataSchemaMismatch"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aload 9 /* e */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 9 // java.lang.ArrayIndexOutOfBoundsException e
        end local 8 // int index
        end local 6 // java.util.Map$Entry pair
        end local 4 // java.lang.Object rowData
        49: .line 221
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord java.lang.Object[] int top top int top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        50: .line 295
            aload 1 /* data */
            areturn
        end local 5 // int columnListIndex
        end local 2 // int valueIndex
        end local 1 // java.lang.Object[] data
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   51     0             this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkBatchInsertRecord;
            1   51     1             data  [Ljava/lang/Object;
            2   51     2       valueIndex  I
           12   20     3        valueData  Ljava/lang/String;
           23   32     3        valueData  Ljava/lang/String;
           14   15     4          rowData  Ljava/lang/Object;
           17   18     4          rowData  Ljava/lang/Object;
           19   20     4          rowData  Ljava/lang/Object;
           25   26     4          rowData  Ljava/lang/Object;
           28   29     4          rowData  Ljava/lang/Object;
           30   32     4          rowData  Ljava/lang/Object;
           33   49     4          rowData  Ljava/lang/Object;
            3   51     5  columnListIndex  I
            5    7     6             form  Ljava/text/MessageFormat;
            6    7     7          msgArgs  [Ljava/lang/Object;
            9   49     6             pair  Ljava/util/Map$Entry<Ljava/lang/Integer;Lcom/microsoft/sqlserver/jdbc/SQLServerBulkRecord$ColumnMetadata;>;
           10   49     8            index  I
           42   47     9                e  Ljava/lang/IllegalArgumentException;
           43   47    10            value  Ljava/lang/String;
           44   47    11             form  Ljava/text/MessageFormat;
           48   49     9                e  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
          33    35      41  Class java.lang.IllegalArgumentException
          36    38      41  Class java.lang.IllegalArgumentException
          39    40      41  Class java.lang.IllegalArgumentException
          33    35      47  Class java.lang.ArrayIndexOutOfBoundsException
          36    38      47  Class java.lang.ArrayIndexOutOfBoundsException
          39    40      47  Class java.lang.ArrayIndexOutOfBoundsException
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  void addColumnMetadataInternal(int, java.lang.String, int, int, int, java.time.format.DateTimeFormatter);
    descriptor: (ILjava/lang/String;IIILjava/time/format/DateTimeFormatter;)V
    flags: (0x0000) 
    Code:
      stack=10, locals=10, args_size=7
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord this
        start local 1 // int positionInSource
        start local 2 // java.lang.String name
        start local 3 // int jdbcType
        start local 4 // int precision
        start local 5 // int scale
        start local 6 // java.time.format.DateTimeFormatter dateTimeFormatter
         0: .line 301
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.loggerExternal:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 4
         1: .line 302
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.loggerExternal:Ljava/util/logging/Logger;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.loggerPackageName:Ljava/lang/String;
            ldc "addColumnMetadata"
         2: .line 303
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* positionInSource */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 2 /* name */
            aastore
            dup
            iconst_2
            iload 3 /* jdbcType */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
            iload 4 /* precision */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
            iload 5 /* scale */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         3: .line 302
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 305
      StackMap locals:
      StackMap stack:
            ldc ""
            astore 7 /* colName */
        start local 7 // java.lang.String colName
         5: .line 307
            iload 1 /* positionInSource */
            ifgt 9
         6: .line 308
            new java.text.MessageFormat
            dup
            ldc "R_invalidColumnOrdinal"
            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
         7: .line 309
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* positionInSource */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            astore 9 /* msgArgs */
        start local 9 // java.lang.Object[] msgArgs
         8: .line 310
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 8 /* form */
            aload 9 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SQLState.COL_NOT_FOUND:Lcom/microsoft/sqlserver/jdbc/SQLState;
            getstatic com.microsoft.sqlserver.jdbc.DriverError.NOT_SET:Lcom/microsoft/sqlserver/jdbc/DriverError;
            aconst_null
            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 9 // java.lang.Object[] msgArgs
        end local 8 // java.text.MessageFormat form
         9: .line 313
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* name */
            ifnull 11
        10: .line 314
            aload 2 /* name */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 7 /* colName */
            goto 13
        11: .line 315
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.columnNames:[Ljava/lang/String;
            ifnull 13
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.columnNames:[Ljava/lang/String;
            arraylength
            iload 1 /* positionInSource */
            if_icmplt 13
        12: .line 316
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.columnNames:[Ljava/lang/String;
            iload 1 /* positionInSource */
            iconst_1
            isub
            aaload
            astore 7 /* colName */
        13: .line 318
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.columnNames:[Ljava/lang/String;
            ifnull 17
            iload 1 /* positionInSource */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.columnNames:[Ljava/lang/String;
            arraylength
            if_icmple 17
        14: .line 319
            new java.text.MessageFormat
            dup
            ldc "R_invalidColumn"
            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
        15: .line 320
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* positionInSource */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            astore 9 /* msgArgs */
        start local 9 // java.lang.Object[] msgArgs
        16: .line 321
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 8 /* form */
            aload 9 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SQLState.COL_NOT_FOUND:Lcom/microsoft/sqlserver/jdbc/SQLState;
            getstatic com.microsoft.sqlserver.jdbc.DriverError.NOT_SET:Lcom/microsoft/sqlserver/jdbc/DriverError;
            aconst_null
            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 9 // java.lang.Object[] msgArgs
        end local 8 // java.text.MessageFormat form
        17: .line 324
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* positionInSource */
            aload 2 /* name */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.checkDuplicateColumnName:(ILjava/lang/String;)V
        18: .line 325
            iload 3 /* jdbcType */
            lookupswitch { // 7
                 -155: 19
                    6: 27
                   16: 31
                   91: 19
                   92: 19
                   93: 19
                 2009: 23
              default: 35
          }
        19: .line 335
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.columnMetadata:Ljava/util/Map;
            iload 1 /* positionInSource */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        20: .line 336
            new com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata
            dup
            aload 0 /* this */
            aload 7 /* colName */
            iload 3 /* jdbcType */
            iload 4 /* precision */
            iload 5 /* scale */
            aload 6 /* dateTimeFormatter */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerBulkRecord;Ljava/lang/String;IIILjava/time/format/DateTimeFormatter;)V
        21: .line 335
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        22: .line 337
            goto 38
        23: .line 342
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.columnMetadata:Ljava/util/Map;
            iload 1 /* positionInSource */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        24: .line 343
            new com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata
            dup
            aload 0 /* this */
            aload 7 /* colName */
            bipush -16
            iload 4 /* precision */
            iload 5 /* scale */
            aload 6 /* dateTimeFormatter */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerBulkRecord;Ljava/lang/String;IIILjava/time/format/DateTimeFormatter;)V
        25: .line 342
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        26: .line 344
            goto 38
        27: .line 349
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.columnMetadata:Ljava/util/Map;
            iload 1 /* positionInSource */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        28: .line 350
            new com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata
            dup
            aload 0 /* this */
            aload 7 /* colName */
            bipush 8
            iload 4 /* precision */
            iload 5 /* scale */
            aload 6 /* dateTimeFormatter */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerBulkRecord;Ljava/lang/String;IIILjava/time/format/DateTimeFormatter;)V
        29: .line 349
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        30: .line 351
            goto 38
        31: .line 355
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.columnMetadata:Ljava/util/Map;
            iload 1 /* positionInSource */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        32: .line 356
            new com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata
            dup
            aload 0 /* this */
            aload 7 /* colName */
            bipush -7
            iload 4 /* precision */
            iload 5 /* scale */
            aload 6 /* dateTimeFormatter */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerBulkRecord;Ljava/lang/String;IIILjava/time/format/DateTimeFormatter;)V
        33: .line 355
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        34: .line 357
            goto 38
        35: .line 360
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.columnMetadata:Ljava/util/Map;
            iload 1 /* positionInSource */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        36: .line 361
            new com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata
            dup
            aload 0 /* this */
            aload 7 /* colName */
            iload 3 /* jdbcType */
            iload 4 /* precision */
            iload 5 /* scale */
            aload 6 /* dateTimeFormatter */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerBulkRecord;Ljava/lang/String;IIILjava/time/format/DateTimeFormatter;)V
        37: .line 360
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        38: .line 364
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.loggerExternal:Ljava/util/logging/Logger;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.loggerPackageName:Ljava/lang/String;
            ldc "addColumnMetadata"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        39: .line 365
            return
        end local 7 // java.lang.String colName
        end local 6 // java.time.format.DateTimeFormatter dateTimeFormatter
        end local 5 // int scale
        end local 4 // int precision
        end local 3 // int jdbcType
        end local 2 // java.lang.String name
        end local 1 // int positionInSource
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   40     0               this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkBatchInsertRecord;
            0   40     1   positionInSource  I
            0   40     2               name  Ljava/lang/String;
            0   40     3           jdbcType  I
            0   40     4          precision  I
            0   40     5              scale  I
            0   40     6  dateTimeFormatter  Ljava/time/format/DateTimeFormatter;
            5   40     7            colName  Ljava/lang/String;
            7    9     8               form  Ljava/text/MessageFormat;
            8    9     9            msgArgs  [Ljava/lang/Object;
           15   17     8               form  Ljava/text/MessageFormat;
           16   17     9            msgArgs  [Ljava/lang/Object;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                   Name  Flags
      positionInSource   
      name               
      jdbcType           
      precision          
      scale              
      dateTimeFormatter  

  public boolean next();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord this
         0: .line 369
            aload 0 /* this */
            dup
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.batchParamIndex:I
            iconst_1
            iadd
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.batchParamIndex:I
         1: .line 370
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.batchParamIndex:I
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord.batchParam:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmpge 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkBatchInsertRecord this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkBatchInsertRecord;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
}
SourceFile: "SQLServerBulkBatchInsertRecord.java"
InnerClasses:
  protected ColumnMetadata = com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata of com.microsoft.sqlserver.jdbc.SQLServerBulkRecord
  public abstract Entry = java.util.Map$Entry of java.util.Map