public class com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord extends com.microsoft.sqlserver.jdbc.SQLServerBulkRecord implements java.lang.AutoCloseable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord
  super_class: com.microsoft.sqlserver.jdbc.SQLServerBulkRecord
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1546487135640225989

  private java.io.BufferedReader fileReader;
    descriptor: Ljava/io/BufferedReader;
    flags: (0x0002) ACC_PRIVATE

  private java.io.InputStreamReader sr;
    descriptor: Ljava/io/InputStreamReader;
    flags: (0x0002) ACC_PRIVATE

  private java.io.FileInputStream fis;
    descriptor: Ljava/io/FileInputStream;
    flags: (0x0002) ACC_PRIVATE

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

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

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

  private static final java.lang.String escapeSplitPattern;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)"

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

  public void <init>(java.lang.String, java.lang.String, java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=5
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord this
        start local 1 // java.lang.String fileToParse
        start local 2 // java.lang.String encoding
        start local 3 // java.lang.String delimiter
        start local 4 // boolean firstLineIsColumnNames
         0: .line 76
            aload 0 /* this */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkRecord.<init>:()V
         1: .line 45
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.currentLine:Ljava/lang/String;
         2: .line 78
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.initLoggerResources:()V
         3: .line 79
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.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 80
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.loggerExternal:Ljava/util/logging/Logger;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.loggerPackageName:Ljava/lang/String;
            ldc "SQLServerBulkCSVFileRecord"
         5: .line 81
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* fileToParse */
            aastore
            dup
            iconst_1
            aload 2 /* encoding */
            aastore
            dup
            iconst_2
            aload 3 /* delimiter */
            aastore
            dup
            iconst_3
            iload 4 /* firstLineIsColumnNames */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
         6: .line 80
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         7: .line 84
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord java.lang.String java.lang.String java.lang.String int
      StackMap stack:
            aload 1 /* fileToParse */
            ifnonnull 10
         8: .line 85
            aload 0 /* this */
            ldc "fileToParse"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.throwInvalidArgument:(Ljava/lang/String;)V
         9: .line 86
            goto 12
      StackMap locals:
      StackMap stack:
        10: aload 3 /* delimiter */
            ifnonnull 12
        11: .line 87
            aload 0 /* this */
            ldc "delimiter"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.throwInvalidArgument:(Ljava/lang/String;)V
        12: .line 90
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* delimiter */
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.delimiter:Ljava/lang/String;
        13: .line 93
            aload 0 /* this */
            new java.io.FileInputStream
            dup
            aload 1 /* fileToParse */
            invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.fis:Ljava/io/FileInputStream;
        14: .line 94
            aload 2 /* encoding */
            ifnull 15
            aload 2 /* encoding */
            invokevirtual java.lang.String.length:()I
            ifne 17
        15: .line 95
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.io.InputStreamReader
            dup
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.fis:Ljava/io/FileInputStream;
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.sr:Ljava/io/InputStreamReader;
        16: .line 96
            goto 18
        17: .line 97
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.io.InputStreamReader
            dup
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.fis:Ljava/io/FileInputStream;
            aload 2 /* encoding */
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.sr:Ljava/io/InputStreamReader;
        18: .line 99
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.sr:Ljava/io/InputStreamReader;
            aload 2 /* encoding */
            aload 3 /* delimiter */
            iload 4 /* firstLineIsColumnNames */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.initFileReader:(Ljava/io/InputStreamReader;Ljava/lang/String;Ljava/lang/String;Z)V
        19: .line 100
            goto 25
      StackMap locals:
      StackMap stack: java.io.UnsupportedEncodingException
        20: astore 5 /* unsupportedEncoding */
        start local 5 // java.io.UnsupportedEncodingException unsupportedEncoding
        21: .line 101
            new java.text.MessageFormat
            dup
            ldc "R_unsupportedEncoding"
            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
        22: .line 102
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 6 /* form */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* encoding */
            aastore
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            aload 5 /* unsupportedEncoding */
            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.io.UnsupportedEncodingException unsupportedEncoding
        23: .line 103
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 5 /* e */
        start local 5 // java.lang.Exception e
        24: .line 104
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aconst_null
            aload 5 /* e */
            invokevirtual java.lang.Exception.getMessage:()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 5 // java.lang.Exception e
        25: .line 106
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.columnMetadata:Ljava/util/Map;
        26: .line 108
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.loggerExternal:Ljava/util/logging/Logger;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.loggerPackageName:Ljava/lang/String;
            ldc "SQLServerBulkCSVFileRecord"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        27: .line 109
            return
        end local 4 // boolean firstLineIsColumnNames
        end local 3 // java.lang.String delimiter
        end local 2 // java.lang.String encoding
        end local 1 // java.lang.String fileToParse
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   28     0                    this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCSVFileRecord;
            0   28     1             fileToParse  Ljava/lang/String;
            0   28     2                encoding  Ljava/lang/String;
            0   28     3               delimiter  Ljava/lang/String;
            0   28     4  firstLineIsColumnNames  Z
           21   23     5     unsupportedEncoding  Ljava/io/UnsupportedEncodingException;
           22   23     6                    form  Ljava/text/MessageFormat;
           24   25     5                       e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          13    19      20  Class java.io.UnsupportedEncodingException
          13    19      23  Class java.lang.Exception
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                        Name  Flags
      fileToParse             
      encoding                
      delimiter               
      firstLineIsColumnNames  

  public void <init>(java.io.InputStream, java.lang.String, java.lang.String, boolean);
    descriptor: (Ljava/io/InputStream;Ljava/lang/String;Ljava/lang/String;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=5
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord this
        start local 1 // java.io.InputStream fileToParse
        start local 2 // java.lang.String encoding
        start local 3 // java.lang.String delimiter
        start local 4 // boolean firstLineIsColumnNames
         0: .line 125
            aload 0 /* this */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkRecord.<init>:()V
         1: .line 45
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.currentLine:Ljava/lang/String;
         2: .line 127
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.initLoggerResources:()V
         3: .line 128
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.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 129
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.loggerExternal:Ljava/util/logging/Logger;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.loggerPackageName:Ljava/lang/String;
            ldc "SQLServerBulkCSVFileRecord"
         5: .line 130
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* fileToParse */
            aastore
            dup
            iconst_1
            aload 2 /* encoding */
            aastore
            dup
            iconst_2
            aload 3 /* delimiter */
            aastore
            dup
            iconst_3
            iload 4 /* firstLineIsColumnNames */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
         6: .line 129
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         7: .line 133
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord java.io.InputStream java.lang.String java.lang.String int
      StackMap stack:
            aload 1 /* fileToParse */
            ifnonnull 10
         8: .line 134
            aload 0 /* this */
            ldc "fileToParse"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.throwInvalidArgument:(Ljava/lang/String;)V
         9: .line 135
            goto 12
      StackMap locals:
      StackMap stack:
        10: aload 3 /* delimiter */
            ifnonnull 12
        11: .line 136
            aload 0 /* this */
            ldc "delimiter"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.throwInvalidArgument:(Ljava/lang/String;)V
        12: .line 139
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* delimiter */
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.delimiter:Ljava/lang/String;
        13: .line 141
            aload 2 /* encoding */
            ifnull 14
            aload 2 /* encoding */
            invokevirtual java.lang.String.length:()I
            ifne 16
        14: .line 142
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.io.InputStreamReader
            dup
            aload 1 /* fileToParse */
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.sr:Ljava/io/InputStreamReader;
        15: .line 143
            goto 17
        16: .line 144
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.io.InputStreamReader
            dup
            aload 1 /* fileToParse */
            aload 2 /* encoding */
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.sr:Ljava/io/InputStreamReader;
        17: .line 146
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.sr:Ljava/io/InputStreamReader;
            aload 2 /* encoding */
            aload 3 /* delimiter */
            iload 4 /* firstLineIsColumnNames */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.initFileReader:(Ljava/io/InputStreamReader;Ljava/lang/String;Ljava/lang/String;Z)V
        18: .line 147
            goto 24
      StackMap locals:
      StackMap stack: java.io.UnsupportedEncodingException
        19: astore 5 /* unsupportedEncoding */
        start local 5 // java.io.UnsupportedEncodingException unsupportedEncoding
        20: .line 148
            new java.text.MessageFormat
            dup
            ldc "R_unsupportedEncoding"
            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
        21: .line 149
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 6 /* form */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* encoding */
            aastore
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            aload 5 /* unsupportedEncoding */
            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.io.UnsupportedEncodingException unsupportedEncoding
        22: .line 150
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 5 /* e */
        start local 5 // java.lang.Exception e
        23: .line 151
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aconst_null
            aload 5 /* e */
            invokevirtual java.lang.Exception.getMessage:()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 5 // java.lang.Exception e
        24: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.columnMetadata:Ljava/util/Map;
        25: .line 155
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.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 27
        26: .line 156
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.loggerExternal:Ljava/util/logging/Logger;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.loggerPackageName:Ljava/lang/String;
            ldc "SQLServerBulkCSVFileRecord"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        27: .line 158
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean firstLineIsColumnNames
        end local 3 // java.lang.String delimiter
        end local 2 // java.lang.String encoding
        end local 1 // java.io.InputStream fileToParse
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   28     0                    this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCSVFileRecord;
            0   28     1             fileToParse  Ljava/io/InputStream;
            0   28     2                encoding  Ljava/lang/String;
            0   28     3               delimiter  Ljava/lang/String;
            0   28     4  firstLineIsColumnNames  Z
           20   22     5     unsupportedEncoding  Ljava/io/UnsupportedEncodingException;
           21   22     6                    form  Ljava/text/MessageFormat;
           23   24     5                       e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          13    18      19  Class java.io.UnsupportedEncodingException
          13    18      22  Class java.lang.Exception
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                        Name  Flags
      fileToParse             
      encoding                
      delimiter               
      firstLineIsColumnNames  

  public void <init>(java.lang.String, java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord this
        start local 1 // java.lang.String fileToParse
        start local 2 // java.lang.String encoding
        start local 3 // boolean firstLineIsColumnNames
         0: .line 174
            aload 0 /* this */
            aload 1 /* fileToParse */
            aload 2 /* encoding */
            ldc ","
            iload 3 /* firstLineIsColumnNames */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
         1: .line 175
            return
        end local 3 // boolean firstLineIsColumnNames
        end local 2 // java.lang.String encoding
        end local 1 // java.lang.String fileToParse
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    2     0                    this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCSVFileRecord;
            0    2     1             fileToParse  Ljava/lang/String;
            0    2     2                encoding  Ljava/lang/String;
            0    2     3  firstLineIsColumnNames  Z
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                        Name  Flags
      fileToParse             
      encoding                
      firstLineIsColumnNames  

  public void <init>(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord this
        start local 1 // java.lang.String fileToParse
        start local 2 // boolean firstLineIsColumnNames
         0: .line 188
            aload 0 /* this */
            aload 1 /* fileToParse */
            aconst_null
            ldc ","
            iload 2 /* firstLineIsColumnNames */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
         1: .line 189
            return
        end local 2 // boolean firstLineIsColumnNames
        end local 1 // java.lang.String fileToParse
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    2     0                    this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCSVFileRecord;
            0    2     1             fileToParse  Ljava/lang/String;
            0    2     2  firstLineIsColumnNames  Z
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                        Name  Flags
      fileToParse             
      firstLineIsColumnNames  

  private void initFileReader(java.io.InputStreamReader, java.lang.String, java.lang.String, boolean);
    descriptor: (Ljava/io/InputStreamReader;Ljava/lang/String;Ljava/lang/String;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord this
        start local 1 // java.io.InputStreamReader sr
        start local 2 // java.lang.String encoding
        start local 3 // java.lang.String demlimeter
        start local 4 // boolean firstLineIsColumnNames
         0: .line 193
            aload 0 /* this */
            new java.io.BufferedReader
            dup
            aload 1 /* sr */
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.fileReader:Ljava/io/BufferedReader;
         1: .line 194
            iload 4 /* firstLineIsColumnNames */
            ifeq 10
         2: .line 195
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.fileReader:Ljava/io/BufferedReader;
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.currentLine:Ljava/lang/String;
         3: .line 196
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.currentLine:Ljava/lang/String;
            ifnull 10
         4: .line 197
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.escapeDelimiters:Z
            ifeq 8
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.currentLine:Ljava/lang/String;
            ldc "\""
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 8
         5: .line 198
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.currentLine:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.delimiter:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_m1
            invokevirtual java.lang.String.split:(Ljava/lang/String;I)[Ljava/lang/String;
         6: .line 197
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.escapeQuotesRFC4180:([Ljava/lang/String;)[Ljava/lang/String;
         7: .line 198
            goto 9
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord
         8: aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.currentLine:Ljava/lang/String;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.delimiter:Ljava/lang/String;
            iconst_m1
            invokevirtual java.lang.String.split:(Ljava/lang/String;I)[Ljava/lang/String;
         9: .line 197
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord java.io.InputStreamReader java.lang.String java.lang.String int
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord java.lang.String[]
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.columnNames:[Ljava/lang/String;
        10: .line 201
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean firstLineIsColumnNames
        end local 3 // java.lang.String demlimeter
        end local 2 // java.lang.String encoding
        end local 1 // java.io.InputStreamReader sr
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   11     0                    this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCSVFileRecord;
            0   11     1                      sr  Ljava/io/InputStreamReader;
            0   11     2                encoding  Ljava/lang/String;
            0   11     3              demlimeter  Ljava/lang/String;
            0   11     4  firstLineIsColumnNames  Z
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException, java.io.IOException
    MethodParameters:
                        Name  Flags
      sr                      
      encoding                
      demlimeter              
      firstLineIsColumnNames  

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

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord this
         0: .line 214
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.loggerExternal:Ljava/util/logging/Logger;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.loggerPackageName:Ljava/lang/String;
            ldc "close"
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 217
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.fileReader:Ljava/io/BufferedReader;
            ifnull 5
         2: .line 219
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.fileReader:Ljava/io/BufferedReader;
            invokevirtual java.io.BufferedReader.close:()V
         3: .line 220
            goto 5
      StackMap locals:
      StackMap stack: java.lang.Exception
         4: pop
         5: .line 221
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.sr:Ljava/io/InputStreamReader;
            ifnull 9
         6: .line 223
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.sr:Ljava/io/InputStreamReader;
            invokevirtual java.io.InputStreamReader.close:()V
         7: .line 224
            goto 9
      StackMap locals:
      StackMap stack: java.lang.Exception
         8: pop
         9: .line 225
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.fis:Ljava/io/FileInputStream;
            ifnull 13
        10: .line 227
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.fis:Ljava/io/FileInputStream;
            invokevirtual java.io.FileInputStream.close:()V
        11: .line 228
            goto 13
      StackMap locals:
      StackMap stack: java.lang.Exception
        12: pop
        13: .line 230
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.loggerExternal:Ljava/util/logging/Logger;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.loggerPackageName:Ljava/lang/String;
            ldc "close"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        14: .line 231
            return
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCSVFileRecord;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Exception
           6     7       8  Class java.lang.Exception
          10    11      12  Class java.lang.Exception
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  public java.lang.Object[] getRowData();
    descriptor: ()[Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=10, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord this
         0: .line 235
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.currentLine:Ljava/lang/String;
            ifnonnull 2
         1: .line 236
            aconst_null
            areturn
         2: .line 242
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.escapeDelimiters:Z
            ifeq 6
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.currentLine:Ljava/lang/String;
            ldc "\""
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 6
         3: .line 243
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.currentLine:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.delimiter:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_m1
            invokevirtual java.lang.String.split:(Ljava/lang/String;I)[Ljava/lang/String;
         4: .line 242
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.escapeQuotesRFC4180:([Ljava/lang/String;)[Ljava/lang/String;
         5: .line 243
            goto 7
      StackMap locals:
      StackMap stack:
         6: aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.currentLine:Ljava/lang/String;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.delimiter:Ljava/lang/String;
            iconst_m1
            invokevirtual java.lang.String.split:(Ljava/lang/String;I)[Ljava/lang/String;
         7: .line 242
      StackMap locals:
      StackMap stack: java.lang.String[]
            astore 1 /* data */
        start local 1 // java.lang.String[] data
         8: .line 247
            aload 1 /* data */
            arraylength
            anewarray java.lang.Object
            astore 2 /* dataRow */
        start local 2 // java.lang.Object[] dataRow
         9: .line 249
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.columnMetadata:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 106
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord java.lang.String[] java.lang.Object[] top java.util.Iterator
      StackMap stack:
        10: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* pair */
        start local 3 // java.util.Map$Entry pair
        11: .line 250
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata
            astore 5 /* cm */
        start local 5 // com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata cm
        12: .line 252
            aload 1 /* data */
            arraylength
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            if_icmpge 18
        13: .line 253
            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 6 /* form */
        start local 6 // java.text.MessageFormat form
        14: .line 254
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            aastore
            astore 7 /* msgArgs */
        start local 7 // java.lang.Object[] msgArgs
        15: .line 255
            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;
        16: .line 256
            aconst_null
        17: .line 255
            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
        18: .line 260
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord java.lang.String[] java.lang.Object[] java.util.Map$Entry java.util.Iterator com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.columnNames:[Ljava/lang/String;
            ifnull 24
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.columnNames:[Ljava/lang/String;
            arraylength
            aload 1 /* data */
            arraylength
            if_icmple 24
        19: .line 261
            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
        20: .line 262
            iconst_0
            anewarray java.lang.Object
            astore 7 /* msgArgs */
        start local 7 // java.lang.Object[] msgArgs
        21: .line 263
            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;
        22: .line 264
            aconst_null
        23: .line 263
            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
        24: .line 268
      StackMap locals:
      StackMap stack:
            aload 1 /* data */
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            aaload
            invokevirtual java.lang.String.length:()I
            ifne 27
        25: .line 269
            aload 2 /* dataRow */
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            aconst_null
            aastore
        26: .line 270
            goto 106
        27: .line 273
      StackMap locals:
      StackMap stack:
            aload 5 /* cm */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata.columnType:I
            lookupswitch { // 26
                 -148: 53
                 -146: 53
                  -16: 96
                  -15: 96
                   -9: 96
                   -7: 56
                   -6: 35
                   -5: 42
                   -4: 68
                   -3: 68
                   -2: 68
                   -1: 96
                    0: 94
                    1: 96
                    2: 53
                    3: 53
                    4: 28
                    5: 35
                    7: 64
                    8: 66
                   12: 96
                   91: 96
                 2004: 68
                 2005: 96
                 2013: 74
                 2014: 83
              default: 96
          }
        28: .line 280
      StackMap locals:
      StackMap stack:
            new java.text.DecimalFormat
            dup
            ldc "#"
            invokespecial java.text.DecimalFormat.<init>:(Ljava/lang/String;)V
            astore 6 /* decimalFormatter */
        start local 6 // java.text.DecimalFormat decimalFormatter
        29: .line 281
            aload 6 /* decimalFormatter */
            getstatic java.math.RoundingMode.DOWN:Ljava/math/RoundingMode;
            invokevirtual java.text.DecimalFormat.setRoundingMode:(Ljava/math/RoundingMode;)V
        30: .line 282
            aload 6 /* decimalFormatter */
        31: .line 283
            aload 1 /* data */
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            aaload
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            invokevirtual java.text.DecimalFormat.format:(D)Ljava/lang/String;
        32: .line 282
            astore 7 /* formatedfInput */
        start local 7 // java.lang.String formatedfInput
        33: .line 284
            aload 2 /* dataRow */
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            aload 7 /* formatedfInput */
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            aastore
        34: .line 285
            goto 106
        end local 7 // java.lang.String formatedfInput
        end local 6 // java.text.DecimalFormat decimalFormatter
        35: .line 291
      StackMap locals:
      StackMap stack:
            new java.text.DecimalFormat
            dup
            ldc "#"
            invokespecial java.text.DecimalFormat.<init>:(Ljava/lang/String;)V
            astore 6 /* decimalFormatter */
        start local 6 // java.text.DecimalFormat decimalFormatter
        36: .line 292
            aload 6 /* decimalFormatter */
            getstatic java.math.RoundingMode.DOWN:Ljava/math/RoundingMode;
            invokevirtual java.text.DecimalFormat.setRoundingMode:(Ljava/math/RoundingMode;)V
        37: .line 293
            aload 6 /* decimalFormatter */
        38: .line 294
            aload 1 /* data */
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            aaload
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            invokevirtual java.text.DecimalFormat.format:(D)Ljava/lang/String;
        39: .line 293
            astore 7 /* formatedfInput */
        start local 7 // java.lang.String formatedfInput
        40: .line 295
            aload 2 /* dataRow */
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            aload 7 /* formatedfInput */
            invokestatic java.lang.Short.valueOf:(Ljava/lang/String;)Ljava/lang/Short;
            aastore
        41: .line 296
            goto 106
        end local 7 // java.lang.String formatedfInput
        end local 6 // java.text.DecimalFormat decimalFormatter
        42: .line 300
      StackMap locals:
      StackMap stack:
            new java.math.BigDecimal
            dup
            aload 1 /* data */
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            aaload
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokespecial java.math.BigDecimal.<init>:(Ljava/lang/String;)V
            astore 6 /* bd */
        start local 6 // java.math.BigDecimal bd
        43: .line 302
            aload 2 /* dataRow */
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            aload 6 /* 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;
            aastore
        44: .line 303
            goto 106
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord java.lang.String[] java.lang.Object[] java.util.Map$Entry java.util.Iterator com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata java.math.BigDecimal
      StackMap stack: java.lang.ArithmeticException
        45: astore 7 /* ex */
        start local 7 // java.lang.ArithmeticException ex
        46: .line 304
            new java.lang.StringBuilder
            dup
            ldc "'"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* data */
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            aaload
            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;
            astore 8 /* value */
        start local 8 // java.lang.String value
        47: .line 305
            new java.text.MessageFormat
            dup
        48: .line 306
            ldc "R_errorConvertingValue"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        49: .line 305
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 9 /* form */
        start local 9 // java.text.MessageFormat form
        50: .line 307
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
        51: .line 308
            aload 9 /* form */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* value */
            aastore
            dup
            iconst_1
            aload 5 /* 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
            aload 7 /* ex */
        52: .line 307
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V
            athrow
        end local 9 // java.text.MessageFormat form
        end local 8 // java.lang.String value
        end local 7 // java.lang.ArithmeticException ex
        end local 6 // java.math.BigDecimal bd
        53: .line 317
      StackMap locals:
      StackMap stack:
            new java.math.BigDecimal
            dup
            aload 1 /* data */
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            aaload
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokespecial java.math.BigDecimal.<init>:(Ljava/lang/String;)V
            astore 6 /* bd */
        start local 6 // java.math.BigDecimal bd
        54: .line 318
            aload 2 /* dataRow */
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            aload 6 /* bd */
            aload 5 /* 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;
            aastore
        55: .line 319
            goto 106
        end local 6 // java.math.BigDecimal bd
        56: .line 325
      StackMap locals:
      StackMap stack:
            aload 2 /* dataRow */
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
        57: .line 326
            iconst_1
            isub
            dconst_0
            aload 1 /* data */
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            aaload
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            dcmpl
            ifne 58
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            goto 59
        58: .line 327
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord java.lang.String[] java.lang.Object[] java.util.Map$Entry java.util.Iterator com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata
      StackMap stack: java.lang.Object[] int
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
        59: .line 325
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord java.lang.String[] java.lang.Object[] java.util.Map$Entry java.util.Iterator com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata
      StackMap stack: java.lang.Object[] int java.lang.Boolean
            aastore
        60: .line 328
            goto 106
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
        61: pop
        62: .line 329
            aload 2 /* dataRow */
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            aload 1 /* data */
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            aaload
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
        63: .line 331
            goto 106
        64: .line 335
      StackMap locals:
      StackMap stack:
            aload 2 /* dataRow */
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            aload 1 /* data */
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            aaload
            invokestatic java.lang.Float.parseFloat:(Ljava/lang/String;)F
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            aastore
        65: .line 336
            goto 106
        66: .line 340
      StackMap locals:
      StackMap stack:
            aload 2 /* dataRow */
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            aload 1 /* data */
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            aaload
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
        67: .line 341
            goto 106
        68: .line 358
      StackMap locals:
      StackMap stack:
            aload 1 /* data */
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            aaload
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 6 /* binData */
        start local 6 // java.lang.String binData
        69: .line 359
            aload 6 /* binData */
            ldc "0x"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 70
            aload 6 /* binData */
            ldc "0X"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 72
        70: .line 360
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* dataRow */
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            aload 6 /* binData */
            iconst_2
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            aastore
        71: .line 361
            goto 106
        72: .line 362
      StackMap locals:
      StackMap stack:
            aload 2 /* dataRow */
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            aload 6 /* binData */
            aastore
        73: .line 364
            goto 106
        end local 6 // java.lang.String binData
        74: .line 371
      StackMap locals:
      StackMap stack:
            aload 5 /* cm */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata.dateTimeFormatter:Ljava/time/format/DateTimeFormatter;
            ifnull 77
        75: .line 372
            aload 1 /* data */
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            aaload
            aload 5 /* 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 6 /* offsetTimeValue */
        start local 6 // java.time.OffsetTime offsetTimeValue
        76: goto 81
        end local 6 // java.time.OffsetTime offsetTimeValue
        77: .line 373
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.timeFormatter:Ljava/time/format/DateTimeFormatter;
            ifnull 80
        78: .line 374
            aload 1 /* data */
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            aaload
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.timeFormatter:Ljava/time/format/DateTimeFormatter;
            invokestatic java.time.OffsetTime.parse:(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/OffsetTime;
            astore 6 /* offsetTimeValue */
        start local 6 // java.time.OffsetTime offsetTimeValue
        79: goto 81
        end local 6 // java.time.OffsetTime offsetTimeValue
        80: .line 376
      StackMap locals:
      StackMap stack:
            aload 1 /* data */
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            aaload
            invokestatic java.time.OffsetTime.parse:(Ljava/lang/CharSequence;)Ljava/time/OffsetTime;
            astore 6 /* offsetTimeValue */
        start local 6 // java.time.OffsetTime offsetTimeValue
        81: .line 378
      StackMap locals: java.time.OffsetTime
      StackMap stack:
            aload 2 /* dataRow */
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            aload 6 /* offsetTimeValue */
            aastore
        82: .line 379
            goto 106
        end local 6 // java.time.OffsetTime offsetTimeValue
        83: .line 386
      StackMap locals:
      StackMap stack:
            aload 5 /* cm */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata.dateTimeFormatter:Ljava/time/format/DateTimeFormatter;
            ifnull 88
        84: .line 387
            aload 1 /* data */
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            aaload
        85: .line 388
            aload 5 /* cm */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata.dateTimeFormatter:Ljava/time/format/DateTimeFormatter;
        86: .line 387
            invokestatic java.time.OffsetDateTime.parse:(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/OffsetDateTime;
            astore 6 /* offsetDateTimeValue */
        start local 6 // java.time.OffsetDateTime offsetDateTimeValue
        87: .line 388
            goto 92
        end local 6 // java.time.OffsetDateTime offsetDateTimeValue
        88: .line 389
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.dateTimeFormatter:Ljava/time/format/DateTimeFormatter;
            ifnull 91
        89: .line 390
            aload 1 /* data */
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            aaload
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.dateTimeFormatter:Ljava/time/format/DateTimeFormatter;
            invokestatic java.time.OffsetDateTime.parse:(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/OffsetDateTime;
            astore 6 /* offsetDateTimeValue */
        start local 6 // java.time.OffsetDateTime offsetDateTimeValue
        90: goto 92
        end local 6 // java.time.OffsetDateTime offsetDateTimeValue
        91: .line 392
      StackMap locals:
      StackMap stack:
            aload 1 /* data */
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            aaload
            invokestatic java.time.OffsetDateTime.parse:(Ljava/lang/CharSequence;)Ljava/time/OffsetDateTime;
            astore 6 /* offsetDateTimeValue */
        start local 6 // java.time.OffsetDateTime offsetDateTimeValue
        92: .line 394
      StackMap locals: java.time.OffsetDateTime
      StackMap stack:
            aload 2 /* dataRow */
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            aload 6 /* offsetDateTimeValue */
            aastore
        93: .line 395
            goto 106
        end local 6 // java.time.OffsetDateTime offsetDateTimeValue
        94: .line 399
      StackMap locals:
      StackMap stack:
            aload 2 /* dataRow */
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            aconst_null
            aastore
        95: .line 400
            goto 106
        96: .line 427
      StackMap locals:
      StackMap stack:
            aload 2 /* dataRow */
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            aload 1 /* data */
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            aaload
            aastore
        97: .line 431
            goto 106
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
        98: astore 6 /* e */
        start local 6 // java.lang.IllegalArgumentException e
        99: .line 432
            new java.lang.StringBuilder
            dup
            ldc "'"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* data */
            aload 3 /* pair */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
            aaload
            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;
            astore 7 /* value */
        start local 7 // java.lang.String value
       100: .line 433
            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 8 /* form */
        start local 8 // java.text.MessageFormat form
       101: .line 434
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 8 /* form */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* value */
            aastore
            dup
            iconst_1
            aload 5 /* 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
       102: .line 435
            aload 6 /* e */
       103: .line 434
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V
            athrow
        end local 8 // java.text.MessageFormat form
        end local 7 // java.lang.String value
        end local 6 // java.lang.IllegalArgumentException e
       104: .line 436
      StackMap locals:
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
            astore 6 /* e */
        start local 6 // java.lang.ArrayIndexOutOfBoundsException e
       105: .line 437
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_DataSchemaMismatch"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aload 6 /* e */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.ArrayIndexOutOfBoundsException e
        end local 5 // com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata cm
        end local 3 // java.util.Map$Entry pair
       106: .line 249
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord java.lang.String[] java.lang.Object[] top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
       107: .line 441
            aload 2 /* dataRow */
            areturn
        end local 2 // java.lang.Object[] dataRow
        end local 1 // java.lang.String[] data
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0  108     0                 this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCSVFileRecord;
            8  108     1                 data  [Ljava/lang/String;
            9  108     2              dataRow  [Ljava/lang/Object;
           11  106     3                 pair  Ljava/util/Map$Entry<Ljava/lang/Integer;Lcom/microsoft/sqlserver/jdbc/SQLServerBulkRecord$ColumnMetadata;>;
           12  106     5                   cm  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkRecord$ColumnMetadata;
           14   18     6                 form  Ljava/text/MessageFormat;
           15   18     7              msgArgs  [Ljava/lang/Object;
           20   24     6                 form  Ljava/text/MessageFormat;
           21   24     7              msgArgs  [Ljava/lang/Object;
           29   35     6     decimalFormatter  Ljava/text/DecimalFormat;
           33   35     7       formatedfInput  Ljava/lang/String;
           36   42     6     decimalFormatter  Ljava/text/DecimalFormat;
           40   42     7       formatedfInput  Ljava/lang/String;
           43   53     6                   bd  Ljava/math/BigDecimal;
           46   53     7                   ex  Ljava/lang/ArithmeticException;
           47   53     8                value  Ljava/lang/String;
           50   53     9                 form  Ljava/text/MessageFormat;
           54   56     6                   bd  Ljava/math/BigDecimal;
           69   74     6              binData  Ljava/lang/String;
           76   77     6      offsetTimeValue  Ljava/time/OffsetTime;
           79   80     6      offsetTimeValue  Ljava/time/OffsetTime;
           81   83     6      offsetTimeValue  Ljava/time/OffsetTime;
           87   88     6  offsetDateTimeValue  Ljava/time/OffsetDateTime;
           90   91     6  offsetDateTimeValue  Ljava/time/OffsetDateTime;
           92   94     6  offsetDateTimeValue  Ljava/time/OffsetDateTime;
           99  104     6                    e  Ljava/lang/IllegalArgumentException;
          100  104     7                value  Ljava/lang/String;
          101  104     8                 form  Ljava/text/MessageFormat;
          105  106     6                    e  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
          43    44      45  Class java.lang.ArithmeticException
          56    60      61  Class java.lang.NumberFormatException
          24    26      98  Class java.lang.IllegalArgumentException
          27    97      98  Class java.lang.IllegalArgumentException
          24    26     104  Class java.lang.ArrayIndexOutOfBoundsException
          27    97     104  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.SQLServerBulkCSVFileRecord 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 448
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.loggerExternal:Ljava/util/logging/Logger;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.loggerPackageName:Ljava/lang/String;
            ldc "addColumnMetadata"
         1: .line 449
            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
         2: .line 448
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         3: .line 451
            ldc ""
            astore 7 /* colName */
        start local 7 // java.lang.String colName
         4: .line 453
            iload 1 /* positionInSource */
            ifgt 8
         5: .line 454
            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
         6: .line 455
            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
         7: .line 456
            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
         8: .line 459
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* name */
            ifnull 10
         9: .line 460
            aload 2 /* name */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 7 /* colName */
            goto 12
        10: .line 461
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.columnNames:[Ljava/lang/String;
            ifnull 12
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.columnNames:[Ljava/lang/String;
            arraylength
            iload 1 /* positionInSource */
            if_icmplt 12
        11: .line 462
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.columnNames:[Ljava/lang/String;
            iload 1 /* positionInSource */
            iconst_1
            isub
            aaload
            astore 7 /* colName */
        12: .line 464
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.columnNames:[Ljava/lang/String;
            ifnull 16
            iload 1 /* positionInSource */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.columnNames:[Ljava/lang/String;
            arraylength
            if_icmple 16
        13: .line 465
            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
        14: .line 466
            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
        15: .line 467
            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
        16: .line 470
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* positionInSource */
            aload 2 /* name */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.checkDuplicateColumnName:(ILjava/lang/String;)V
        17: .line 471
            iload 3 /* jdbcType */
            lookupswitch { // 7
                 -155: 18
                    6: 26
                   16: 30
                   91: 18
                   92: 18
                   93: 18
                 2009: 22
              default: 34
          }
        18: .line 481
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.columnMetadata:Ljava/util/Map;
            iload 1 /* positionInSource */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        19: .line 482
            new com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata
            dup
            aload 0 /* this */
            aload 7 /* colName */
            iload 3 /* jdbcType */
            bipush 50
            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
        20: .line 481
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 483
            goto 37
        22: .line 488
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.columnMetadata:Ljava/util/Map;
            iload 1 /* positionInSource */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        23: .line 489
            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
        24: .line 488
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        25: .line 490
            goto 37
        26: .line 496
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.columnMetadata:Ljava/util/Map;
            iload 1 /* positionInSource */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        27: .line 497
            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
        28: .line 496
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        29: .line 498
            goto 37
        30: .line 502
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.columnMetadata:Ljava/util/Map;
            iload 1 /* positionInSource */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        31: .line 503
            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
        32: .line 502
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        33: .line 504
            goto 37
        34: .line 507
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.columnMetadata:Ljava/util/Map;
            iload 1 /* positionInSource */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        35: .line 508
            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
        36: .line 507
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        37: .line 511
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.loggerExternal:Ljava/util/logging/Logger;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.loggerPackageName:Ljava/lang/String;
            ldc "addColumnMetadata"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        38: .line 512
            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.SQLServerBulkCSVFileRecord this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   39     0               this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCSVFileRecord;
            0   39     1   positionInSource  I
            0   39     2               name  Ljava/lang/String;
            0   39     3           jdbcType  I
            0   39     4          precision  I
            0   39     5              scale  I
            0   39     6  dateTimeFormatter  Ljava/time/format/DateTimeFormatter;
            4   39     7            colName  Ljava/lang/String;
            6    8     8               form  Ljava/text/MessageFormat;
            7    8     9            msgArgs  [Ljava/lang/Object;
           14   16     8               form  Ljava/text/MessageFormat;
           15   16     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=6, locals=2, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord this
         0: .line 517
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.fileReader:Ljava/io/BufferedReader;
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.currentLine:Ljava/lang/String;
         1: .line 518
            goto 4
      StackMap locals:
      StackMap stack: java.io.IOException
         2: astore 1 /* e */
        start local 1 // java.io.IOException e
         3: .line 519
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 1 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            aconst_null
            iconst_0
            aload 1 /* e */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V
            athrow
        end local 1 // java.io.IOException e
         4: .line 521
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.currentLine:Ljava/lang/String;
            ifnull 5
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCSVFileRecord;
            3    4     1     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  public boolean isEscapeColumnDelimitersCSV();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord this
         0: .line 530
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.escapeDelimiters:Z
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCSVFileRecord;

  public void setEscapeColumnDelimitersCSV(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord this
        start local 1 // boolean escapeDelimiters
         0: .line 544
            aload 0 /* this */
            iload 1 /* escapeDelimiters */
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.escapeDelimiters:Z
         1: .line 545
            return
        end local 1 // boolean escapeDelimiters
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCSVFileRecord;
            0    2     1  escapeDelimiters  Z
    MethodParameters:
                  Name  Flags
      escapeDelimiters  

  private static java.lang.String[] escapeQuotesRFC4180(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=1
        start local 0 // java.lang.String[] tokens
         0: .line 548
            aload 0 /* tokens */
            ifnonnull 2
         1: .line 549
            aload 0 /* tokens */
            areturn
         2: .line 551
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         3: goto 26
         4: .line 552
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 2 /* escaped */
        start local 2 // boolean escaped
         5: .line 553
            iconst_0
            istore 3 /* j */
        start local 3 // int j
         6: .line 554
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 4 /* sb */
        start local 4 // java.lang.StringBuilder sb
         7: .line 555
            aload 0 /* tokens */
            iload 1 /* i */
            aaload
            invokevirtual java.lang.String.chars:()Ljava/util/stream/IntStream;
            invokedynamic test()Ljava/util/function/IntPredicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (I)Z
                  com/microsoft/sqlserver/jdbc/SQLServerBulkCSVFileRecord.lambda$0(I)Z (6)
                  (I)Z
            invokeinterface java.util.stream.IntStream.filter:(Ljava/util/function/IntPredicate;)Ljava/util/stream/IntStream;
            invokeinterface java.util.stream.IntStream.count:()J
            lstore 5 /* quoteCount */
        start local 5 // long quoteCount
         8: .line 556
            lload 5 /* quoteCount */
            lconst_0
            lcmp
            ifle 10
         9: .line 557
            aload 0 /* tokens */
            iload 1 /* i */
            aload 0 /* tokens */
            iload 1 /* i */
            aaload
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            aastore
        10: .line 559
      StackMap locals: java.lang.String[] int int int java.lang.StringBuilder long
      StackMap stack:
            lconst_0
            lload 5 /* quoteCount */
            ldc 2
            lrem
            lcmp
            ifne 12
            lload 5 /* quoteCount */
            lconst_0
            lcmp
            ifle 23
        11: .line 560
            bipush 34
            aload 0 /* tokens */
            iload 1 /* i */
            aaload
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpne 12
            bipush 34
            aload 0 /* tokens */
            iload 1 /* i */
            aaload
            aload 0 /* tokens */
            iload 1 /* i */
            aaload
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpeq 23
        12: .line 561
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_InvalidCSVQuotes"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
            iconst_0
            aconst_null
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V
            athrow
        13: .line 564
      StackMap locals:
      StackMap stack:
            bipush 34
            aload 0 /* tokens */
            iload 1 /* i */
            aaload
            iload 3 /* j */
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpne 21
        14: .line 565
            iload 2 /* escaped */
            ifne 17
        15: .line 566
            iconst_1
            istore 2 /* escaped */
        16: .line 567
            goto 22
        17: .line 568
      StackMap locals:
      StackMap stack:
            iload 3 /* j */
            aload 0 /* tokens */
            iload 1 /* i */
            aaload
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            if_icmpge 22
            bipush 34
            aload 0 /* tokens */
            iload 1 /* i */
            aaload
            iload 3 /* j */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpne 22
        18: .line 569
            aload 4 /* sb */
            bipush 34
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        19: .line 570
            iinc 3 /* j */ 1
        20: .line 573
            goto 22
        21: .line 574
      StackMap locals:
      StackMap stack:
            aload 4 /* sb */
            aload 0 /* tokens */
            iload 1 /* i */
            aaload
            iload 3 /* j */
            invokevirtual java.lang.String.charAt:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        22: .line 576
      StackMap locals:
      StackMap stack:
            iinc 3 /* j */ 1
        23: .line 563
      StackMap locals:
      StackMap stack:
            iload 3 /* j */
            aload 0 /* tokens */
            iload 1 /* i */
            aaload
            invokevirtual java.lang.String.length:()I
            if_icmplt 13
        24: .line 578
            aload 0 /* tokens */
            iload 1 /* i */
            aload 4 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
        end local 5 // long quoteCount
        end local 4 // java.lang.StringBuilder sb
        end local 3 // int j
        end local 2 // boolean escaped
        25: .line 551
            iinc 1 /* i */ 1
      StackMap locals: java.lang.String[] int
      StackMap stack:
        26: iload 1 /* i */
            aload 0 /* tokens */
            arraylength
            if_icmplt 4
        end local 1 // int i
        27: .line 580
            aload 0 /* tokens */
            areturn
        end local 0 // java.lang.String[] tokens
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   28     0      tokens  [Ljava/lang/String;
            3   27     1           i  I
            5   25     2     escaped  Z
            6   25     3           j  I
            7   25     4          sb  Ljava/lang/StringBuilder;
            8   25     5  quoteCount  J
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
        Name  Flags
      tokens  

  public java.util.Set getColumnOrdinals();
    descriptor: ()Ljava/util/Set;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkRecord.getColumnOrdinals:()Ljava/util/Set;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void setTimestampWithTimezoneFormat(java.time.format.DateTimeFormatter);
    descriptor: (Ljava/time/format/DateTimeFormatter;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkRecord.setTimestampWithTimezoneFormat:(Ljava/time/format/DateTimeFormatter;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void setTimestampWithTimezoneFormat(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkRecord.setTimestampWithTimezoneFormat:(Ljava/lang/String;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.String getColumnName(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            iload 1
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkRecord.getColumnName:(I)Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public int getScale(int);
    descriptor: (I)I
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            iload 1
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkRecord.getScale:(I)I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void addColumnMetadata(int, java.lang.String, int, int, int);
    descriptor: (ILjava/lang/String;III)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=6, locals=6, args_size=6
         0: .line 1
            aload 0
            iload 1
            aload 2
            iload 3
            iload 4
            iload 5
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkRecord.addColumnMetadata:(ILjava/lang/String;III)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  public void addColumnMetadata(int, java.lang.String, int, int, int, java.time.format.DateTimeFormatter);
    descriptor: (ILjava/lang/String;IIILjava/time/format/DateTimeFormatter;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=7, locals=7, args_size=7
         0: .line 1
            aload 0
            iload 1
            aload 2
            iload 3
            iload 4
            iload 5
            aload 6
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkRecord.addColumnMetadata:(ILjava/lang/String;IIILjava/time/format/DateTimeFormatter;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  public int getPrecision(int);
    descriptor: (I)I
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            iload 1
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkRecord.getPrecision:(I)I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void setTimeWithTimezoneFormat(java.time.format.DateTimeFormatter);
    descriptor: (Ljava/time/format/DateTimeFormatter;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkRecord.setTimeWithTimezoneFormat:(Ljava/time/format/DateTimeFormatter;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void setTimeWithTimezoneFormat(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkRecord.setTimeWithTimezoneFormat:(Ljava/lang/String;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.time.format.DateTimeFormatter getColumnDateTimeFormatter(int);
    descriptor: (I)Ljava/time/format/DateTimeFormatter;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            iload 1
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkRecord.getColumnDateTimeFormatter:(I)Ljava/time/format/DateTimeFormatter;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public int getColumnType(int);
    descriptor: (I)I
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            iload 1
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkRecord.getColumnType:(I)I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public boolean isAutoIncrement(int);
    descriptor: (I)Z
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            iload 1
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkRecord.isAutoIncrement:(I)Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static boolean lambda$0(int);
    descriptor: (I)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int ch
         0: .line 555
            iload 0 /* ch */
            bipush 34
            if_icmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // int ch
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0    ch  I
}
SourceFile: "SQLServerBulkCSVFileRecord.java"
InnerClasses:
  protected ColumnMetadata = com.microsoft.sqlserver.jdbc.SQLServerBulkRecord$ColumnMetadata of com.microsoft.sqlserver.jdbc.SQLServerBulkRecord
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map