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

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

  private static final java.util.logging.Logger loggerExternal;
    descriptor: Ljava/util/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

  private java.util.List<com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping> columnMappings;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy$ColumnMapping;>;

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

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

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

  private java.sql.ResultSet sourceResultSet;
    descriptor: Ljava/sql/ResultSet;
    flags: (0x0002) ACC_PRIVATE

  private java.sql.ResultSetMetaData sourceResultSetMetaData;
    descriptor: Ljava/sql/ResultSetMetaData;
    flags: (0x0002) ACC_PRIVATE

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

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

  private java.sql.ResultSet destinationTableMetadata;
    descriptor: Ljava/sql/ResultSet;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Map<java.lang.Integer, com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData> destColumnMetadata;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/Integer;Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy$BulkColumnMetaData;>;

  private java.util.Map<java.lang.Integer, com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData> srcColumnMetadata;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/Integer;Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy$BulkColumnMetaData;>;

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

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

  private java.util.concurrent.ScheduledFuture<?> timeout;
    descriptor: Ljava/util/concurrent/ScheduledFuture;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/concurrent/ScheduledFuture<*>;

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

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 114
            ldc "com.microsoft.sqlserver.jdbc.SQLServerBulkCopy"
            invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
            putstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.loggerExternal:Ljava/util/logging/Logger;
         1: .line 260
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.sql.Connection);
    descriptor: (Ljava/sql/Connection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // java.sql.Connection connection
         0: .line 270
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 164
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destCekTable:Lcom/microsoft/sqlserver/jdbc/CekTable;
         2: .line 169
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting.UseConnectionSetting:Lcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.stmtColumnEncriptionSetting:Lcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;
         3: .line 271
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.loggerExternal:Ljava/util/logging/Logger;
            ldc "com.microsoft.sqlserver.jdbc.SQLServerBulkCopy"
            ldc "SQLServerBulkCopy"
            aload 1 /* connection */
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 273
            aload 1 /* connection */
            ifnull 5
            aload 1 /* connection */
            instanceof com.microsoft.sqlserver.jdbc.ISQLServerConnection
            ifne 8
         5: .line 274
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy java.sql.Connection
      StackMap stack:
            aconst_null
            aconst_null
         6: .line 275
            ldc "R_invalidDestConnection"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
            iconst_0
         7: .line 274
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
         8: .line 278
      StackMap locals:
      StackMap stack:
            aload 1 /* connection */
            instanceof com.microsoft.sqlserver.jdbc.SQLServerConnection
            ifeq 11
         9: .line 279
            aload 0 /* this */
            aload 1 /* connection */
            checkcast com.microsoft.sqlserver.jdbc.SQLServerConnection
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
        10: .line 280
            goto 17
      StackMap locals:
      StackMap stack:
        11: aload 1 /* connection */
            instanceof com.microsoft.sqlserver.jdbc.SQLServerConnectionPoolProxy
            ifeq 14
        12: .line 281
            aload 0 /* this */
            aload 1 /* connection */
            checkcast com.microsoft.sqlserver.jdbc.SQLServerConnectionPoolProxy
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnectionPoolProxy.getWrappedConnection:()Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
        13: .line 282
            goto 17
        14: .line 283
      StackMap locals:
      StackMap stack:
            aconst_null
            aconst_null
        15: .line 284
            ldc "R_invalidDestConnection"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
            iconst_0
        16: .line 283
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
        17: .line 286
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.ownsConnection:Z
        18: .line 290
            aload 0 /* this */
            new com.microsoft.sqlserver.jdbc.SQLServerBulkCopyOptions
            dup
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkCopyOptions.<init>:()V
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.copyOptions:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopyOptions;
        19: .line 292
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.initializeDefaults:()V
        20: .line 294
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.loggerExternal:Ljava/util/logging/Logger;
            ldc "com.microsoft.sqlserver.jdbc.SQLServerBulkCopy"
            ldc "SQLServerBulkCopy"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        21: .line 295
            return
        end local 1 // java.sql.Connection connection
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   22     0        this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0   22     1  connection  Ljava/sql/Connection;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
            Name  Flags
      connection  

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // java.lang.String connectionUrl
         0: .line 305
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 164
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destCekTable:Lcom/microsoft/sqlserver/jdbc/CekTable;
         2: .line 169
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting.UseConnectionSetting:Lcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.stmtColumnEncriptionSetting:Lcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;
         3: .line 306
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.loggerExternal:Ljava/util/logging/Logger;
            ldc "com.microsoft.sqlserver.jdbc.SQLServerBulkCopy"
            ldc "SQLServerBulkCopy"
            ldc "connectionUrl not traced."
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 307
            aload 1 /* connectionUrl */
            ifnull 5
            ldc ""
            aload 1 /* connectionUrl */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 308
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy java.lang.String
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aconst_null
            ldc "R_nullConnection"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)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
         6: .line 311
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.ownsConnection:Z
         7: .line 312
            new com.microsoft.sqlserver.jdbc.SQLServerDriver
            dup
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerDriver.<init>:()V
            astore 2 /* driver */
        start local 2 // com.microsoft.sqlserver.jdbc.SQLServerDriver driver
         8: .line 313
            aload 0 /* this */
            aload 2 /* driver */
            aload 1 /* connectionUrl */
            aconst_null
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriver.connect:(Ljava/lang/String;Ljava/util/Properties;)Ljava/sql/Connection;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerConnection
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
         9: .line 314
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            ifnonnull 11
        10: .line 315
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aconst_null
            ldc "R_invalidConnection"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)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
        11: .line 318
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerDriver
      StackMap stack:
            aload 0 /* this */
            new com.microsoft.sqlserver.jdbc.SQLServerBulkCopyOptions
            dup
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkCopyOptions.<init>:()V
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.copyOptions:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopyOptions;
        12: .line 320
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.initializeDefaults:()V
        13: .line 322
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.loggerExternal:Ljava/util/logging/Logger;
            ldc "com.microsoft.sqlserver.jdbc.SQLServerBulkCopy"
            ldc "SQLServerBulkCopy"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        14: .line 323
            return
        end local 2 // com.microsoft.sqlserver.jdbc.SQLServerDriver driver
        end local 1 // java.lang.String connectionUrl
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   15     0           this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0   15     1  connectionUrl  Ljava/lang/String;
            8   15     2         driver  Lcom/microsoft/sqlserver/jdbc/SQLServerDriver;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
               Name  Flags
      connectionUrl  

  public void addColumnMapping(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // int sourceColumn
        start local 2 // int destinationColumn
         0: .line 336
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.loggerExternal:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 4
         1: .line 337
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.loggerExternal:Ljava/util/logging/Logger;
            ldc "com.microsoft.sqlserver.jdbc.SQLServerBulkCopy"
            ldc "addColumnMapping"
         2: .line 338
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* sourceColumn */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            iload 2 /* destinationColumn */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         3: .line 337
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 341
      StackMap locals:
      StackMap stack:
            iload 1 /* sourceColumn */
            ifgt 7
         5: .line 342
            aload 0 /* this */
            ldc "sourceColumn"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.throwInvalidArgument:(Ljava/lang/String;)V
         6: .line 343
            goto 9
      StackMap locals:
      StackMap stack:
         7: iload 2 /* destinationColumn */
            ifgt 9
         8: .line 344
            aload 0 /* this */
            ldc "destinationColumn"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.throwInvalidArgument:(Ljava/lang/String;)V
         9: .line 346
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.columnMappings:Ljava/util/List;
            new com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping
            dup
            aload 0 /* this */
            iload 1 /* sourceColumn */
            iload 2 /* destinationColumn */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;II)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        10: .line 348
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.loggerExternal:Ljava/util/logging/Logger;
            ldc "com.microsoft.sqlserver.jdbc.SQLServerBulkCopy"
            ldc "addColumnMapping"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        11: .line 349
            return
        end local 2 // int destinationColumn
        end local 1 // int sourceColumn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   12     0               this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0   12     1       sourceColumn  I
            0   12     2  destinationColumn  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                   Name  Flags
      sourceColumn       
      destinationColumn  

  public void addColumnMapping(int, java.lang.String);
    descriptor: (ILjava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // int sourceColumn
        start local 2 // java.lang.String destinationColumn
         0: .line 362
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.loggerExternal:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 4
         1: .line 363
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.loggerExternal:Ljava/util/logging/Logger;
            ldc "com.microsoft.sqlserver.jdbc.SQLServerBulkCopy"
            ldc "addColumnMapping"
         2: .line 364
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* sourceColumn */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 2 /* destinationColumn */
            aastore
         3: .line 363
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 367
      StackMap locals:
      StackMap stack:
            iload 1 /* sourceColumn */
            ifgt 7
         5: .line 368
            aload 0 /* this */
            ldc "sourceColumn"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.throwInvalidArgument:(Ljava/lang/String;)V
         6: .line 369
            goto 9
      StackMap locals:
      StackMap stack:
         7: aload 2 /* destinationColumn */
            ifnull 8
            aload 2 /* destinationColumn */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 9
         8: .line 370
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "destinationColumn"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.throwInvalidArgument:(Ljava/lang/String;)V
         9: .line 372
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.columnMappings:Ljava/util/List;
            new com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping
            dup
            aload 0 /* this */
            iload 1 /* sourceColumn */
            aload 2 /* destinationColumn */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;ILjava/lang/String;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        10: .line 374
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.loggerExternal:Ljava/util/logging/Logger;
            ldc "com.microsoft.sqlserver.jdbc.SQLServerBulkCopy"
            ldc "addColumnMapping"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        11: .line 375
            return
        end local 2 // java.lang.String destinationColumn
        end local 1 // int sourceColumn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   12     0               this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0   12     1       sourceColumn  I
            0   12     2  destinationColumn  Ljava/lang/String;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                   Name  Flags
      sourceColumn       
      destinationColumn  

  public void addColumnMapping(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // java.lang.String sourceColumn
        start local 2 // int destinationColumn
         0: .line 389
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.loggerExternal:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 4
         1: .line 390
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.loggerExternal:Ljava/util/logging/Logger;
            ldc "com.microsoft.sqlserver.jdbc.SQLServerBulkCopy"
            ldc "addColumnMapping"
         2: .line 391
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* sourceColumn */
            aastore
            dup
            iconst_1
            iload 2 /* destinationColumn */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         3: .line 390
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 394
      StackMap locals:
      StackMap stack:
            iload 2 /* destinationColumn */
            ifgt 7
         5: .line 395
            aload 0 /* this */
            ldc "destinationColumn"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.throwInvalidArgument:(Ljava/lang/String;)V
         6: .line 396
            goto 9
      StackMap locals:
      StackMap stack:
         7: aload 1 /* sourceColumn */
            ifnull 8
            aload 1 /* sourceColumn */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 9
         8: .line 397
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "sourceColumn"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.throwInvalidArgument:(Ljava/lang/String;)V
         9: .line 399
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.columnMappings:Ljava/util/List;
            new com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping
            dup
            aload 0 /* this */
            aload 1 /* sourceColumn */
            iload 2 /* destinationColumn */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;Ljava/lang/String;I)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        10: .line 401
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.loggerExternal:Ljava/util/logging/Logger;
            ldc "com.microsoft.sqlserver.jdbc.SQLServerBulkCopy"
            ldc "addColumnMapping"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        11: .line 402
            return
        end local 2 // int destinationColumn
        end local 1 // java.lang.String sourceColumn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   12     0               this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0   12     1       sourceColumn  Ljava/lang/String;
            0   12     2  destinationColumn  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                   Name  Flags
      sourceColumn       
      destinationColumn  

  public void addColumnMapping(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // java.lang.String sourceColumn
        start local 2 // java.lang.String destinationColumn
         0: .line 415
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.loggerExternal:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 4
         1: .line 416
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.loggerExternal:Ljava/util/logging/Logger;
            ldc "com.microsoft.sqlserver.jdbc.SQLServerBulkCopy"
            ldc "addColumnMapping"
         2: .line 417
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* sourceColumn */
            aastore
            dup
            iconst_1
            aload 2 /* destinationColumn */
            aastore
         3: .line 416
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 420
      StackMap locals:
      StackMap stack:
            aload 1 /* sourceColumn */
            ifnull 5
            aload 1 /* sourceColumn */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 7
         5: .line 421
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "sourceColumn"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.throwInvalidArgument:(Ljava/lang/String;)V
         6: .line 422
            goto 9
      StackMap locals:
      StackMap stack:
         7: aload 2 /* destinationColumn */
            ifnull 8
            aload 2 /* destinationColumn */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 9
         8: .line 423
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "destinationColumn"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.throwInvalidArgument:(Ljava/lang/String;)V
         9: .line 425
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.columnMappings:Ljava/util/List;
            new com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping
            dup
            aload 0 /* this */
            aload 1 /* sourceColumn */
            aload 2 /* destinationColumn */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;Ljava/lang/String;Ljava/lang/String;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        10: .line 427
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.loggerExternal:Ljava/util/logging/Logger;
            ldc "com.microsoft.sqlserver.jdbc.SQLServerBulkCopy"
            ldc "addColumnMapping"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        11: .line 428
            return
        end local 2 // java.lang.String destinationColumn
        end local 1 // java.lang.String sourceColumn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   12     0               this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0   12     1       sourceColumn  Ljava/lang/String;
            0   12     2  destinationColumn  Ljava/lang/String;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                   Name  Flags
      sourceColumn       
      destinationColumn  

  public void clearColumnMappings();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
         0: .line 434
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.loggerExternal:Ljava/util/logging/Logger;
            ldc "com.microsoft.sqlserver.jdbc.SQLServerBulkCopy"
            ldc "clearColumnMappings"
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 436
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.columnMappings:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
         2: .line 438
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.loggerExternal:Ljava/util/logging/Logger;
            ldc "com.microsoft.sqlserver.jdbc.SQLServerBulkCopy"
            ldc "clearColumnMappings"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
         3: .line 439
            return
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
         0: .line 445
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.loggerExternal:Ljava/util/logging/Logger;
            ldc "com.microsoft.sqlserver.jdbc.SQLServerBulkCopy"
            ldc "close"
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 447
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.ownsConnection:Z
            ifeq 5
         2: .line 449
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.close:()V
         3: .line 450
            goto 5
      StackMap locals:
      StackMap stack: java.sql.SQLException
         4: pop
         5: .line 455
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.loggerExternal:Ljava/util/logging/Logger;
            ldc "com.microsoft.sqlserver.jdbc.SQLServerBulkCopy"
            ldc "close"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
         6: .line 456
            return
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
      Exception table:
        from    to  target  type
           2     3       4  Class java.sql.SQLException

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

  public void setDestinationTableName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // java.lang.String tableName
         0: .line 476
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.loggerExternal:Ljava/util/logging/Logger;
            ldc "com.microsoft.sqlserver.jdbc.SQLServerBulkCopy"
            ldc "setDestinationTableName"
            aload 1 /* tableName */
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 478
            aload 1 /* tableName */
            ifnull 2
            aload 1 /* tableName */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifne 3
         2: .line 479
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "tableName"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.throwInvalidArgument:(Ljava/lang/String;)V
         3: .line 482
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* tableName */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destinationTableName:Ljava/lang/String;
         4: .line 484
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.loggerExternal:Ljava/util/logging/Logger;
            ldc "com.microsoft.sqlserver.jdbc.SQLServerBulkCopy"
            ldc "setDestinationTableName"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
         5: .line 485
            return
        end local 1 // java.lang.String tableName
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0    6     1  tableName  Ljava/lang/String;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
           Name  Flags
      tableName  

  public com.microsoft.sqlserver.jdbc.SQLServerBulkCopyOptions getBulkCopyOptions();
    descriptor: ()Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopyOptions;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
         0: .line 493
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.copyOptions:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopyOptions;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;

  public void setBulkCopyOptions(com.microsoft.sqlserver.jdbc.SQLServerBulkCopyOptions);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopyOptions;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopyOptions copyOptions
         0: .line 507
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.loggerExternal:Ljava/util/logging/Logger;
            ldc "com.microsoft.sqlserver.jdbc.SQLServerBulkCopy"
            ldc "updateBulkCopyOptions"
            aload 1 /* copyOptions */
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 509
            aload 1 /* copyOptions */
            ifnull 7
         2: .line 514
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.ownsConnection:Z
            ifne 6
            aload 1 /* copyOptions */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopyOptions.isUseInternalTransaction:()Z
            ifeq 6
         3: .line 515
            aconst_null
            aconst_null
         4: .line 516
            ldc "R_invalidTransactionOption"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
            iconst_0
         5: .line 515
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
         6: .line 519
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* copyOptions */
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.copyOptions:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopyOptions;
         7: .line 521
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.loggerExternal:Ljava/util/logging/Logger;
            ldc "com.microsoft.sqlserver.jdbc.SQLServerBulkCopy"
            ldc "updateBulkCopyOptions"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
         8: .line 522
            return
        end local 1 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopyOptions copyOptions
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0    9     1  copyOptions  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopyOptions;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
             Name  Flags
      copyOptions  

  public void writeToServer(java.sql.ResultSet);
    descriptor: (Ljava/sql/ResultSet;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // java.sql.ResultSet sourceData
         0: .line 534
            aload 0 /* this */
            aload 1 /* sourceData */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeResultSet:(Ljava/sql/ResultSet;Z)V
         1: .line 535
            return
        end local 1 // java.sql.ResultSet sourceData
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0    2     1  sourceData  Ljava/sql/ResultSet;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
            Name  Flags
      sourceData  

  public void writeToServer(javax.sql.RowSet);
    descriptor: (Ljavax/sql/RowSet;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // javax.sql.RowSet sourceData
         0: .line 547
            aload 0 /* this */
            aload 1 /* sourceData */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeResultSet:(Ljava/sql/ResultSet;Z)V
         1: .line 548
            return
        end local 1 // javax.sql.RowSet sourceData
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0    2     1  sourceData  Ljavax/sql/RowSet;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
            Name  Flags
      sourceData  

  private void writeResultSet(java.sql.ResultSet, boolean);
    descriptor: (Ljava/sql/ResultSet;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // java.sql.ResultSet sourceData
        start local 2 // boolean isRowSet
         0: .line 561
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.loggerExternal:Ljava/util/logging/Logger;
            ldc "com.microsoft.sqlserver.jdbc.SQLServerBulkCopy"
            ldc "writeToServer"
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 563
            aload 1 /* sourceData */
            ifnonnull 3
         2: .line 564
            aload 0 /* this */
            ldc "sourceData"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.throwInvalidArgument:(Ljava/lang/String;)V
         3: .line 568
      StackMap locals:
      StackMap stack:
            iload 2 /* isRowSet */
            ifeq 7
         4: .line 571
            aload 1 /* sourceData */
            invokeinterface java.sql.ResultSet.isBeforeFirst:()Z
            ifne 14
         5: .line 572
            aload 1 /* sourceData */
            invokeinterface java.sql.ResultSet.beforeFirst:()V
         6: .line 574
            goto 14
         7: .line 575
      StackMap locals:
      StackMap stack:
            aload 1 /* sourceData */
            invokeinterface java.sql.ResultSet.isClosed:()Z
            ifeq 14
         8: .line 576
            aconst_null
            aconst_null
         9: .line 577
            ldc "R_resultsetClosed"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
            iconst_0
        10: .line 576
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
        11: .line 580
            goto 14
      StackMap locals:
      StackMap stack: java.sql.SQLException
        12: astore 3 /* e */
        start local 3 // java.sql.SQLException e
        13: .line 582
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aconst_null
            aload 3 /* e */
            invokevirtual java.sql.SQLException.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 3 // java.sql.SQLException e
        14: .line 585
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sourceData */
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
        15: .line 587
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.serverBulkData:Lcom/microsoft/sqlserver/jdbc/ISQLServerBulkData;
        16: .line 591
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            invokeinterface java.sql.ResultSet.getMetaData:()Ljava/sql/ResultSetMetaData;
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSetMetaData:Ljava/sql/ResultSetMetaData;
        17: .line 592
            goto 20
      StackMap locals:
      StackMap stack: java.sql.SQLException
        18: astore 3 /* e */
        start local 3 // java.sql.SQLException e
        19: .line 593
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_unableRetrieveColMeta"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aload 3 /* e */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.sql.SQLException e
        20: .line 596
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeToServer:()V
        21: .line 598
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.loggerExternal:Ljava/util/logging/Logger;
            ldc "com.microsoft.sqlserver.jdbc.SQLServerBulkCopy"
            ldc "writeToServer"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        22: .line 599
            return
        end local 2 // boolean isRowSet
        end local 1 // java.sql.ResultSet sourceData
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   23     0        this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0   23     1  sourceData  Ljava/sql/ResultSet;
            0   23     2    isRowSet  Z
           13   14     3           e  Ljava/sql/SQLException;
           19   20     3           e  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           3    11      12  Class java.sql.SQLException
          16    17      18  Class java.sql.SQLException
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
            Name  Flags
      sourceData  
      isRowSet    

  public void writeToServer(com.microsoft.sqlserver.jdbc.ISQLServerBulkData);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/ISQLServerBulkData;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // com.microsoft.sqlserver.jdbc.ISQLServerBulkData sourceData
         0: .line 611
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.loggerExternal:Ljava/util/logging/Logger;
            ldc "com.microsoft.sqlserver.jdbc.SQLServerBulkCopy"
            ldc "writeToServer"
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 613
            aload 1 /* sourceData */
            ifnonnull 3
         2: .line 614
            aload 0 /* this */
            ldc "sourceData"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.throwInvalidArgument:(Ljava/lang/String;)V
         3: .line 617
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sourceData */
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.serverBulkData:Lcom/microsoft/sqlserver/jdbc/ISQLServerBulkData;
         4: .line 618
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
         5: .line 620
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeToServer:()V
         6: .line 622
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.loggerExternal:Ljava/util/logging/Logger;
            ldc "com.microsoft.sqlserver.jdbc.SQLServerBulkCopy"
            ldc "writeToServer"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 623
            return
        end local 1 // com.microsoft.sqlserver.jdbc.ISQLServerBulkData sourceData
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0    8     1  sourceData  Lcom/microsoft/sqlserver/jdbc/ISQLServerBulkData;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
            Name  Flags
      sourceData  

  private void initializeDefaults();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
         0: .line 629
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.columnMappings:Ljava/util/List;
         1: .line 630
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destinationTableName:Ljava/lang/String;
         2: .line 631
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.serverBulkData:Lcom/microsoft/sqlserver/jdbc/ISQLServerBulkData;
         3: .line 632
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
         4: .line 633
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSetMetaData:Ljava/sql/ResultSetMetaData;
         5: .line 634
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.srcColumnCount:I
         6: .line 635
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.srcColumnMetadata:Ljava/util/Map;
         7: .line 636
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
         8: .line 637
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnCount:I
         9: .line 638
            return
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;

  private void sendBulkLoadBCP();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
         0: .line 697
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            new com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$1InsertBulk
            dup
            aload 0 /* this */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$1InsertBulk.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;)V
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand:(Lcom/microsoft/sqlserver/jdbc/TDSCommand;)Z
            pop
         1: .line 698
            return
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  private void writeColumnMetaDataColumnData(com.microsoft.sqlserver.jdbc.TDSWriter, int);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/TDSWriter;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=21, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
        start local 2 // int idx
         0: .line 714
            iconst_4
            newarray 8
            astore 12 /* userType */
        start local 12 // byte[] userType
         1: .line 715
            aload 12 /* userType */
            iconst_0
            iconst_0
            bastore
         2: .line 716
            aload 12 /* userType */
            iconst_1
            iconst_0
            bastore
         3: .line 717
            aload 12 /* userType */
            iconst_2
            iconst_0
            bastore
         4: .line 718
            aload 12 /* userType */
            iconst_3
            iconst_0
            bastore
         5: .line 719
            aload 1 /* tdsWriter */
            aload 12 /* userType */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
         6: .line 725
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.columnMappings:Ljava/util/List;
            iload 2 /* idx */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.destinationColumnOrdinal:I
            istore 13 /* destColumnIndex */
        start local 13 // int destColumnIndex
         7: .line 730
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.columnMappings:Ljava/util/List;
            iload 2 /* idx */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.sourceColumnOrdinal:I
            istore 3 /* srcColumnIndex */
        start local 3 // int srcColumnIndex
         8: .line 732
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 13 /* destColumnIndex */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.flags:[B
            astore 14 /* flags */
        start local 14 // byte[] flags
         9: .line 735
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.srcColumnMetadata:Ljava/util/Map;
            iload 3 /* srcColumnIndex */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            ifnonnull 14
        10: .line 736
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 13 /* destColumnIndex */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            ifnonnull 14
        11: .line 737
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.copyOptions:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopyOptions;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopyOptions.isAllowEncryptedValueModifications:()Z
            ifeq 14
        12: .line 741
            iconst_1
            aload 14 /* flags */
            iconst_1
            baload
            iconst_3
            ishr
            iconst_1
            iand
            if_icmpne 14
        13: .line 742
            aload 14 /* flags */
            iconst_1
            aload 14 /* flags */
            iconst_1
            baload
            bipush 8
            isub
            i2b
            bastore
        14: .line 745
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter int int top top top top top top top top byte[] int byte[]
      StackMap stack:
            aload 1 /* tdsWriter */
            aload 14 /* flags */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
        15: .line 747
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.srcColumnMetadata:Ljava/util/Map;
            iload 3 /* srcColumnIndex */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.jdbcType:I
            istore 5 /* bulkJdbcType */
        start local 5 // int bulkJdbcType
        16: .line 748
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.srcColumnMetadata:Ljava/util/Map;
            iload 3 /* srcColumnIndex */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.precision:I
            istore 6 /* bulkPrecision */
        start local 6 // int bulkPrecision
        17: .line 749
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.srcColumnMetadata:Ljava/util/Map;
            iload 3 /* srcColumnIndex */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.scale:I
            istore 7 /* bulkScale */
        start local 7 // int bulkScale
        18: .line 750
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.srcColumnMetadata:Ljava/util/Map;
            iload 3 /* srcColumnIndex */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.isNullable:Z
            istore 11 /* srcNullable */
        start local 11 // boolean srcNullable
        19: .line 752
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 13 /* destColumnIndex */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.ssType:Lcom/microsoft/sqlserver/jdbc/SSType;
            astore 9 /* destSSType */
        start local 9 // com.microsoft.sqlserver.jdbc.SSType destSSType
        20: .line 753
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 13 /* destColumnIndex */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.precision:I
            istore 4 /* destPrecision */
        start local 4 // int destPrecision
        21: .line 755
            aload 0 /* this */
            iload 6 /* bulkPrecision */
            iload 5 /* bulkJdbcType */
            iload 4 /* destPrecision */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.validateSourcePrecision:(III)I
            istore 6 /* bulkPrecision */
        22: .line 757
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 13 /* destColumnIndex */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.collation:Lcom/microsoft/sqlserver/jdbc/SQLCollation;
            astore 8 /* collation */
        start local 8 // com.microsoft.sqlserver.jdbc.SQLCollation collation
        23: .line 758
            aload 8 /* collation */
            ifnonnull 25
        24: .line 759
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getDatabaseCollation:()Lcom/microsoft/sqlserver/jdbc/SQLCollation;
            astore 8 /* collation */
        25: .line 761
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter int int int int int int com.microsoft.sqlserver.jdbc.SQLCollation com.microsoft.sqlserver.jdbc.SSType top int byte[] int byte[]
      StackMap stack:
            bipush -15
            iload 5 /* bulkJdbcType */
            if_icmpeq 27
            bipush -9
            iload 5 /* bulkJdbcType */
            if_icmpeq 27
        26: .line 762
            bipush -16
            iload 5 /* bulkJdbcType */
            if_icmpne 33
        27: .line 763
      StackMap locals:
      StackMap stack:
            sipush 4000
            iload 6 /* bulkPrecision */
            if_icmplt 30
        28: .line 764
            sipush 4000
            iload 4 /* destPrecision */
        29: .line 763
            if_icmplt 30
            iconst_0
            goto 31
      StackMap locals:
      StackMap stack:
        30: iconst_1
      StackMap locals:
      StackMap stack: int
        31: istore 10 /* isStreaming */
        start local 10 // boolean isStreaming
        32: .line 765
            goto 38
        end local 10 // boolean isStreaming
        33: .line 766
      StackMap locals:
      StackMap stack:
            sipush 8000
            iload 6 /* bulkPrecision */
            if_icmplt 36
        34: .line 767
            sipush 8000
            iload 4 /* destPrecision */
        35: .line 766
            if_icmplt 36
            iconst_0
            goto 37
      StackMap locals:
      StackMap stack:
        36: iconst_1
      StackMap locals:
      StackMap stack: int
        37: istore 10 /* isStreaming */
        start local 10 // boolean isStreaming
        38: .line 770
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter int int int int int int com.microsoft.sqlserver.jdbc.SQLCollation com.microsoft.sqlserver.jdbc.SSType int int byte[] int byte[]
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 13 /* destColumnIndex */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            astore 15 /* destCryptoMeta */
        start local 15 // com.microsoft.sqlserver.jdbc.CryptoMetadata destCryptoMeta
        39: .line 777
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            instanceof com.microsoft.sqlserver.jdbc.SQLServerResultSet
            ifeq 44
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isColumnEncryptionSettingEnabled:()Z
            ifeq 44
        40: .line 778
            aload 15 /* destCryptoMeta */
            ifnull 44
        41: .line 779
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 13 /* destColumnIndex */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.jdbcType:I
            istore 5 /* bulkJdbcType */
        42: .line 780
            iload 4 /* destPrecision */
            istore 6 /* bulkPrecision */
        43: .line 781
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 13 /* destColumnIndex */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.scale:I
            istore 7 /* bulkScale */
        44: .line 785
      StackMap locals: com.microsoft.sqlserver.jdbc.CryptoMetadata
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 13 /* destColumnIndex */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.encryptionType:Ljava/lang/String;
            ifnull 46
        45: .line 786
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.copyOptions:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopyOptions;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopyOptions.isAllowEncryptedValueModifications:()Z
            ifne 47
        46: .line 787
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 13 /* destColumnIndex */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            ifnull 53
        47: .line 788
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            bipush -91
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        48: .line 790
            iload 10 /* isStreaming */
            ifeq 51
        49: .line 791
            aload 1 /* tdsWriter */
            iconst_m1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        50: .line 792
            goto 68
        51: .line 793
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            iload 6 /* bulkPrecision */
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        52: .line 796
            goto 68
        53: .line 798
      StackMap locals:
      StackMap stack:
            iconst_1
            iload 5 /* bulkJdbcType */
            if_icmpeq 55
            bipush 12
            iload 5 /* bulkJdbcType */
            if_icmpeq 55
        54: .line 799
            iconst_m1
            iload 5 /* bulkJdbcType */
            if_icmpne 65
        55: .line 800
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SSType.BINARY:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 9 /* destSSType */
            if_acmpeq 57
            getstatic com.microsoft.sqlserver.jdbc.SSType.VARBINARY:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 9 /* destSSType */
            if_acmpeq 57
            getstatic com.microsoft.sqlserver.jdbc.SSType.VARBINARYMAX:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 9 /* destSSType */
            if_acmpeq 57
        56: .line 801
            getstatic com.microsoft.sqlserver.jdbc.SSType.IMAGE:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 9 /* destSSType */
            if_acmpne 65
        57: .line 802
      StackMap locals:
      StackMap stack:
            iload 10 /* isStreaming */
            ifeq 60
        58: .line 804
            aload 1 /* tdsWriter */
            bipush -91
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        59: .line 805
            goto 63
        60: .line 806
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.SSType.BINARY:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 9 /* destSSType */
            if_acmpne 61
            sipush 173
            goto 62
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter
        61: sipush 165
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter int int int int int int com.microsoft.sqlserver.jdbc.SQLCollation com.microsoft.sqlserver.jdbc.SSType int int byte[] int byte[] com.microsoft.sqlserver.jdbc.CryptoMetadata
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter int
        62: i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        63: .line 808
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            iload 6 /* bulkPrecision */
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        64: .line 809
            goto 68
        65: .line 810
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* tdsWriter */
            iload 5 /* bulkJdbcType */
            iload 7 /* bulkScale */
            iload 6 /* bulkPrecision */
            aload 9 /* destSSType */
            aload 8 /* collation */
            iload 10 /* isStreaming */
        66: .line 811
            iload 11 /* srcNullable */
            iconst_0
        67: .line 810
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeTypeInfo:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;IIILcom/microsoft/sqlserver/jdbc/SSType;Lcom/microsoft/sqlserver/jdbc/SQLCollation;ZZZ)V
        68: .line 814
      StackMap locals:
      StackMap stack:
            aload 15 /* destCryptoMeta */
            ifnull 87
        69: .line 815
            aload 15 /* destCryptoMeta */
            getfield com.microsoft.sqlserver.jdbc.CryptoMetadata.baseTypeInfo:Lcom/microsoft/sqlserver/jdbc/TypeInfo;
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSSType:()Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.getJDBCType:()Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.asJavaSqlType:()I
            istore 16 /* baseDestJDBCType */
        start local 16 // int baseDestJDBCType
        70: .line 816
            aload 15 /* destCryptoMeta */
            getfield com.microsoft.sqlserver.jdbc.CryptoMetadata.baseTypeInfo:Lcom/microsoft/sqlserver/jdbc/TypeInfo;
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getPrecision:()I
            istore 17 /* baseDestPrecision */
        start local 17 // int baseDestPrecision
        71: .line 818
            bipush -15
            iload 16 /* baseDestJDBCType */
            if_icmpeq 73
            bipush -9
            iload 16 /* baseDestJDBCType */
            if_icmpeq 73
        72: .line 819
            bipush -16
            iload 16 /* baseDestJDBCType */
            if_icmpne 76
        73: .line 820
      StackMap locals: int int
      StackMap stack:
            sipush 4000
            iload 17 /* baseDestPrecision */
            if_icmpge 74
            iconst_1
            goto 75
      StackMap locals:
      StackMap stack:
        74: iconst_0
      StackMap locals:
      StackMap stack: int
        75: istore 10 /* isStreaming */
            goto 79
        76: .line 822
      StackMap locals:
      StackMap stack:
            sipush 8000
            iload 17 /* baseDestPrecision */
            if_icmpge 77
            iconst_1
            goto 78
      StackMap locals:
      StackMap stack:
        77: iconst_0
      StackMap locals:
      StackMap stack: int
        78: istore 10 /* isStreaming */
        79: .line 825
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            aload 15 /* destCryptoMeta */
            invokevirtual com.microsoft.sqlserver.jdbc.CryptoMetadata.getOrdinal:()S
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        80: .line 826
            aload 1 /* tdsWriter */
            aload 12 /* userType */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
        81: .line 828
            aload 0 /* this */
            aload 1 /* tdsWriter */
            iload 16 /* baseDestJDBCType */
            aload 15 /* destCryptoMeta */
            getfield com.microsoft.sqlserver.jdbc.CryptoMetadata.baseTypeInfo:Lcom/microsoft/sqlserver/jdbc/TypeInfo;
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getScale:()I
            iload 17 /* baseDestPrecision */
        82: .line 829
            aload 15 /* destCryptoMeta */
            getfield com.microsoft.sqlserver.jdbc.CryptoMetadata.baseTypeInfo:Lcom/microsoft/sqlserver/jdbc/TypeInfo;
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSSType:()Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 8 /* collation */
            iload 10 /* isStreaming */
            iload 11 /* srcNullable */
            iconst_1
        83: .line 828
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeTypeInfo:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;IIILcom/microsoft/sqlserver/jdbc/SSType;Lcom/microsoft/sqlserver/jdbc/SQLCollation;ZZZ)V
        84: .line 830
            aload 1 /* tdsWriter */
            aload 15 /* destCryptoMeta */
            getfield com.microsoft.sqlserver.jdbc.CryptoMetadata.cipherAlgorithmId:B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        85: .line 831
            aload 1 /* tdsWriter */
            aload 15 /* destCryptoMeta */
            getfield com.microsoft.sqlserver.jdbc.CryptoMetadata.encryptionType:Lcom/microsoft/sqlserver/jdbc/SQLServerEncryptionType;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerEncryptionType.getValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        86: .line 832
            aload 1 /* tdsWriter */
            aload 15 /* destCryptoMeta */
            getfield com.microsoft.sqlserver.jdbc.CryptoMetadata.normalizationRuleVersion:B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        end local 17 // int baseDestPrecision
        end local 16 // int baseDestJDBCType
        87: .line 839
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.columnMappings:Ljava/util/List;
            iload 2 /* idx */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.destinationColumnName:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            istore 16 /* destColNameLen */
        start local 16 // int destColNameLen
        88: .line 840
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.columnMappings:Ljava/util/List;
            iload 2 /* idx */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.destinationColumnName:Ljava/lang/String;
            astore 17 /* destColName */
        start local 17 // java.lang.String destColName
        89: .line 841
            iconst_2
            iload 16 /* destColNameLen */
            imul
            newarray 8
            astore 18 /* colName */
        start local 18 // byte[] colName
        90: .line 843
            iconst_0
            istore 19 /* i */
        start local 19 // int i
        91: goto 96
        92: .line 844
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter int int int int int int com.microsoft.sqlserver.jdbc.SQLCollation com.microsoft.sqlserver.jdbc.SSType int int byte[] int byte[] com.microsoft.sqlserver.jdbc.CryptoMetadata int java.lang.String byte[] int
      StackMap stack:
            aload 17 /* destColName */
            iload 19 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 20 /* c */
        start local 20 // int c
        93: .line 845
            aload 18 /* colName */
            iconst_2
            iload 19 /* i */
            imul
            iload 20 /* c */
            sipush 255
            iand
            i2b
            bastore
        94: .line 846
            aload 18 /* colName */
            iconst_2
            iload 19 /* i */
            imul
            iconst_1
            iadd
            iload 20 /* c */
            bipush 8
            ishr
            sipush 255
            iand
            i2b
            bastore
        end local 20 // int c
        95: .line 843
            iinc 19 /* i */ 1
      StackMap locals:
      StackMap stack:
        96: iload 19 /* i */
            iload 16 /* destColNameLen */
            if_icmplt 92
        end local 19 // int i
        97: .line 849
            aload 1 /* tdsWriter */
            iload 16 /* destColNameLen */
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        98: .line 850
            aload 1 /* tdsWriter */
            aload 18 /* colName */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
        99: .line 851
            return
        end local 18 // byte[] colName
        end local 17 // java.lang.String destColName
        end local 16 // int destColNameLen
        end local 15 // com.microsoft.sqlserver.jdbc.CryptoMetadata destCryptoMeta
        end local 14 // byte[] flags
        end local 13 // int destColumnIndex
        end local 12 // byte[] userType
        end local 11 // boolean srcNullable
        end local 10 // boolean isStreaming
        end local 9 // com.microsoft.sqlserver.jdbc.SSType destSSType
        end local 8 // com.microsoft.sqlserver.jdbc.SQLCollation collation
        end local 7 // int bulkScale
        end local 6 // int bulkPrecision
        end local 5 // int bulkJdbcType
        end local 4 // int destPrecision
        end local 3 // int srcColumnIndex
        end local 2 // int idx
        end local 1 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0  100     0               this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0  100     1          tdsWriter  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0  100     2                idx  I
            8  100     3     srcColumnIndex  I
           21  100     4      destPrecision  I
           16  100     5       bulkJdbcType  I
           17  100     6      bulkPrecision  I
           18  100     7          bulkScale  I
           23  100     8          collation  Lcom/microsoft/sqlserver/jdbc/SQLCollation;
           20  100     9         destSSType  Lcom/microsoft/sqlserver/jdbc/SSType;
           32   33    10        isStreaming  Z
           38  100    10        isStreaming  Z
           19  100    11        srcNullable  Z
            1  100    12           userType  [B
            7  100    13    destColumnIndex  I
            9  100    14              flags  [B
           39  100    15     destCryptoMeta  Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
           70   87    16   baseDestJDBCType  I
           71   87    17  baseDestPrecision  I
           88  100    16     destColNameLen  I
           89  100    17        destColName  Ljava/lang/String;
           90  100    18            colName  [B
           91   97    19                  i  I
           93   95    20                  c  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
           Name  Flags
      tdsWriter  
      idx        

  private void writeTypeInfo(com.microsoft.sqlserver.jdbc.TDSWriter, int, int, int, com.microsoft.sqlserver.jdbc.SSType, com.microsoft.sqlserver.jdbc.SQLCollation, boolean, boolean, boolean);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/TDSWriter;IIILcom/microsoft/sqlserver/jdbc/SSType;Lcom/microsoft/sqlserver/jdbc/SQLCollation;ZZZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=13, args_size=10
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
        start local 2 // int srcJdbcType
        start local 3 // int srcScale
        start local 4 // int srcPrecision
        start local 5 // com.microsoft.sqlserver.jdbc.SSType destSSType
        start local 6 // com.microsoft.sqlserver.jdbc.SQLCollation collation
        start local 7 // boolean isStreaming
        start local 8 // boolean srcNullable
        start local 9 // boolean isBaseType
         0: .line 856
            iload 2 /* srcJdbcType */
            lookupswitch { // 31
                 -156: 167
                 -155: 158
                 -151: 118
                 -150: 118
                 -148: 43
                 -146: 43
                 -145: 64
                  -16: 100
                  -15: 78
                   -9: 100
                   -7: 13
                   -6: 25
                   -5: 7
                   -4: 112
                   -3: 112
                   -2: 109
                   -1: 84
                    1: 64
                    2: 48
                    3: 48
                    4: 1
                    5: 19
                    6: 31
                    7: 37
                    8: 31
                   12: 84
                   91: 138
                   92: 146
                   93: 118
                 2013: 155
                 2014: 155
              default: 170
          }
         1: .line 858
      StackMap locals:
      StackMap stack:
            iload 8 /* srcNullable */
            ifne 4
         2: .line 859
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.INT4:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         3: .line 860
            goto 173
         4: .line 861
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.INTN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         5: .line 862
            aload 1 /* tdsWriter */
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         6: .line 864
            goto 173
         7: .line 867
      StackMap locals:
      StackMap stack:
            iload 8 /* srcNullable */
            ifne 10
         8: .line 868
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.INT8:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         9: .line 869
            goto 173
        10: .line 870
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.INTN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        11: .line 871
            aload 1 /* tdsWriter */
            bipush 8
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        12: .line 873
            goto 173
        13: .line 876
      StackMap locals:
      StackMap stack:
            iload 8 /* srcNullable */
            ifne 16
        14: .line 877
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BIT1:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        15: .line 878
            goto 173
        16: .line 879
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BITN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        17: .line 880
            aload 1 /* tdsWriter */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        18: .line 882
            goto 173
        19: .line 885
      StackMap locals:
      StackMap stack:
            iload 8 /* srcNullable */
            ifne 22
        20: .line 886
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.INT2:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        21: .line 887
            goto 173
        22: .line 888
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.INTN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        23: .line 889
            aload 1 /* tdsWriter */
            iconst_2
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        24: .line 891
            goto 173
        25: .line 894
      StackMap locals:
      StackMap stack:
            iload 8 /* srcNullable */
            ifne 28
        26: .line 895
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.INT1:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        27: .line 896
            goto 173
        28: .line 897
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.INTN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        29: .line 898
            aload 1 /* tdsWriter */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        30: .line 900
            goto 173
        31: .line 904
      StackMap locals:
      StackMap stack:
            iload 8 /* srcNullable */
            ifne 34
        32: .line 905
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.FLOAT8:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        33: .line 906
            goto 173
        34: .line 907
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.FLOATN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        35: .line 908
            aload 1 /* tdsWriter */
            bipush 8
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        36: .line 910
            goto 173
        37: .line 913
      StackMap locals:
      StackMap stack:
            iload 8 /* srcNullable */
            ifne 40
        38: .line 914
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.FLOAT4:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        39: .line 915
            goto 173
        40: .line 916
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.FLOATN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        41: .line 917
            aload 1 /* tdsWriter */
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        42: .line 919
            goto 173
        43: .line 923
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.MONEYN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        44: .line 924
            getstatic com.microsoft.sqlserver.jdbc.SSType.MONEY:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 5 /* destSSType */
            if_acmpne 46
        45: .line 925
            aload 1 /* tdsWriter */
            bipush 8
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
            goto 173
        46: .line 927
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        47: .line 928
            goto 173
        48: .line 937
      StackMap locals:
      StackMap stack:
            aload 5 /* destSSType */
            getstatic com.microsoft.sqlserver.jdbc.SSType.MONEY:Lcom/microsoft/sqlserver/jdbc/SSType;
            if_acmpne 52
        49: .line 938
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.MONEYN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        50: .line 939
            aload 1 /* tdsWriter */
            bipush 8
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        51: .line 940
            goto 173
        52: .line 941
      StackMap locals:
      StackMap stack:
            aload 5 /* destSSType */
            getstatic com.microsoft.sqlserver.jdbc.SSType.SMALLMONEY:Lcom/microsoft/sqlserver/jdbc/SSType;
            if_acmpne 56
        53: .line 942
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.MONEYN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        54: .line 943
            aload 1 /* tdsWriter */
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        55: .line 944
            goto 173
        56: .line 946
      StackMap locals:
      StackMap stack:
            iconst_3
            iload 2 /* srcJdbcType */
            if_icmpne 57
            getstatic com.microsoft.sqlserver.jdbc.TDSType.DECIMALN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            goto 58
        57: .line 947
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.TDSType.NUMERICN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
        58: .line 946
      StackMap locals:
      StackMap stack: int
            istore 10 /* byteType */
        start local 10 // byte byteType
        59: .line 948
            aload 1 /* tdsWriter */
            iload 10 /* byteType */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        60: .line 949
            aload 1 /* tdsWriter */
            bipush 17
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        61: .line 950
            aload 1 /* tdsWriter */
            iload 4 /* srcPrecision */
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        62: .line 951
            aload 1 /* tdsWriter */
            iload 3 /* srcScale */
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        63: .line 952
            goto 173
        end local 10 // byte byteType
        64: .line 956
      StackMap locals:
      StackMap stack:
            iload 9 /* isBaseType */
            ifeq 68
            getstatic com.microsoft.sqlserver.jdbc.SSType.GUID:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 5 /* destSSType */
            if_acmpne 68
        65: .line 957
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.GUID:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        66: .line 958
            aload 1 /* tdsWriter */
            bipush 16
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        67: .line 959
            goto 173
        68: .line 960
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* srcJdbcType */
            aload 5 /* destSSType */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.unicodeConversionRequired:(ILcom/microsoft/sqlserver/jdbc/SSType;)Z
            ifeq 74
        69: .line 961
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.NCHAR:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        70: .line 962
            aload 1 /* tdsWriter */
            iload 9 /* isBaseType */
            ifeq 71
            iload 4 /* srcPrecision */
            i2s
            goto 72
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter
        71: iconst_2
            iload 4 /* srcPrecision */
            imul
            i2s
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter int int int com.microsoft.sqlserver.jdbc.SSType com.microsoft.sqlserver.jdbc.SQLCollation int int int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter int
        72: invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        73: .line 963
            goto 76
        74: .line 964
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BIGCHAR:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        75: .line 965
            aload 1 /* tdsWriter */
            iload 4 /* srcPrecision */
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        76: .line 967
      StackMap locals:
      StackMap stack:
            aload 6 /* collation */
            aload 1 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLCollation.writeCollation:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;)V
        77: .line 969
            goto 173
        78: .line 972
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.NCHAR:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        79: .line 973
            aload 1 /* tdsWriter */
            iload 9 /* isBaseType */
            ifeq 80
            iload 4 /* srcPrecision */
            i2s
            goto 81
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter
        80: iconst_2
            iload 4 /* srcPrecision */
            imul
            i2s
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter int int int com.microsoft.sqlserver.jdbc.SSType com.microsoft.sqlserver.jdbc.SQLCollation int int int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter int
        81: invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        82: .line 974
            aload 6 /* collation */
            aload 1 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLCollation.writeCollation:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;)V
        83: .line 975
            goto 173
        84: .line 979
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* srcJdbcType */
            aload 5 /* destSSType */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.unicodeConversionRequired:(ILcom/microsoft/sqlserver/jdbc/SSType;)Z
            ifeq 93
        85: .line 980
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.NVARCHAR:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        86: .line 981
            iload 7 /* isStreaming */
            ifeq 89
        87: .line 982
            aload 1 /* tdsWriter */
            iconst_m1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        88: .line 983
            goto 98
        89: .line 984
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            iload 9 /* isBaseType */
            ifeq 90
            iload 4 /* srcPrecision */
            i2s
            goto 91
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter
        90: iconst_2
            iload 4 /* srcPrecision */
            imul
            i2s
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter int int int com.microsoft.sqlserver.jdbc.SSType com.microsoft.sqlserver.jdbc.SQLCollation int int int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter int
        91: invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        92: .line 986
            goto 98
        93: .line 987
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BIGVARCHAR:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        94: .line 988
            iload 7 /* isStreaming */
            ifeq 97
        95: .line 989
            aload 1 /* tdsWriter */
            iconst_m1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        96: .line 990
            goto 98
        97: .line 991
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            iload 4 /* srcPrecision */
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        98: .line 994
      StackMap locals:
      StackMap stack:
            aload 6 /* collation */
            aload 1 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLCollation.writeCollation:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;)V
        99: .line 995
            goto 173
       100: .line 999
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.NVARCHAR:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
       101: .line 1000
            iload 7 /* isStreaming */
            ifeq 104
       102: .line 1001
            aload 1 /* tdsWriter */
            iconst_m1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       103: .line 1002
            goto 107
       104: .line 1003
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            iload 9 /* isBaseType */
            ifeq 105
            iload 4 /* srcPrecision */
            i2s
            goto 106
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter
       105: iconst_2
            iload 4 /* srcPrecision */
            imul
            i2s
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter int int int com.microsoft.sqlserver.jdbc.SSType com.microsoft.sqlserver.jdbc.SQLCollation int int int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter int
       106: invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       107: .line 1005
      StackMap locals:
      StackMap stack:
            aload 6 /* collation */
            aload 1 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLCollation.writeCollation:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;)V
       108: .line 1006
            goto 173
       109: .line 1009
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BIGBINARY:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
       110: .line 1010
            aload 1 /* tdsWriter */
            iload 4 /* srcPrecision */
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       111: .line 1011
            goto 173
       112: .line 1016
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BIGVARBINARY:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
       113: .line 1017
            iload 7 /* isStreaming */
            ifeq 116
       114: .line 1018
            aload 1 /* tdsWriter */
            iconst_m1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       115: .line 1019
            goto 173
       116: .line 1020
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            iload 4 /* srcPrecision */
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       117: .line 1022
            goto 173
       118: .line 1027
      StackMap locals:
      StackMap stack:
            iload 9 /* isBaseType */
            ifne 124
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.serverBulkData:Lcom/microsoft/sqlserver/jdbc/ISQLServerBulkData;
            ifnull 124
       119: .line 1028
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getSendTemporalDataTypesAsStringForBulkCopy:()Z
            ifeq 124
       120: .line 1029
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BIGVARCHAR:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
       121: .line 1030
            aload 1 /* tdsWriter */
            iload 4 /* srcPrecision */
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       122: .line 1031
            aload 6 /* collation */
            aload 1 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLCollation.writeCollation:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;)V
       123: .line 1032
            goto 173
       124: .line 1033
      StackMap locals:
      StackMap stack:
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$SSType:()[I
            aload 5 /* destSSType */
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            iaload
            tableswitch { // 9 - 10
                    9: 125
                   10: 130
              default: 135
          }
       125: .line 1035
      StackMap locals:
      StackMap stack:
            iload 8 /* srcNullable */
            ifne 127
       126: .line 1036
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.DATETIME4:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
            goto 173
       127: .line 1038
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.DATETIMEN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
       128: .line 1039
            aload 1 /* tdsWriter */
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
       129: .line 1041
            goto 173
       130: .line 1043
      StackMap locals:
      StackMap stack:
            iload 8 /* srcNullable */
            ifne 132
       131: .line 1044
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.DATETIME8:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
            goto 173
       132: .line 1046
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.DATETIMEN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
       133: .line 1047
            aload 1 /* tdsWriter */
            bipush 8
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
       134: .line 1049
            goto 173
       135: .line 1052
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.DATETIME2N:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
       136: .line 1053
            aload 1 /* tdsWriter */
            iload 3 /* srcScale */
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
       137: .line 1057
            goto 173
       138: .line 1066
      StackMap locals:
      StackMap stack:
            iload 9 /* isBaseType */
            ifne 144
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.serverBulkData:Lcom/microsoft/sqlserver/jdbc/ISQLServerBulkData;
            ifnull 144
       139: .line 1067
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getSendTemporalDataTypesAsStringForBulkCopy:()Z
            ifeq 144
       140: .line 1068
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BIGVARCHAR:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
       141: .line 1069
            aload 1 /* tdsWriter */
            iload 4 /* srcPrecision */
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       142: .line 1070
            aload 6 /* collation */
            aload 1 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLCollation.writeCollation:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;)V
       143: .line 1071
            goto 173
       144: .line 1072
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.DATEN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
       145: .line 1074
            goto 173
       146: .line 1077
      StackMap locals:
      StackMap stack:
            iload 9 /* isBaseType */
            ifne 152
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.serverBulkData:Lcom/microsoft/sqlserver/jdbc/ISQLServerBulkData;
            ifnull 152
       147: .line 1078
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getSendTemporalDataTypesAsStringForBulkCopy:()Z
            ifeq 152
       148: .line 1079
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BIGVARCHAR:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
       149: .line 1080
            aload 1 /* tdsWriter */
            iload 4 /* srcPrecision */
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       150: .line 1081
            aload 6 /* collation */
            aload 1 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLCollation.writeCollation:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;)V
       151: .line 1082
            goto 173
       152: .line 1083
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.TIMEN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
       153: .line 1084
            aload 1 /* tdsWriter */
            iload 3 /* srcScale */
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
       154: .line 1086
            goto 173
       155: .line 1091
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.DATETIMEOFFSETN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
       156: .line 1092
            aload 1 /* tdsWriter */
            iload 3 /* srcScale */
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
       157: .line 1093
            goto 173
       158: .line 1096
      StackMap locals:
      StackMap stack:
            iload 9 /* isBaseType */
            ifne 164
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.serverBulkData:Lcom/microsoft/sqlserver/jdbc/ISQLServerBulkData;
            ifnull 164
       159: .line 1097
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getSendTemporalDataTypesAsStringForBulkCopy:()Z
            ifeq 164
       160: .line 1098
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BIGVARCHAR:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
       161: .line 1099
            aload 1 /* tdsWriter */
            iload 4 /* srcPrecision */
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       162: .line 1100
            aload 6 /* collation */
            aload 1 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLCollation.writeCollation:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;)V
       163: .line 1101
            goto 173
       164: .line 1102
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.DATETIMEOFFSETN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
       165: .line 1103
            aload 1 /* tdsWriter */
            iload 3 /* srcScale */
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
       166: .line 1105
            goto 173
       167: .line 1107
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.SQL_VARIANT:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
       168: .line 1108
            aload 1 /* tdsWriter */
            sipush 8009
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
       169: .line 1109
            goto 173
       170: .line 1111
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_BulkTypeNotSupported"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 11 /* form */
        start local 11 // java.text.MessageFormat form
       171: .line 1112
            iload 2 /* srcJdbcType */
            invokestatic com.microsoft.sqlserver.jdbc.JDBCType.of:(I)Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.toString:()Ljava/lang/String;
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            astore 12 /* unsupportedDataType */
        start local 12 // java.lang.String unsupportedDataType
       172: .line 1113
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 11 /* form */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 12 /* unsupportedDataType */
            aastore
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)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
        end local 12 // java.lang.String unsupportedDataType
        end local 11 // java.text.MessageFormat form
       173: .line 1115
      StackMap locals:
      StackMap stack:
            return
        end local 9 // boolean isBaseType
        end local 8 // boolean srcNullable
        end local 7 // boolean isStreaming
        end local 6 // com.microsoft.sqlserver.jdbc.SQLCollation collation
        end local 5 // com.microsoft.sqlserver.jdbc.SSType destSSType
        end local 4 // int srcPrecision
        end local 3 // int srcScale
        end local 2 // int srcJdbcType
        end local 1 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0  174     0                 this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0  174     1            tdsWriter  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0  174     2          srcJdbcType  I
            0  174     3             srcScale  I
            0  174     4         srcPrecision  I
            0  174     5           destSSType  Lcom/microsoft/sqlserver/jdbc/SSType;
            0  174     6            collation  Lcom/microsoft/sqlserver/jdbc/SQLCollation;
            0  174     7          isStreaming  Z
            0  174     8          srcNullable  Z
            0  174     9           isBaseType  Z
           59   64    10             byteType  B
          171  173    11                 form  Ljava/text/MessageFormat;
          172  173    12  unsupportedDataType  Ljava/lang/String;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
              Name  Flags
      tdsWriter     
      srcJdbcType   
      srcScale      
      srcPrecision  
      destSSType    
      collation     
      isStreaming   
      srcNullable   
      isBaseType    

  private void writeCekTable(com.microsoft.sqlserver.jdbc.TDSWriter);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/TDSWriter;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
         0: .line 1122
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getServerSupportsColumnEncryption:()Z
            ifeq 22
         1: .line 1123
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destCekTable:Lcom/microsoft/sqlserver/jdbc/CekTable;
            ifnull 21
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destCekTable:Lcom/microsoft/sqlserver/jdbc/CekTable;
            invokevirtual com.microsoft.sqlserver.jdbc.CekTable.getSize:()I
            ifle 21
         2: .line 1124
            aload 1 /* tdsWriter */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destCekTable:Lcom/microsoft/sqlserver/jdbc/CekTable;
            invokevirtual com.microsoft.sqlserver.jdbc.CekTable.getSize:()I
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
         3: .line 1125
            iconst_0
            istore 2 /* cekIndx */
        start local 2 // int cekIndx
         4: goto 19
         5: .line 1126
      StackMap locals: int
      StackMap stack:
            aload 1 /* tdsWriter */
         6: .line 1127
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destCekTable:Lcom/microsoft/sqlserver/jdbc/CekTable;
            iload 2 /* cekIndx */
            invokevirtual com.microsoft.sqlserver.jdbc.CekTable.getCekTableEntry:(I)Lcom/microsoft/sqlserver/jdbc/CekTableEntry;
            invokevirtual com.microsoft.sqlserver.jdbc.CekTableEntry.getColumnEncryptionKeyValues:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.EncryptionKeyInfo
            getfield com.microsoft.sqlserver.jdbc.EncryptionKeyInfo.databaseId:I
         7: .line 1126
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
         8: .line 1128
            aload 1 /* tdsWriter */
         9: .line 1129
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destCekTable:Lcom/microsoft/sqlserver/jdbc/CekTable;
            iload 2 /* cekIndx */
            invokevirtual com.microsoft.sqlserver.jdbc.CekTable.getCekTableEntry:(I)Lcom/microsoft/sqlserver/jdbc/CekTableEntry;
            invokevirtual com.microsoft.sqlserver.jdbc.CekTableEntry.getColumnEncryptionKeyValues:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.EncryptionKeyInfo
            getfield com.microsoft.sqlserver.jdbc.EncryptionKeyInfo.cekId:I
        10: .line 1128
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        11: .line 1130
            aload 1 /* tdsWriter */
        12: .line 1131
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destCekTable:Lcom/microsoft/sqlserver/jdbc/CekTable;
            iload 2 /* cekIndx */
            invokevirtual com.microsoft.sqlserver.jdbc.CekTable.getCekTableEntry:(I)Lcom/microsoft/sqlserver/jdbc/CekTableEntry;
            invokevirtual com.microsoft.sqlserver.jdbc.CekTableEntry.getColumnEncryptionKeyValues:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.EncryptionKeyInfo
            getfield com.microsoft.sqlserver.jdbc.EncryptionKeyInfo.cekVersion:I
        13: .line 1130
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        14: .line 1132
            aload 1 /* tdsWriter */
        15: .line 1133
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destCekTable:Lcom/microsoft/sqlserver/jdbc/CekTable;
            iload 2 /* cekIndx */
            invokevirtual com.microsoft.sqlserver.jdbc.CekTable.getCekTableEntry:(I)Lcom/microsoft/sqlserver/jdbc/CekTableEntry;
            invokevirtual com.microsoft.sqlserver.jdbc.CekTableEntry.getColumnEncryptionKeyValues:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.EncryptionKeyInfo
            getfield com.microsoft.sqlserver.jdbc.EncryptionKeyInfo.cekMdVersion:[B
        16: .line 1132
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
        17: .line 1136
            aload 1 /* tdsWriter */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        18: .line 1125
            iinc 2 /* cekIndx */ 1
      StackMap locals:
      StackMap stack:
        19: iload 2 /* cekIndx */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destCekTable:Lcom/microsoft/sqlserver/jdbc/CekTable;
            invokevirtual com.microsoft.sqlserver.jdbc.CekTable.getSize:()I
            if_icmplt 5
        end local 2 // int cekIndx
        20: .line 1138
            goto 22
        21: .line 1140
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        22: .line 1143
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   23     0       this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0   23     1  tdsWriter  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            4   20     2    cekIndx  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
           Name  Flags
      tdsWriter  

  private void writeColumnMetaData(com.microsoft.sqlserver.jdbc.TDSWriter);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/TDSWriter;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
         0: .line 1158
            aload 1 /* tdsWriter */
            bipush -127
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         1: .line 1164
            iconst_2
            newarray 8
            astore 2 /* count */
        start local 2 // byte[] count
         2: .line 1165
            aload 2 /* count */
            iconst_0
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.columnMappings:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            sipush 255
            iand
            i2b
            bastore
         3: .line 1166
            aload 2 /* count */
            iconst_1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.columnMappings:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            bipush 8
            ishr
            sipush 255
            iand
            i2b
            bastore
         4: .line 1167
            aload 1 /* tdsWriter */
            aload 2 /* count */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
         5: .line 1169
            aload 0 /* this */
            aload 1 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeCekTable:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;)V
         6: .line 1174
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         7: goto 10
         8: .line 1175
      StackMap locals: byte[] int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* tdsWriter */
            iload 3 /* i */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeColumnMetaDataColumnData:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;I)V
         9: .line 1174
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* i */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.columnMappings:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 8
        end local 3 // int i
        11: .line 1177
            return
        end local 2 // byte[] count
        end local 1 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0   12     1  tdsWriter  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            2   12     2      count  [B
            7   11     3          i  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
           Name  Flags
      tdsWriter  

  private void validateDataTypeConversions(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=7, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // int srcColOrdinal
        start local 2 // int destColOrdinal
         0: .line 1187
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.srcColumnMetadata:Ljava/util/Map;
            iload 1 /* srcColOrdinal */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            astore 3 /* sourceCryptoMeta */
        start local 3 // com.microsoft.sqlserver.jdbc.CryptoMetadata sourceCryptoMeta
         1: .line 1188
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 2 /* destColOrdinal */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            astore 4 /* destCryptoMeta */
        start local 4 // com.microsoft.sqlserver.jdbc.CryptoMetadata destCryptoMeta
         2: .line 1190
            aload 3 /* sourceCryptoMeta */
            ifnull 3
            aload 3 /* sourceCryptoMeta */
            getfield com.microsoft.sqlserver.jdbc.CryptoMetadata.baseTypeInfo:Lcom/microsoft/sqlserver/jdbc/TypeInfo;
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSSType:()Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.getJDBCType:()Lcom/microsoft/sqlserver/jdbc/JDBCType;
            goto 4
         3: .line 1191
      StackMap locals: com.microsoft.sqlserver.jdbc.CryptoMetadata com.microsoft.sqlserver.jdbc.CryptoMetadata
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.srcColumnMetadata:Ljava/util/Map;
            iload 1 /* srcColOrdinal */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.jdbcType:I
            invokestatic com.microsoft.sqlserver.jdbc.JDBCType.of:(I)Lcom/microsoft/sqlserver/jdbc/JDBCType;
         4: .line 1190
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.JDBCType
            astore 5 /* srcJdbcType */
        start local 5 // com.microsoft.sqlserver.jdbc.JDBCType srcJdbcType
         5: .line 1193
            aload 4 /* destCryptoMeta */
            ifnull 6
            aload 4 /* destCryptoMeta */
            getfield com.microsoft.sqlserver.jdbc.CryptoMetadata.baseTypeInfo:Lcom/microsoft/sqlserver/jdbc/TypeInfo;
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSSType:()Lcom/microsoft/sqlserver/jdbc/SSType;
            goto 7
         6: .line 1194
      StackMap locals: com.microsoft.sqlserver.jdbc.JDBCType
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 2 /* destColOrdinal */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.ssType:Lcom/microsoft/sqlserver/jdbc/SSType;
         7: .line 1193
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SSType
            astore 6 /* destSSType */
        start local 6 // com.microsoft.sqlserver.jdbc.SSType destSSType
         8: .line 1197
            aload 5 /* srcJdbcType */
            aload 6 /* destSSType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.convertsTo:(Lcom/microsoft/sqlserver/jdbc/SSType;)Z
            ifne 10
         9: .line 1198
            aload 5 /* srcJdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.toString:()Ljava/lang/String;
            aload 6 /* destSSType */
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.toString:()Ljava/lang/String;
            invokestatic com.microsoft.sqlserver.jdbc.DataTypes.throwConversionError:(Ljava/lang/String;Ljava/lang/String;)V
        10: .line 1200
      StackMap locals: com.microsoft.sqlserver.jdbc.SSType
      StackMap stack:
            return
        end local 6 // com.microsoft.sqlserver.jdbc.SSType destSSType
        end local 5 // com.microsoft.sqlserver.jdbc.JDBCType srcJdbcType
        end local 4 // com.microsoft.sqlserver.jdbc.CryptoMetadata destCryptoMeta
        end local 3 // com.microsoft.sqlserver.jdbc.CryptoMetadata sourceCryptoMeta
        end local 2 // int destColOrdinal
        end local 1 // int srcColOrdinal
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0              this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0   11     1     srcColOrdinal  I
            0   11     2    destColOrdinal  I
            1   11     3  sourceCryptoMeta  Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            2   11     4    destCryptoMeta  Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            5   11     5       srcJdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
            8   11     6        destSSType  Lcom/microsoft/sqlserver/jdbc/SSType;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                Name  Flags
      srcColOrdinal   
      destColOrdinal  

  private java.lang.String getDestTypeFromSrcType(int, int, com.microsoft.sqlserver.jdbc.TDSWriter);
    descriptor: (IILcom/microsoft/sqlserver/jdbc/TDSWriter;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=14, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // int srcColIndx
        start local 2 // int destColIndx
        start local 3 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
         0: .line 1206
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 2 /* destColIndx */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            ifnull 2
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
         1: .line 1207
            iload 2 /* destColIndx */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            getfield com.microsoft.sqlserver.jdbc.CryptoMetadata.baseTypeInfo:Lcom/microsoft/sqlserver/jdbc/TypeInfo;
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSSType:()Lcom/microsoft/sqlserver/jdbc/SSType;
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 2 /* destColIndx */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.ssType:Lcom/microsoft/sqlserver/jdbc/SSType;
         3: .line 1206
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SSType
            astore 5 /* destSSType */
        start local 5 // com.microsoft.sqlserver.jdbc.SSType destSSType
         4: .line 1212
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.srcColumnMetadata:Ljava/util/Map;
            iload 1 /* srcColIndx */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.jdbcType:I
            istore 6 /* bulkJdbcType */
        start local 6 // int bulkJdbcType
         5: .line 1215
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.srcColumnMetadata:Ljava/util/Map;
            iload 1 /* srcColIndx */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.precision:I
            dup
            istore 9 /* srcPrecision */
        start local 9 // int srcPrecision
         6: istore 7 /* bulkPrecision */
        start local 7 // int bulkPrecision
         7: .line 1216
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 2 /* destColIndx */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.precision:I
            istore 10 /* destPrecision */
        start local 10 // int destPrecision
         8: .line 1217
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.srcColumnMetadata:Ljava/util/Map;
            iload 1 /* srcColIndx */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.scale:I
            istore 8 /* bulkScale */
        start local 8 // int bulkScale
         9: .line 1219
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 2 /* destColIndx */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            astore 11 /* destCryptoMeta */
        start local 11 // com.microsoft.sqlserver.jdbc.CryptoMetadata destCryptoMeta
        10: .line 1220
            aload 11 /* destCryptoMeta */
            ifnonnull 11
            aload 11 /* destCryptoMeta */
            ifnonnull 20
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.copyOptions:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopyOptions;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopyOptions.isAllowEncryptedValueModifications:()Z
            ifeq 20
        11: .line 1222
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy int int com.microsoft.sqlserver.jdbc.TDSWriter top com.microsoft.sqlserver.jdbc.SSType int int int int int com.microsoft.sqlserver.jdbc.CryptoMetadata
      StackMap stack:
            aload 3 /* tdsWriter */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 2 /* destColIndx */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.setCryptoMetaData:(Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;)V
        12: .line 1229
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            instanceof com.microsoft.sqlserver.jdbc.SQLServerResultSet
            ifeq 17
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isColumnEncryptionSettingEnabled:()Z
            ifeq 17
        13: .line 1230
            aload 11 /* destCryptoMeta */
            ifnull 17
        14: .line 1231
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 2 /* destColIndx */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.jdbcType:I
            istore 6 /* bulkJdbcType */
        15: .line 1232
            iload 10 /* destPrecision */
            istore 7 /* bulkPrecision */
        16: .line 1233
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 2 /* destColIndx */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.scale:I
            istore 8 /* bulkScale */
        17: .line 1237
      StackMap locals:
      StackMap stack:
            sipush 8000
            iload 10 /* destPrecision */
            if_icmpge 19
        18: .line 1238
            ldc "varbinary(max)"
            areturn
        19: .line 1240
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "varbinary("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 2 /* destColIndx */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.precision:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        20: .line 1245
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            ifnull 23
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 2 /* destColIndx */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.encryptionType:Ljava/lang/String;
            ifnull 23
        21: .line 1246
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.copyOptions:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopyOptions;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopyOptions.isAllowEncryptedValueModifications:()Z
            ifeq 23
        22: .line 1247
            new java.lang.StringBuilder
            dup
            ldc "varbinary("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* bulkPrecision */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        23: .line 1249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 9 /* srcPrecision */
            iload 6 /* bulkJdbcType */
            iload 10 /* destPrecision */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.validateSourcePrecision:(III)I
            istore 7 /* bulkPrecision */
        24: .line 1251
            bipush -15
            iload 6 /* bulkJdbcType */
            if_icmpeq 26
            bipush -9
            iload 6 /* bulkJdbcType */
            if_icmpeq 26
        25: .line 1252
            bipush -16
            iload 6 /* bulkJdbcType */
            if_icmpne 32
        26: .line 1253
      StackMap locals:
      StackMap stack:
            sipush 4000
            iload 9 /* srcPrecision */
            if_icmplt 29
        27: .line 1254
            sipush 4000
            iload 10 /* destPrecision */
        28: .line 1253
            if_icmplt 29
            iconst_0
            goto 30
      StackMap locals:
      StackMap stack:
        29: iconst_1
      StackMap locals:
      StackMap stack: int
        30: istore 4 /* isStreaming */
        start local 4 // boolean isStreaming
        31: .line 1255
            goto 37
        end local 4 // boolean isStreaming
        32: .line 1256
      StackMap locals:
      StackMap stack:
            sipush 8000
            iload 9 /* srcPrecision */
            if_icmplt 35
        33: .line 1257
            sipush 8000
            iload 10 /* destPrecision */
        34: .line 1256
            if_icmplt 35
            iconst_0
            goto 36
      StackMap locals:
      StackMap stack:
        35: iconst_1
      StackMap locals:
      StackMap stack: int
        36: istore 4 /* isStreaming */
        start local 4 // boolean isStreaming
        37: .line 1261
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy int int com.microsoft.sqlserver.jdbc.TDSWriter int com.microsoft.sqlserver.jdbc.SSType int int int int int com.microsoft.sqlserver.jdbc.CryptoMetadata
      StackMap stack:
            iload 6 /* bulkJdbcType */
            invokestatic com.microsoft.sqlserver.jdbc.Util.isCharType:(I)Z
            ifeq 45
            aload 5 /* destSSType */
            invokestatic com.microsoft.sqlserver.jdbc.Util.isBinaryType:(Lcom/microsoft/sqlserver/jdbc/SSType;)Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 45
        38: .line 1262
            iload 4 /* isStreaming */
            ifeq 40
        39: .line 1263
            ldc "varbinary(max)"
            areturn
        40: .line 1266
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 5 /* destSSType */
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        41: .line 1267
            sipush 8000
            iload 10 /* destPrecision */
            if_icmpge 42
            ldc "max"
            goto 43
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        42: iload 10 /* destPrecision */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy int int com.microsoft.sqlserver.jdbc.TDSWriter int com.microsoft.sqlserver.jdbc.SSType int int int int int com.microsoft.sqlserver.jdbc.CryptoMetadata
      StackMap stack: java.lang.StringBuilder java.io.Serializable
        43: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        44: .line 1266
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        45: .line 1270
      StackMap locals:
      StackMap stack:
            iload 6 /* bulkJdbcType */
            lookupswitch { // 31
                 -156: 122
                 -155: 117
                 -151: 84
                 -150: 84
                 -148: 53
                 -146: 54
                 -145: 65
                  -16: 77
                  -15: 69
                   -9: 77
                   -7: 49
                   -6: 50
                   -5: 48
                   -4: 81
                   -3: 81
                   -2: 80
                   -1: 70
                    1: 66
                    2: 60
                    3: 55
                    4: 46
                    5: 47
                    6: 51
                    7: 52
                    8: 51
                   12: 70
                   91: 106
                   92: 111
                   93: 84
                 2013: 116
                 2014: 116
              default: 123
          }
        46: .line 1272
      StackMap locals:
      StackMap stack:
            ldc "int"
            areturn
        47: .line 1275
      StackMap locals:
      StackMap stack:
            ldc "smallint"
            areturn
        48: .line 1278
      StackMap locals:
      StackMap stack:
            ldc "bigint"
            areturn
        49: .line 1281
      StackMap locals:
      StackMap stack:
            ldc "bit"
            areturn
        50: .line 1284
      StackMap locals:
      StackMap stack:
            ldc "tinyint"
            areturn
        51: .line 1288
      StackMap locals:
      StackMap stack:
            ldc "float"
            areturn
        52: .line 1291
      StackMap locals:
      StackMap stack:
            ldc "real"
            areturn
        53: .line 1294
      StackMap locals:
      StackMap stack:
            ldc "money"
            areturn
        54: .line 1296
      StackMap locals:
      StackMap stack:
            ldc "smallmoney"
            areturn
        55: .line 1304
      StackMap locals:
      StackMap stack:
            aload 5 /* destSSType */
            getstatic com.microsoft.sqlserver.jdbc.SSType.MONEY:Lcom/microsoft/sqlserver/jdbc/SSType;
            if_acmpne 57
        56: .line 1305
            ldc "money"
            areturn
        57: .line 1306
      StackMap locals:
      StackMap stack:
            aload 5 /* destSSType */
            getstatic com.microsoft.sqlserver.jdbc.SSType.SMALLMONEY:Lcom/microsoft/sqlserver/jdbc/SSType;
            if_acmpne 59
        58: .line 1307
            ldc "smallmoney"
            areturn
        59: .line 1309
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "decimal("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* bulkPrecision */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 8 /* bulkScale */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        60: .line 1312
      StackMap locals:
      StackMap stack:
            aload 5 /* destSSType */
            getstatic com.microsoft.sqlserver.jdbc.SSType.MONEY:Lcom/microsoft/sqlserver/jdbc/SSType;
            if_acmpne 62
        61: .line 1313
            ldc "money"
            areturn
        62: .line 1314
      StackMap locals:
      StackMap stack:
            aload 5 /* destSSType */
            getstatic com.microsoft.sqlserver.jdbc.SSType.SMALLMONEY:Lcom/microsoft/sqlserver/jdbc/SSType;
            if_acmpne 64
        63: .line 1315
            ldc "smallmoney"
            areturn
        64: .line 1317
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "numeric("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* bulkPrecision */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 8 /* bulkScale */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        65: .line 1321
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "char("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* bulkPrecision */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        66: .line 1323
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 6 /* bulkJdbcType */
            aload 5 /* destSSType */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.unicodeConversionRequired:(ILcom/microsoft/sqlserver/jdbc/SSType;)Z
            ifeq 68
        67: .line 1324
            new java.lang.StringBuilder
            dup
            ldc "nchar("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* bulkPrecision */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        68: .line 1326
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "char("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* bulkPrecision */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        69: .line 1329
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "NCHAR("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* bulkPrecision */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        70: .line 1335
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 6 /* bulkJdbcType */
            aload 5 /* destSSType */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.unicodeConversionRequired:(ILcom/microsoft/sqlserver/jdbc/SSType;)Z
            ifeq 74
        71: .line 1336
            iload 4 /* isStreaming */
            ifeq 73
        72: .line 1337
            ldc "nvarchar(max)"
            areturn
        73: .line 1339
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "nvarchar("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* bulkPrecision */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        74: .line 1342
      StackMap locals:
      StackMap stack:
            iload 4 /* isStreaming */
            ifeq 76
        75: .line 1343
            ldc "varchar(max)"
            areturn
        76: .line 1345
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "varchar("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* bulkPrecision */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        77: .line 1352
      StackMap locals:
      StackMap stack:
            iload 4 /* isStreaming */
            ifeq 79
        78: .line 1353
            ldc "NVARCHAR(MAX)"
            areturn
        79: .line 1355
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "NVARCHAR("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* bulkPrecision */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        80: .line 1360
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "binary("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* bulkPrecision */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        81: .line 1364
      StackMap locals:
      StackMap stack:
            iload 4 /* isStreaming */
            ifeq 83
        82: .line 1365
            ldc "varbinary(max)"
            areturn
        83: .line 1367
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "varbinary("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* bulkPrecision */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        84: .line 1372
      StackMap locals:
      StackMap stack:
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$SSType:()[I
            aload 5 /* destSSType */
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            iaload
            tableswitch { // 9 - 10
                    9: 85
                   10: 93
              default: 101
          }
        85: .line 1374
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.serverBulkData:Lcom/microsoft/sqlserver/jdbc/ISQLServerBulkData;
            ifnull 92
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getSendTemporalDataTypesAsStringForBulkCopy:()Z
            ifeq 92
        86: .line 1375
            new java.lang.StringBuilder
            dup
            ldc "varchar("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        87: .line 1376
            iload 7 /* bulkPrecision */
            ifne 88
            bipush 50
            goto 89
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        88: iload 7 /* bulkPrecision */
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy int int com.microsoft.sqlserver.jdbc.TDSWriter int com.microsoft.sqlserver.jdbc.SSType int int int int int com.microsoft.sqlserver.jdbc.CryptoMetadata
      StackMap stack: java.lang.StringBuilder int
        89: invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        90: .line 1377
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        91: .line 1375
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        92: .line 1379
      StackMap locals:
      StackMap stack:
            ldc "smalldatetime"
            areturn
        93: .line 1382
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.serverBulkData:Lcom/microsoft/sqlserver/jdbc/ISQLServerBulkData;
            ifnull 100
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getSendTemporalDataTypesAsStringForBulkCopy:()Z
            ifeq 100
        94: .line 1383
            new java.lang.StringBuilder
            dup
            ldc "varchar("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        95: .line 1384
            iload 7 /* bulkPrecision */
            ifne 96
            bipush 50
            goto 97
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        96: iload 7 /* bulkPrecision */
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy int int com.microsoft.sqlserver.jdbc.TDSWriter int com.microsoft.sqlserver.jdbc.SSType int int int int int com.microsoft.sqlserver.jdbc.CryptoMetadata
      StackMap stack: java.lang.StringBuilder int
        97: invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        98: .line 1385
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        99: .line 1383
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
       100: .line 1387
      StackMap locals:
      StackMap stack:
            ldc "datetime"
            areturn
       101: .line 1397
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.serverBulkData:Lcom/microsoft/sqlserver/jdbc/ISQLServerBulkData;
            ifnull 105
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getSendTemporalDataTypesAsStringForBulkCopy:()Z
            ifeq 105
       102: .line 1398
            new java.lang.StringBuilder
            dup
            ldc "varchar("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* bulkPrecision */
            ifne 103
            iload 10 /* destPrecision */
            goto 104
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
       103: iload 7 /* bulkPrecision */
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy int int com.microsoft.sqlserver.jdbc.TDSWriter int com.microsoft.sqlserver.jdbc.SSType int int int int int com.microsoft.sqlserver.jdbc.CryptoMetadata
      StackMap stack: java.lang.StringBuilder int
       104: invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
       105: .line 1400
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "datetime2("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 8 /* bulkScale */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
       106: .line 1410
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.serverBulkData:Lcom/microsoft/sqlserver/jdbc/ISQLServerBulkData;
            ifnull 110
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getSendTemporalDataTypesAsStringForBulkCopy:()Z
            ifeq 110
       107: .line 1411
            new java.lang.StringBuilder
            dup
            ldc "varchar("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* bulkPrecision */
            ifne 108
            iload 10 /* destPrecision */
            goto 109
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
       108: iload 7 /* bulkPrecision */
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy int int com.microsoft.sqlserver.jdbc.TDSWriter int com.microsoft.sqlserver.jdbc.SSType int int int int int com.microsoft.sqlserver.jdbc.CryptoMetadata
      StackMap stack: java.lang.StringBuilder int
       109: invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
       110: .line 1413
      StackMap locals:
      StackMap stack:
            ldc "date"
            areturn
       111: .line 1422
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.serverBulkData:Lcom/microsoft/sqlserver/jdbc/ISQLServerBulkData;
            ifnull 115
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getSendTemporalDataTypesAsStringForBulkCopy:()Z
            ifeq 115
       112: .line 1423
            new java.lang.StringBuilder
            dup
            ldc "varchar("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* bulkPrecision */
            ifne 113
            iload 10 /* destPrecision */
            goto 114
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
       113: iload 7 /* bulkPrecision */
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy int int com.microsoft.sqlserver.jdbc.TDSWriter int com.microsoft.sqlserver.jdbc.SSType int int int int int com.microsoft.sqlserver.jdbc.CryptoMetadata
      StackMap stack: java.lang.StringBuilder int
       114: invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
       115: .line 1425
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "time("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 8 /* bulkScale */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
       116: .line 1431
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "datetimeoffset("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 8 /* bulkScale */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
       117: .line 1439
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.serverBulkData:Lcom/microsoft/sqlserver/jdbc/ISQLServerBulkData;
            ifnull 121
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getSendTemporalDataTypesAsStringForBulkCopy:()Z
            ifeq 121
       118: .line 1440
            new java.lang.StringBuilder
            dup
            ldc "varchar("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* bulkPrecision */
            ifne 119
            iload 10 /* destPrecision */
            goto 120
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
       119: iload 7 /* bulkPrecision */
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy int int com.microsoft.sqlserver.jdbc.TDSWriter int com.microsoft.sqlserver.jdbc.SSType int int int int int com.microsoft.sqlserver.jdbc.CryptoMetadata
      StackMap stack: java.lang.StringBuilder int
       120: invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
       121: .line 1442
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "datetimeoffset("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 8 /* bulkScale */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
       122: .line 1445
      StackMap locals:
      StackMap stack:
            ldc "sql_variant"
            areturn
       123: .line 1447
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_BulkTypeNotSupported"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 12 /* form */
        start local 12 // java.text.MessageFormat form
       124: .line 1448
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 6 /* bulkJdbcType */
            invokestatic com.microsoft.sqlserver.jdbc.JDBCType.of:(I)Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.toString:()Ljava/lang/String;
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            aastore
            astore 13 /* msgArgs */
        start local 13 // java.lang.Object[] msgArgs
       125: .line 1449
            aconst_null
            aconst_null
            aload 12 /* form */
            aload 13 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_1
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
        end local 13 // java.lang.Object[] msgArgs
        end local 12 // java.text.MessageFormat form
       126: .line 1452
            aconst_null
            areturn
        end local 11 // com.microsoft.sqlserver.jdbc.CryptoMetadata destCryptoMeta
        end local 10 // int destPrecision
        end local 9 // int srcPrecision
        end local 8 // int bulkScale
        end local 7 // int bulkPrecision
        end local 6 // int bulkJdbcType
        end local 5 // com.microsoft.sqlserver.jdbc.SSType destSSType
        end local 4 // boolean isStreaming
        end local 3 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
        end local 2 // int destColIndx
        end local 1 // int srcColIndx
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0  127     0            this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0  127     1      srcColIndx  I
            0  127     2     destColIndx  I
            0  127     3       tdsWriter  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
           31   32     4     isStreaming  Z
           37  127     4     isStreaming  Z
            4  127     5      destSSType  Lcom/microsoft/sqlserver/jdbc/SSType;
            5  127     6    bulkJdbcType  I
            7  127     7   bulkPrecision  I
            9  127     8       bulkScale  I
            6  127     9    srcPrecision  I
            8  127    10   destPrecision  I
           10  127    11  destCryptoMeta  Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
          124  126    12            form  Ljava/text/MessageFormat;
          125  126    13         msgArgs  [Ljava/lang/Object;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
             Name  Flags
      srcColIndx   
      destColIndx  
      tdsWriter    

  private java.lang.String createInsertBulkCommand(com.microsoft.sqlserver.jdbc.TDSWriter);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/TDSWriter;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
         0: .line 1456
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* bulkCmd */
        start local 2 // java.lang.StringBuilder bulkCmd
         1: .line 1457
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* bulkOptions */
        start local 3 // java.util.List bulkOptions
         2: .line 1458
            ldc " , "
            astore 4 /* endColumn */
        start local 4 // java.lang.String endColumn
         3: .line 1459
            aload 2 /* bulkCmd */
            ldc "INSERT BULK "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destinationTableName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 1461
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 30
         6: .line 1462
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter java.lang.StringBuilder java.util.List java.lang.String int
      StackMap stack:
            iload 5 /* i */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.columnMappings:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            if_icmpne 8
         7: .line 1463
            ldc " ) "
            astore 4 /* endColumn */
         8: .line 1465
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.columnMappings:Ljava/util/List;
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping
            astore 6 /* colMapping */
        start local 6 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping colMapping
         9: .line 1466
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
        10: .line 1467
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.columnMappings:Ljava/util/List;
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.destinationColumnOrdinal:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.collationName:Ljava/lang/String;
        11: .line 1466
            astore 7 /* columnCollation */
        start local 7 // java.lang.String columnCollation
        12: .line 1468
            ldc ""
            astore 8 /* addCollate */
        start local 8 // java.lang.String addCollate
        13: .line 1470
            aload 0 /* this */
            aload 6 /* colMapping */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.sourceColumnOrdinal:I
        14: .line 1471
            aload 6 /* colMapping */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.destinationColumnOrdinal:I
            aload 1 /* tdsWriter */
        15: .line 1470
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.getDestTypeFromSrcType:(IILcom/microsoft/sqlserver/jdbc/TDSWriter;)Ljava/lang/String;
        16: .line 1471
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
        17: .line 1470
            astore 9 /* destType */
        start local 9 // java.lang.String destType
        18: .line 1472
            aload 7 /* columnCollation */
            ifnull 22
            aload 7 /* columnCollation */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifle 22
        19: .line 1474
            aload 9 /* destType */
            ifnull 22
            aload 9 /* destType */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            ldc "char"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 21
        20: .line 1475
            aload 9 /* destType */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            ldc "varchar"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 22
        21: .line 1476
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter java.lang.StringBuilder java.util.List java.lang.String int com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping java.lang.String java.lang.String java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc " COLLATE "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* columnCollation */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 8 /* addCollate */
        22: .line 1478
      StackMap locals:
      StackMap stack:
            aload 6 /* colMapping */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.destinationColumnName:Ljava/lang/String;
            ldc "]"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 27
        23: .line 1479
            aload 6 /* colMapping */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.destinationColumnName:Ljava/lang/String;
            ldc "]"
            ldc "]]"
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 10 /* escapedColumnName */
        start local 10 // java.lang.String escapedColumnName
        24: .line 1480
            aload 2 /* bulkCmd */
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 10 /* escapedColumnName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 9 /* destType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* addCollate */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 1481
            aload 4 /* endColumn */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 10 // java.lang.String escapedColumnName
        26: .line 1482
            goto 29
        27: .line 1483
      StackMap locals:
      StackMap stack:
            aload 2 /* bulkCmd */
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* colMapping */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.destinationColumnName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 9 /* destType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        28: .line 1484
            aload 8 /* addCollate */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* endColumn */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 9 // java.lang.String destType
        end local 8 // java.lang.String addCollate
        end local 7 // java.lang.String columnCollation
        end local 6 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping colMapping
        29: .line 1461
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter java.lang.StringBuilder java.util.List java.lang.String int
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 5 /* i */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.columnMappings:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 6
        end local 5 // int i
        31: .line 1488
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.copyOptions:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopyOptions;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopyOptions.isCheckConstraints:()Z
            ifeq 33
        32: .line 1489
            aload 3 /* bulkOptions */
            ldc "CHECK_CONSTRAINTS"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        33: .line 1492
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.copyOptions:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopyOptions;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopyOptions.isFireTriggers:()Z
            ifeq 35
        34: .line 1493
            aload 3 /* bulkOptions */
            ldc "FIRE_TRIGGERS"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        35: .line 1496
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.copyOptions:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopyOptions;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopyOptions.isKeepNulls:()Z
            ifeq 37
        36: .line 1497
            aload 3 /* bulkOptions */
            ldc "KEEP_NULLS"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        37: .line 1500
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.copyOptions:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopyOptions;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopyOptions.getBatchSize:()I
            ifle 39
        38: .line 1501
            aload 3 /* bulkOptions */
            new java.lang.StringBuilder
            dup
            ldc "ROWS_PER_BATCH = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.copyOptions:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopyOptions;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopyOptions.getBatchSize:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        39: .line 1504
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.copyOptions:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopyOptions;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopyOptions.isTableLock:()Z
            ifeq 41
        40: .line 1505
            aload 3 /* bulkOptions */
            ldc "TABLOCK"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        41: .line 1508
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.copyOptions:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopyOptions;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopyOptions.isAllowEncryptedValueModifications:()Z
            ifeq 43
        42: .line 1509
            aload 3 /* bulkOptions */
            ldc "ALLOW_ENCRYPTED_VALUE_MODIFICATIONS"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        43: .line 1512
      StackMap locals:
      StackMap stack:
            aload 3 /* bulkOptions */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5 /* it */
        start local 5 // java.util.Iterator it
        44: .line 1513
            aload 5 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 52
        45: .line 1514
            aload 2 /* bulkCmd */
            ldc " with ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        46: .line 1515
            goto 50
        47: .line 1516
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 2 /* bulkCmd */
            aload 5 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        48: .line 1517
            aload 5 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 50
        49: .line 1518
            aload 2 /* bulkCmd */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        50: .line 1515
      StackMap locals:
      StackMap stack:
            aload 5 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 47
        51: .line 1521
            aload 2 /* bulkCmd */
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        52: .line 1524
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.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 54
        53: .line 1525
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.loggerExternal:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " TDSCommand: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* bulkCmd */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
        54: .line 1527
      StackMap locals:
      StackMap stack:
            aload 2 /* bulkCmd */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // java.util.Iterator it
        end local 4 // java.lang.String endColumn
        end local 3 // java.util.List bulkOptions
        end local 2 // java.lang.StringBuilder bulkCmd
        end local 1 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   55     0               this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0   55     1          tdsWriter  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            1   55     2            bulkCmd  Ljava/lang/StringBuilder;
            2   55     3        bulkOptions  Ljava/util/List<Ljava/lang/String;>;
            3   55     4          endColumn  Ljava/lang/String;
            5   31     5                  i  I
            9   29     6         colMapping  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy$ColumnMapping;
           12   29     7    columnCollation  Ljava/lang/String;
           13   29     8         addCollate  Ljava/lang/String;
           18   29     9           destType  Ljava/lang/String;
           24   26    10  escapedColumnName  Ljava/lang/String;
           44   55     5                 it  Ljava/util/Iterator<Ljava/lang/String;>;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
           Name  Flags
      tdsWriter  

  private boolean doInsertBulk(com.microsoft.sqlserver.jdbc.TDSCommand);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/TDSCommand;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // com.microsoft.sqlserver.jdbc.TDSCommand command
         0: .line 1531
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.copyOptions:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopyOptions;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopyOptions.isUseInternalTransaction:()Z
            ifeq 2
         1: .line 1533
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.setAutoCommit:(Z)V
         2: .line 1536
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* insertRowByRow */
        start local 2 // boolean insertRowByRow
         3: .line 1538
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            ifnull 15
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            instanceof com.microsoft.sqlserver.jdbc.SQLServerResultSet
            ifeq 15
         4: .line 1539
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerResultSet
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.getStatement:()Ljava/sql/Statement;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerStatement
            astore 3 /* src_stmt */
        start local 3 // com.microsoft.sqlserver.jdbc.SQLServerStatement src_stmt
         5: .line 1540
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerResultSet
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.getServerCursorId:()I
            istore 4 /* resultSetServerCursorId */
        start local 4 // int resultSetServerCursorId
         6: .line 1542
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            aload 3 /* src_stmt */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerStatement.getConnection:()Ljava/sql/Connection;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 8
            iload 4 /* resultSetServerCursorId */
            ifeq 8
         7: .line 1543
            iconst_1
            istore 2 /* insertRowByRow */
         8: .line 1546
      StackMap locals: int com.microsoft.sqlserver.jdbc.SQLServerStatement int
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerResultSet
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.isForwardOnly:()Z
            ifeq 15
         9: .line 1548
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            iconst_1
            invokeinterface java.sql.ResultSet.setFetchSize:(I)V
        10: .line 1549
            goto 15
      StackMap locals:
      StackMap stack: java.sql.SQLException
        11: astore 5 /* e */
        start local 5 // java.sql.SQLException e
        12: .line 1550
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            aload 5 /* e */
            invokevirtual java.sql.SQLException.getMessage:()Ljava/lang/String;
            aload 5 /* e */
            invokevirtual java.sql.SQLException.getSQLState:()Ljava/lang/String;
        13: .line 1551
            iconst_1
        14: .line 1550
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
        end local 5 // java.sql.SQLException e
        end local 4 // int resultSetServerCursorId
        end local 3 // com.microsoft.sqlserver.jdbc.SQLServerStatement src_stmt
        15: .line 1556
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* tdsWriter */
        start local 3 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
        16: .line 1557
            iconst_0
            istore 4 /* moreDataAvailable */
        start local 4 // boolean moreDataAvailable
        17: .line 1560
            iload 2 /* insertRowByRow */
            ifne 19
        18: .line 1561
            aload 0 /* this */
            aload 1 /* command */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sendBulkCopyCommand:(Lcom/microsoft/sqlserver/jdbc/TDSCommand;)Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            astore 3 /* tdsWriter */
        19: .line 1566
      StackMap locals: com.microsoft.sqlserver.jdbc.TDSWriter int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* tdsWriter */
            aload 1 /* command */
            iload 2 /* insertRowByRow */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeBatchData:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;Lcom/microsoft/sqlserver/jdbc/TDSCommand;Z)Z
            istore 4 /* moreDataAvailable */
        20: .line 1567
            goto 24
      StackMap locals:
      StackMap stack: java.lang.Throwable
        21: astore 5
        22: .line 1568
            aload 1 /* command */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.getTDSWriter:()Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            astore 3 /* tdsWriter */
        23: .line 1569
            aload 5
            athrow
        24: .line 1568
      StackMap locals:
      StackMap stack:
            aload 1 /* command */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.getTDSWriter:()Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            astore 3 /* tdsWriter */
        25: .line 1570
            goto 31
      StackMap locals:
      StackMap stack: java.lang.Throwable
        26: astore 6
        27: .line 1571
            aload 3 /* tdsWriter */
            ifnonnull 29
        28: .line 1572
            aload 1 /* command */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.getTDSWriter:()Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            astore 3 /* tdsWriter */
        29: .line 1576
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSCommand int com.microsoft.sqlserver.jdbc.TDSWriter int top java.lang.Throwable
      StackMap stack:
            aload 3 /* tdsWriter */
            aconst_null
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.setCryptoMetaData:(Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;)V
        30: .line 1577
            aload 6
            athrow
        31: .line 1571
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSCommand int com.microsoft.sqlserver.jdbc.TDSWriter int
      StackMap stack:
            aload 3 /* tdsWriter */
            ifnonnull 33
        32: .line 1572
            aload 1 /* command */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.getTDSWriter:()Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            astore 3 /* tdsWriter */
        33: .line 1576
      StackMap locals:
      StackMap stack:
            aload 3 /* tdsWriter */
            aconst_null
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.setCryptoMetaData:(Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;)V
        34: .line 1579
            iload 2 /* insertRowByRow */
            ifne 37
        35: .line 1586
            aload 0 /* this */
            aload 3 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writePacketDataDone:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;)V
        36: .line 1589
            aload 1 /* command */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.startResponse:()Lcom/microsoft/sqlserver/jdbc/TDSReader;
            aload 1 /* command */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.getLogContext:()Ljava/lang/String;
            invokestatic com.microsoft.sqlserver.jdbc.TDSParser.parse:(Lcom/microsoft/sqlserver/jdbc/TDSReader;Ljava/lang/String;)V
        37: .line 1592
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.copyOptions:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopyOptions;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopyOptions.isUseInternalTransaction:()Z
            ifeq 39
        38: .line 1594
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.commit:()V
        39: .line 1597
      StackMap locals:
      StackMap stack:
            iload 4 /* moreDataAvailable */
            ireturn
        end local 4 // boolean moreDataAvailable
        end local 3 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
        end local 2 // boolean insertRowByRow
        end local 1 // com.microsoft.sqlserver.jdbc.TDSCommand command
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   40     0                     this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0   40     1                  command  Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            3   40     2           insertRowByRow  Z
            5   15     3                 src_stmt  Lcom/microsoft/sqlserver/jdbc/SQLServerStatement;
            6   15     4  resultSetServerCursorId  I
           12   15     5                        e  Ljava/sql/SQLException;
           16   40     3                tdsWriter  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
           17   40     4        moreDataAvailable  Z
      Exception table:
        from    to  target  type
           9    10      11  Class java.sql.SQLException
          19    21      21  any
          17    26      26  any
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
         Name  Flags
      command  

  private com.microsoft.sqlserver.jdbc.TDSWriter sendBulkCopyCommand(com.microsoft.sqlserver.jdbc.TDSCommand);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/TDSCommand;)Lcom/microsoft/sqlserver/jdbc/TDSWriter;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // com.microsoft.sqlserver.jdbc.TDSCommand command
         0: .line 1602
            aload 1 /* command */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.startRequest:(B)Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            astore 2 /* tdsWriter */
        start local 2 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
         1: .line 1603
            aload 0 /* this */
            aload 2 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.createInsertBulkCommand:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;)Ljava/lang/String;
            astore 3 /* bulkCmd */
        start local 3 // java.lang.String bulkCmd
         2: .line 1604
            aload 2 /* tdsWriter */
            aconst_null
            aconst_null
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.sendEnclavePackage:(Ljava/lang/String;Ljava/util/ArrayList;)V
         3: .line 1605
            aload 2 /* tdsWriter */
            aload 3 /* bulkCmd */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeString:(Ljava/lang/String;)V
         4: .line 1606
            aload 1 /* command */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.startResponse:()Lcom/microsoft/sqlserver/jdbc/TDSReader;
            aload 1 /* command */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.getLogContext:()Ljava/lang/String;
            invokestatic com.microsoft.sqlserver.jdbc.TDSParser.parse:(Lcom/microsoft/sqlserver/jdbc/TDSReader;Ljava/lang/String;)V
         5: .line 1609
            aload 1 /* command */
            bipush 7
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.startRequest:(B)Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            astore 2 /* tdsWriter */
         6: .line 1612
            aload 0 /* this */
            aload 2 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeColumnMetaData:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;)V
         7: .line 1614
            aload 2 /* tdsWriter */
            areturn
        end local 3 // java.lang.String bulkCmd
        end local 2 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
        end local 1 // com.microsoft.sqlserver.jdbc.TDSCommand command
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0    8     1    command  Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            1    8     2  tdsWriter  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            2    8     3    bulkCmd  Ljava/lang/String;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
         Name  Flags
      command  

  private void writePacketDataDone(com.microsoft.sqlserver.jdbc.TDSWriter);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/TDSWriter;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
         0: .line 1619
            aload 1 /* tdsWriter */
            bipush -3
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         1: .line 1620
            aload 1 /* tdsWriter */
            lconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeLong:(J)V
         2: .line 1621
            aload 1 /* tdsWriter */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
         3: .line 1622
            return
        end local 1 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0    4     1  tdsWriter  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
           Name  Flags
      tdsWriter  

  private void throwInvalidArgument(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // java.lang.String argument
         0: .line 1628
            new java.text.MessageFormat
            dup
            ldc "R_invalidArgument"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 2 /* form */
        start local 2 // java.text.MessageFormat form
         1: .line 1629
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* argument */
            aastore
            astore 3 /* msgArgs */
        start local 3 // java.lang.Object[] msgArgs
         2: .line 1630
            aconst_null
            aconst_null
            aload 2 /* form */
            aload 3 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
         3: .line 1631
            return
        end local 3 // java.lang.Object[] msgArgs
        end local 2 // java.text.MessageFormat form
        end local 1 // java.lang.String argument
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0    4     1  argument  Ljava/lang/String;
            1    4     2      form  Ljava/text/MessageFormat;
            2    4     3   msgArgs  [Ljava/lang/Object;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
          Name  Flags
      argument  

  private void writeToServer();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
         0: .line 1637
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isClosed:()Z
            ifeq 4
         1: .line 1638
            aconst_null
            aconst_null
            ldc "R_connectionIsClosed"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
         2: .line 1639
            ldc "08003"
            iconst_0
         3: .line 1638
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
         4: .line 1642
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 1 /* start */
        start local 1 // long start
         5: .line 1643
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.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
         6: .line 1644
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.loggerExternal:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " Start writeToServer: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 1 /* start */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
         7: .line 1646
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.getDestinationMetadata:()V
         8: .line 1650
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.getSourceMetadata:()V
         9: .line 1652
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.validateColumnMappings:()V
        10: .line 1654
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sendBulkLoadBCP:()V
        11: .line 1656
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 3 /* end */
        start local 3 // long end
        12: .line 1657
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.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 16
        13: .line 1658
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.loggerExternal:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " End writeToServer: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 3 /* end */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
        14: .line 1659
            lload 3 /* end */
            lload 1 /* start */
            lsub
            ldc 1000
            ldiv
            l2i
            istore 5 /* seconds */
        start local 5 // int seconds
        15: .line 1660
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.loggerExternal:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "Time elapsed: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 5 /* seconds */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " seconds"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
        end local 5 // int seconds
        16: .line 1662
      StackMap locals: long
      StackMap stack:
            return
        end local 3 // long end
        end local 1 // long start
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            5   17     1    start  J
           12   17     3      end  J
           15   16     5  seconds  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  private void validateStringBinaryLengths(java.lang.Object, int, int);
    descriptor: (Ljava/lang/Object;II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=12, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // java.lang.Object colValue
        start local 2 // int srcCol
        start local 3 // int destCol
         0: .line 1666
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 3 /* destCol */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.precision:I
            istore 5 /* destPrecision */
        start local 5 // int destPrecision
         1: .line 1667
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.srcColumnMetadata:Ljava/util/Map;
            iload 2 /* srcCol */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.jdbcType:I
            istore 6 /* srcJdbcType */
        start local 6 // int srcJdbcType
         2: .line 1668
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 3 /* destCol */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.ssType:Lcom/microsoft/sqlserver/jdbc/SSType;
            astore 7 /* destSSType */
        start local 7 // com.microsoft.sqlserver.jdbc.SSType destSSType
         3: .line 1670
            iload 6 /* srcJdbcType */
            invokestatic com.microsoft.sqlserver.jdbc.Util.isCharType:(I)Z
            ifeq 4
            aload 7 /* destSSType */
            invokestatic com.microsoft.sqlserver.jdbc.Util.isCharType:(Lcom/microsoft/sqlserver/jdbc/SSType;)Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 5
         4: .line 1671
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy java.lang.Object int int top int int com.microsoft.sqlserver.jdbc.SSType
      StackMap stack:
            iload 6 /* srcJdbcType */
            invokestatic com.microsoft.sqlserver.jdbc.Util.isBinaryType:(I)Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 21
            aload 7 /* destSSType */
            invokestatic com.microsoft.sqlserver.jdbc.Util.isBinaryType:(Lcom/microsoft/sqlserver/jdbc/SSType;)Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 21
         5: .line 1672
      StackMap locals:
      StackMap stack:
            aload 1 /* colValue */
            instanceof java.lang.String
            ifeq 11
         6: .line 1673
            aload 7 /* destSSType */
            invokestatic com.microsoft.sqlserver.jdbc.Util.isBinaryType:(Lcom/microsoft/sqlserver/jdbc/SSType;)Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 9
         7: .line 1676
            aload 1 /* colValue */
            checkcast java.lang.String
            invokevirtual java.lang.String.getBytes:()[B
            arraylength
            iconst_2
            idiv
            istore 4 /* sourcePrecision */
        start local 4 // int sourcePrecision
         8: .line 1677
            goto 15
        end local 4 // int sourcePrecision
         9: .line 1678
      StackMap locals:
      StackMap stack:
            aload 1 /* colValue */
            checkcast java.lang.String
            invokevirtual java.lang.String.length:()I
            istore 4 /* sourcePrecision */
        start local 4 // int sourcePrecision
        10: .line 1679
            goto 15
        end local 4 // int sourcePrecision
      StackMap locals:
      StackMap stack:
        11: aload 1 /* colValue */
            instanceof byte[]
            ifeq 14
        12: .line 1680
            aload 1 /* colValue */
            checkcast byte[]
            arraylength
            istore 4 /* sourcePrecision */
        start local 4 // int sourcePrecision
        13: .line 1681
            goto 15
        end local 4 // int sourcePrecision
        14: .line 1682
      StackMap locals:
      StackMap stack:
            return
        start local 4 // int sourcePrecision
        15: .line 1685
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy java.lang.Object int int int int int com.microsoft.sqlserver.jdbc.SSType
      StackMap stack:
            iload 4 /* sourcePrecision */
            iload 5 /* destPrecision */
            if_icmple 21
        16: .line 1686
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            iload 6 /* srcJdbcType */
            invokestatic com.microsoft.sqlserver.jdbc.JDBCType.of:(I)Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 4 /* sourcePrecision */
            invokevirtual java.lang.StringBuilder.append:(I)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 /* srcType */
        start local 8 // java.lang.String srcType
        17: .line 1687
            new java.lang.StringBuilder
            dup
            aload 7 /* destSSType */
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 5 /* destPrecision */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 9 /* destType */
        start local 9 // java.lang.String destType
        18: .line 1688
            new java.text.MessageFormat
            dup
            ldc "R_InvalidDataForAE"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 10 /* form */
        start local 10 // java.text.MessageFormat form
        19: .line 1689
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* srcType */
            aastore
            dup
            iconst_1
            aload 9 /* destType */
            aastore
            astore 11 /* msgArgs */
        start local 11 // java.lang.Object[] msgArgs
        20: .line 1690
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 0 /* this */
            aload 10 /* form */
            aload 11 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            iconst_0
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            athrow
        end local 11 // java.lang.Object[] msgArgs
        end local 10 // java.text.MessageFormat form
        end local 9 // java.lang.String destType
        end local 8 // java.lang.String srcType
        end local 4 // int sourcePrecision
        21: .line 1693
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy java.lang.Object int int top int int com.microsoft.sqlserver.jdbc.SSType
      StackMap stack:
            return
        end local 7 // com.microsoft.sqlserver.jdbc.SSType destSSType
        end local 6 // int srcJdbcType
        end local 5 // int destPrecision
        end local 3 // int destCol
        end local 2 // int srcCol
        end local 1 // java.lang.Object colValue
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   22     0             this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0   22     1         colValue  Ljava/lang/Object;
            0   22     2           srcCol  I
            0   22     3          destCol  I
            8    9     4  sourcePrecision  I
           10   11     4  sourcePrecision  I
           13   14     4  sourcePrecision  I
           15   21     4  sourcePrecision  I
            1   22     5    destPrecision  I
            2   22     6      srcJdbcType  I
            3   22     7       destSSType  Lcom/microsoft/sqlserver/jdbc/SSType;
           17   21     8          srcType  Ljava/lang/String;
           18   21     9         destType  Ljava/lang/String;
           19   21    10             form  Ljava/text/MessageFormat;
           20   21    11          msgArgs  [Ljava/lang/Object;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
          Name  Flags
      colValue  
      srcCol    
      destCol   

  private void getDestinationMetadata();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=12, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
         0: .line 1699
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destinationTableName:Ljava/lang/String;
            ifnonnull 4
         1: .line 1700
            aconst_null
            aconst_null
         2: .line 1701
            ldc "R_invalidDestinationTable"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
            iconst_0
         3: .line 1700
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
         4: .line 1704
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destinationTableName:Ljava/lang/String;
            invokestatic com.microsoft.sqlserver.jdbc.Util.escapeSingleQuotes:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* escapedDestinationTableName */
        start local 1 // java.lang.String escapedDestinationTableName
         5: .line 1706
            aconst_null
            astore 2 /* rs */
        start local 2 // com.microsoft.sqlserver.jdbc.SQLServerResultSet rs
         6: .line 1707
            aconst_null
            astore 3 /* stmt */
        start local 3 // com.microsoft.sqlserver.jdbc.SQLServerStatement stmt
         7: .line 1708
            aconst_null
            astore 4 /* metaDataQuery */
        start local 4 // java.lang.String metaDataQuery
         8: .line 1711
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destinationTableMetadata:Ljava/sql/ResultSet;
            ifnull 11
         9: .line 1712
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destinationTableMetadata:Ljava/sql/ResultSet;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerResultSet
            astore 2 /* rs */
        10: .line 1713
            goto 17
        11: .line 1714
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy java.lang.String com.microsoft.sqlserver.jdbc.SQLServerResultSet com.microsoft.sqlserver.jdbc.SQLServerStatement java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            sipush 1003
        12: .line 1715
            sipush 1007
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getHoldability:()I
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.stmtColumnEncriptionSetting:Lcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;
        13: .line 1714
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.createStatement:(IIILcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;)Ljava/sql/Statement;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerStatement
            astore 3 /* stmt */
        14: .line 1718
            aload 3 /* stmt */
        15: .line 1719
            new java.lang.StringBuilder
            dup
            ldc "sp_executesql N'SET FMTONLY ON SELECT * FROM "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* escapedDestinationTableName */
            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;
        16: .line 1718
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerStatement.executeQueryInternal:(Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/SQLServerResultSet;
            astore 2 /* rs */
        17: .line 1722
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* rs */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.getMetaData:()Ljava/sql/ResultSetMetaData;
            invokeinterface java.sql.ResultSetMetaData.getColumnCount:()I
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnCount:I
        18: .line 1723
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
        19: .line 1724
            aload 0 /* this */
            aload 2 /* rs */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.getCekTable:()Lcom/microsoft/sqlserver/jdbc/CekTable;
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destCekTable:Lcom/microsoft/sqlserver/jdbc/CekTable;
        20: .line 1726
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getServerSupportsColumnEncryption:()Z
            ifne 25
        21: .line 1727
            new java.lang.StringBuilder
            dup
            ldc "select collation_name from sys.columns where object_id=OBJECT_ID('"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        22: .line 1728
            aload 1 /* escapedDestinationTableName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "') "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "order by column_id ASC"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        23: .line 1727
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* metaDataQuery */
        24: .line 1729
            goto 28
        25: .line 1730
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "select collation_name, encryption_type from sys.columns where object_id=OBJECT_ID('"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        26: .line 1731
            aload 1 /* escapedDestinationTableName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "') "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "order by column_id ASC"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        27: .line 1730
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* metaDataQuery */
        28: .line 1734
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5
            aconst_null
            astore 6
        29: aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.createStatement:()Ljava/sql/Statement;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerStatement
            astore 7 /* statementMoreMetadata */
        start local 7 // com.microsoft.sqlserver.jdbc.SQLServerStatement statementMoreMetadata
        30: .line 1735
            aload 7 /* statementMoreMetadata */
            aload 4 /* metaDataQuery */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerStatement.executeQueryInternal:(Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/SQLServerResultSet;
            astore 8 /* rsMoreMetaData */
        start local 8 // com.microsoft.sqlserver.jdbc.SQLServerResultSet rsMoreMetaData
        31: .line 1736
            iconst_1
            istore 9 /* i */
        start local 9 // int i
        32: goto 43
        33: .line 1737
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy java.lang.String com.microsoft.sqlserver.jdbc.SQLServerResultSet com.microsoft.sqlserver.jdbc.SQLServerStatement java.lang.String java.lang.Throwable java.lang.Throwable com.microsoft.sqlserver.jdbc.SQLServerStatement com.microsoft.sqlserver.jdbc.SQLServerResultSet int
      StackMap stack:
            aload 8 /* rsMoreMetaData */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.next:()Z
            ifeq 41
        34: .line 1738
            aconst_null
            astore 10 /* bulkCopyEncryptionType */
        start local 10 // java.lang.String bulkCopyEncryptionType
        35: .line 1739
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getServerSupportsColumnEncryption:()Z
            ifeq 37
        36: .line 1740
            aload 8 /* rsMoreMetaData */
            ldc "encryption_type"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 10 /* bulkCopyEncryptionType */
        37: .line 1742
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 9 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            new com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            dup
            aload 0 /* this */
            aload 2 /* rs */
            iload 9 /* i */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.getColumn:(I)Lcom/microsoft/sqlserver/jdbc/Column;
        38: .line 1743
            aload 8 /* rsMoreMetaData */
            ldc "collation_name"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 10 /* bulkCopyEncryptionType */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;Lcom/microsoft/sqlserver/jdbc/Column;Ljava/lang/String;Ljava/lang/String;)V
        39: .line 1742
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 10 // java.lang.String bulkCopyEncryptionType
        40: .line 1744
            goto 42
        41: .line 1745
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 9 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            new com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            dup
            aload 0 /* this */
            aload 2 /* rs */
            iload 9 /* i */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.getColumn:(I)Lcom/microsoft/sqlserver/jdbc/Column;
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;Lcom/microsoft/sqlserver/jdbc/Column;)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        42: .line 1736
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        43: iload 9 /* i */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnCount:I
            if_icmple 33
        end local 9 // int i
        44: .line 1748
            aload 8 /* rsMoreMetaData */
            ifnull 47
            aload 8 /* rsMoreMetaData */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.close:()V
            goto 47
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy java.lang.String com.microsoft.sqlserver.jdbc.SQLServerResultSet com.microsoft.sqlserver.jdbc.SQLServerStatement java.lang.String java.lang.Throwable java.lang.Throwable com.microsoft.sqlserver.jdbc.SQLServerStatement com.microsoft.sqlserver.jdbc.SQLServerResultSet
      StackMap stack: java.lang.Throwable
        45: astore 5
            aload 8 /* rsMoreMetaData */
            ifnull 46
            aload 8 /* rsMoreMetaData */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.close:()V
        end local 8 // com.microsoft.sqlserver.jdbc.SQLServerResultSet rsMoreMetaData
      StackMap locals:
      StackMap stack:
        46: aload 5
            athrow
      StackMap locals:
      StackMap stack:
        47: aload 7 /* statementMoreMetadata */
            ifnull 63
            aload 7 /* statementMoreMetadata */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerStatement.close:()V
            goto 63
      StackMap locals:
      StackMap stack: java.lang.Throwable
        48: astore 6
            aload 5
            ifnonnull 49
            aload 6
            astore 5
            goto 50
      StackMap locals:
      StackMap stack:
        49: aload 5
            aload 6
            if_acmpeq 50
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        50: aload 7 /* statementMoreMetadata */
            ifnull 51
            aload 7 /* statementMoreMetadata */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerStatement.close:()V
        end local 7 // com.microsoft.sqlserver.jdbc.SQLServerStatement statementMoreMetadata
      StackMap locals:
      StackMap stack:
        51: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        52: astore 6
            aload 5
            ifnonnull 53
            aload 6
            astore 5
            goto 54
      StackMap locals:
      StackMap stack:
        53: aload 5
            aload 6
            if_acmpeq 54
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        54: aload 5
            athrow
        55: .line 1749
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy java.lang.String com.microsoft.sqlserver.jdbc.SQLServerResultSet com.microsoft.sqlserver.jdbc.SQLServerStatement java.lang.String
      StackMap stack: java.sql.SQLException
            astore 5 /* e */
        start local 5 // java.sql.SQLException e
        56: .line 1751
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_unableRetrieveColMeta"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aload 5 /* e */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.sql.SQLException e
        57: .line 1752
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 11
        58: .line 1753
            aload 2 /* rs */
            ifnull 60
        59: .line 1754
            aload 2 /* rs */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.close:()V
        60: .line 1755
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy java.lang.String com.microsoft.sqlserver.jdbc.SQLServerResultSet com.microsoft.sqlserver.jdbc.SQLServerStatement java.lang.String top top top top top top java.lang.Throwable
      StackMap stack:
            aload 3 /* stmt */
            ifnull 62
        61: .line 1756
            aload 3 /* stmt */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerStatement.close:()V
        62: .line 1757
      StackMap locals:
      StackMap stack:
            aload 11
            athrow
        63: .line 1753
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy java.lang.String com.microsoft.sqlserver.jdbc.SQLServerResultSet com.microsoft.sqlserver.jdbc.SQLServerStatement java.lang.String
      StackMap stack:
            aload 2 /* rs */
            ifnull 65
        64: .line 1754
            aload 2 /* rs */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.close:()V
        65: .line 1755
      StackMap locals:
      StackMap stack:
            aload 3 /* stmt */
            ifnull 67
        66: .line 1756
            aload 3 /* stmt */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerStatement.close:()V
        67: .line 1758
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.String metaDataQuery
        end local 3 // com.microsoft.sqlserver.jdbc.SQLServerStatement stmt
        end local 2 // com.microsoft.sqlserver.jdbc.SQLServerResultSet rs
        end local 1 // java.lang.String escapedDestinationTableName
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0   68     0                         this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            5   68     1  escapedDestinationTableName  Ljava/lang/String;
            6   68     2                           rs  Lcom/microsoft/sqlserver/jdbc/SQLServerResultSet;
            7   68     3                         stmt  Lcom/microsoft/sqlserver/jdbc/SQLServerStatement;
            8   68     4                metaDataQuery  Ljava/lang/String;
           30   51     7        statementMoreMetadata  Lcom/microsoft/sqlserver/jdbc/SQLServerStatement;
           31   46     8               rsMoreMetaData  Lcom/microsoft/sqlserver/jdbc/SQLServerResultSet;
           32   44     9                            i  I
           35   40    10       bulkCopyEncryptionType  Ljava/lang/String;
           56   57     5                            e  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
          31    44      45  any
          30    47      48  any
          29    52      52  any
           8    55      55  Class java.sql.SQLException
           8    57      57  any
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  private void getSourceMetadata();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=12, locals=5, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
         0: .line 1765
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.srcColumnMetadata:Ljava/util/Map;
         1: .line 1767
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            ifnull 18
         2: .line 1769
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSetMetaData:Ljava/sql/ResultSetMetaData;
            invokeinterface java.sql.ResultSetMetaData.getColumnCount:()I
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.srcColumnCount:I
         3: .line 1770
            iconst_1
            istore 2 /* i */
        start local 2 // int i
         4: goto 14
         5: .line 1771
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy top int
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.srcColumnMetadata:Ljava/util/Map;
            iload 2 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
         6: .line 1772
            new com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSetMetaData:Ljava/sql/ResultSetMetaData;
            iload 2 /* i */
            invokeinterface java.sql.ResultSetMetaData.getColumnName:(I)Ljava/lang/String;
         7: .line 1773
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSetMetaData:Ljava/sql/ResultSetMetaData;
            iload 2 /* i */
            invokeinterface java.sql.ResultSetMetaData.isNullable:(I)I
            ifeq 8
            iconst_1
            goto 9
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy top int
      StackMap stack: java.util.Map java.lang.Integer new 6 new 6 com.microsoft.sqlserver.jdbc.SQLServerBulkCopy java.lang.String
         8: iconst_0
         9: .line 1774
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy top int
      StackMap stack: java.util.Map java.lang.Integer new 6 new 6 com.microsoft.sqlserver.jdbc.SQLServerBulkCopy java.lang.String int
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSetMetaData:Ljava/sql/ResultSetMetaData;
            iload 2 /* i */
            invokeinterface java.sql.ResultSetMetaData.getPrecision:(I)I
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSetMetaData:Ljava/sql/ResultSetMetaData;
            iload 2 /* i */
            invokeinterface java.sql.ResultSetMetaData.getScale:(I)I
        10: .line 1775
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSetMetaData:Ljava/sql/ResultSetMetaData;
            iload 2 /* i */
            invokeinterface java.sql.ResultSetMetaData.getColumnType:(I)I
            aconst_null
        11: .line 1772
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;Ljava/lang/String;ZIIILjava/time/format/DateTimeFormatter;)V
        12: .line 1771
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 1770
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 2 /* i */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.srcColumnCount:I
            if_icmple 5
        end local 2 // int i
        15: .line 1777
            goto 39
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy
      StackMap stack: java.sql.SQLException
        16: astore 2 /* e */
        start local 2 // java.sql.SQLException e
        17: .line 1779
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_unableRetrieveColMeta"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aload 2 /* e */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.sql.SQLException e
        18: .line 1781
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.serverBulkData:Lcom/microsoft/sqlserver/jdbc/ISQLServerBulkData;
            ifnull 38
        19: .line 1782
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.serverBulkData:Lcom/microsoft/sqlserver/jdbc/ISQLServerBulkData;
            invokeinterface com.microsoft.sqlserver.jdbc.ISQLServerBulkData.getColumnOrdinals:()Ljava/util/Set;
            astore 2 /* columnOrdinals */
        start local 2 // java.util.Set columnOrdinals
        20: .line 1783
            aload 2 /* columnOrdinals */
            ifnull 21
            aload 2 /* columnOrdinals */
            invokeinterface java.util.Set.size:()I
            ifne 22
        21: .line 1784
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy top java.util.Set
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_unableRetrieveColMeta"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        22: .line 1786
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* columnOrdinals */
            invokeinterface java.util.Set.size:()I
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.srcColumnCount:I
        23: .line 1787
            aload 2 /* columnOrdinals */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 36
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy top java.util.Set top java.util.Iterator
      StackMap stack:
        24: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 3 /* columnOrdinal */
        start local 3 // java.lang.Integer columnOrdinal
        25: .line 1788
            aload 3 /* columnOrdinal */
            invokevirtual java.lang.Integer.intValue:()I
            istore 1 /* currentColumn */
        start local 1 // int currentColumn
        26: .line 1789
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.srcColumnMetadata:Ljava/util/Map;
            iload 1 /* currentColumn */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        27: new com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            dup
            aload 0 /* this */
        28: .line 1790
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.serverBulkData:Lcom/microsoft/sqlserver/jdbc/ISQLServerBulkData;
            iload 1 /* currentColumn */
            invokeinterface com.microsoft.sqlserver.jdbc.ISQLServerBulkData.getColumnName:(I)Ljava/lang/String;
            iconst_1
        29: .line 1791
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.serverBulkData:Lcom/microsoft/sqlserver/jdbc/ISQLServerBulkData;
            iload 1 /* currentColumn */
            invokeinterface com.microsoft.sqlserver.jdbc.ISQLServerBulkData.getPrecision:(I)I
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.serverBulkData:Lcom/microsoft/sqlserver/jdbc/ISQLServerBulkData;
            iload 1 /* currentColumn */
            invokeinterface com.microsoft.sqlserver.jdbc.ISQLServerBulkData.getScale:(I)I
        30: .line 1792
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.serverBulkData:Lcom/microsoft/sqlserver/jdbc/ISQLServerBulkData;
            iload 1 /* currentColumn */
            invokeinterface com.microsoft.sqlserver.jdbc.ISQLServerBulkData.getColumnType:(I)I
        31: .line 1793
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.serverBulkData:Lcom/microsoft/sqlserver/jdbc/ISQLServerBulkData;
            instanceof com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord
            ifeq 33
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.serverBulkData:Lcom/microsoft/sqlserver/jdbc/ISQLServerBulkData;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord
        32: .line 1794
            iload 1 /* currentColumn */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCSVFileRecord.getColumnDateTimeFormatter:(I)Ljava/time/format/DateTimeFormatter;
            goto 34
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy int java.util.Set java.lang.Integer java.util.Iterator
      StackMap stack: java.util.Map java.lang.Integer new 27 new 27 com.microsoft.sqlserver.jdbc.SQLServerBulkCopy java.lang.String int int int int
        33: aconst_null
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy int java.util.Set java.lang.Integer java.util.Iterator
      StackMap stack: java.util.Map java.lang.Integer new 27 new 27 com.microsoft.sqlserver.jdbc.SQLServerBulkCopy java.lang.String int int int int java.time.format.DateTimeFormatter
        34: invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;Ljava/lang/String;ZIIILjava/time/format/DateTimeFormatter;)V
        35: .line 1789
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // java.lang.Integer columnOrdinal
        end local 1 // int currentColumn
        36: .line 1787
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy top java.util.Set top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 24
        end local 2 // java.util.Set columnOrdinals
        37: .line 1797
            goto 39
        38: .line 1799
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_unableRetrieveColMeta"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        39: .line 1801
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   40     0            this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
           26   36     1   currentColumn  I
            4   15     2               i  I
           17   18     2               e  Ljava/sql/SQLException;
           20   37     2  columnOrdinals  Ljava/util/Set<Ljava/lang/Integer;>;
           25   36     3   columnOrdinal  Ljava/lang/Integer;
      Exception table:
        from    to  target  type
           2    15      16  Class java.sql.SQLException
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  private int validateSourcePrecision(int, int, int);
    descriptor: (III)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // int srcPrecision
        start local 2 // int srcJdbcType
        start local 3 // int destPrecision
         0: .line 1807
            iconst_1
            iload 1 /* srcPrecision */
            if_icmple 2
            iload 2 /* srcJdbcType */
            invokestatic com.microsoft.sqlserver.jdbc.Util.isCharType:(I)Z
            ifeq 2
         1: .line 1808
            iload 3 /* destPrecision */
            istore 1 /* srcPrecision */
         2: .line 1810
      StackMap locals:
      StackMap stack:
            iload 1 /* srcPrecision */
            ireturn
        end local 3 // int destPrecision
        end local 2 // int srcJdbcType
        end local 1 // int srcPrecision
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0    3     1   srcPrecision  I
            0    3     2    srcJdbcType  I
            0    3     3  destPrecision  I
    MethodParameters:
               Name  Flags
      srcPrecision   
      srcJdbcType    
      destPrecision  

  private void validateColumnMappings();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=9, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
         0: .line 1818
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.columnMappings:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 40
         1: .line 1821
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnCount:I
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.srcColumnCount:I
            if_icmpeq 5
         2: .line 1822
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_schemaMismatch"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
         3: .line 1823
            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
         4: .line 1822
            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
         5: .line 1830
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* i */
        start local 2 // int i
         6: goto 12
         7: .line 1832
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy top int
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 2 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.isIdentity:Z
            ifeq 8
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.copyOptions:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopyOptions;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopyOptions.isKeepIdentity:()Z
            ifeq 11
         8: .line 1833
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping
            dup
            aload 0 /* this */
            iload 2 /* i */
            iload 2 /* i */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;II)V
            astore 1 /* cm */
        start local 1 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping cm
         9: .line 1835
            aload 1 /* cm */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 2 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.columnName:Ljava/lang/String;
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.destinationColumnName:Ljava/lang/String;
        10: .line 1836
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.columnMappings:Ljava/util/List;
            aload 1 /* cm */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 1 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping cm
        11: .line 1830
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 2 /* i */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.srcColumnCount:I
            if_icmple 7
        end local 2 // int i
        13: .line 1840
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.serverBulkData:Lcom/microsoft/sqlserver/jdbc/ISQLServerBulkData;
            ifnull 126
        14: .line 1841
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.serverBulkData:Lcom/microsoft/sqlserver/jdbc/ISQLServerBulkData;
            invokeinterface com.microsoft.sqlserver.jdbc.ISQLServerBulkData.getColumnOrdinals:()Ljava/util/Set;
            astore 2 /* columnOrdinals */
        start local 2 // java.util.Set columnOrdinals
        15: .line 1842
            aload 2 /* columnOrdinals */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* columnsIterator */
        start local 3 // java.util.Iterator columnsIterator
        16: .line 1843
            iconst_1
            istore 4 /* j */
        start local 4 // int j
        17: .line 1844
            goto 38
        18: .line 1845
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy top java.util.Set java.util.Iterator int
      StackMap stack:
            aload 3 /* columnsIterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 5 /* currentOrdinal */
        start local 5 // int currentOrdinal
        19: .line 1846
            iload 4 /* j */
            iload 5 /* currentOrdinal */
            if_icmpeq 37
        20: .line 1851
            new java.util.ArrayList
            dup
            aload 2 /* columnOrdinals */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 6 /* sortedList */
        start local 6 // java.util.List sortedList
        21: .line 1852
            aload 6 /* sortedList */
            invokestatic java.util.Collections.sort:(Ljava/util/List;)V
        22: .line 1853
            aload 6 /* sortedList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3 /* columnsIterator */
        23: .line 1854
            iconst_1
            istore 4 /* j */
        24: .line 1855
            goto 35
        25: .line 1856
      StackMap locals: int java.util.List
      StackMap stack:
            aload 3 /* columnsIterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 5 /* currentOrdinal */
        26: .line 1857
            iload 4 /* j */
            iload 5 /* currentOrdinal */
            if_icmpeq 34
        27: .line 1858
            new java.text.MessageFormat
            dup
        28: .line 1859
            ldc "R_invalidColumn"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        29: .line 1858
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 7 /* form */
        start local 7 // java.text.MessageFormat form
        30: .line 1860
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 5 /* currentOrdinal */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            astore 8 /* msgArgs */
        start local 8 // java.lang.Object[] msgArgs
        31: .line 1861
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 7 /* form */
            aload 8 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SQLState.COL_NOT_FOUND:Lcom/microsoft/sqlserver/jdbc/SQLState;
        32: .line 1862
            getstatic com.microsoft.sqlserver.jdbc.DriverError.NOT_SET:Lcom/microsoft/sqlserver/jdbc/DriverError;
            aconst_null
        33: .line 1861
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLState;Lcom/microsoft/sqlserver/jdbc/DriverError;Ljava/lang/Throwable;)V
            athrow
        end local 8 // java.lang.Object[] msgArgs
        end local 7 // java.text.MessageFormat form
        34: .line 1864
      StackMap locals:
      StackMap stack:
            iinc 4 /* j */ 1
        35: .line 1855
      StackMap locals:
      StackMap stack:
            aload 3 /* columnsIterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 25
        36: .line 1867
            goto 126
        end local 6 // java.util.List sortedList
        37: .line 1869
      StackMap locals:
      StackMap stack:
            iinc 4 /* j */ 1
        end local 5 // int currentOrdinal
        38: .line 1844
      StackMap locals:
      StackMap stack:
            aload 3 /* columnsIterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        end local 4 // int j
        end local 3 // java.util.Iterator columnsIterator
        end local 2 // java.util.Set columnOrdinals
        39: .line 1872
            goto 126
        40: .line 1873
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.columnMappings:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 1 /* numMappings */
        start local 1 // int numMappings
        41: .line 1877
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        42: goto 68
        43: .line 1878
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy int top int
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.columnMappings:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping
            astore 2 /* cm */
        start local 2 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping cm
        44: .line 1881
            iconst_m1
            aload 2 /* cm */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.destinationColumnOrdinal:I
            if_icmpne 60
        45: .line 1882
            iconst_0
            istore 4 /* foundColumn */
        start local 4 // boolean foundColumn
        46: .line 1884
            iconst_1
            istore 5 /* j */
        start local 5 // int j
        47: goto 53
        48: .line 1885
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy int com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping int int int
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 5 /* j */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.columnName:Ljava/lang/String;
            aload 2 /* cm */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.destinationColumnName:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 52
        49: .line 1886
            iconst_1
            istore 4 /* foundColumn */
        50: .line 1887
            aload 2 /* cm */
            iload 5 /* j */
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.destinationColumnOrdinal:I
        51: .line 1888
            goto 54
        52: .line 1884
      StackMap locals:
      StackMap stack:
            iinc 5 /* j */ 1
      StackMap locals:
      StackMap stack:
        53: iload 5 /* j */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnCount:I
            if_icmple 48
        end local 5 // int j
        54: .line 1892
      StackMap locals:
      StackMap stack:
            iload 4 /* foundColumn */
            ifne 67
        55: .line 1893
            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 5 /* form */
        start local 5 // java.text.MessageFormat form
        56: .line 1894
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* cm */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.destinationColumnName:Ljava/lang/String;
            aastore
            astore 6 /* msgArgs */
        start local 6 // java.lang.Object[] msgArgs
        57: .line 1895
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 5 /* form */
            aload 6 /* 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;
        58: .line 1896
            getstatic com.microsoft.sqlserver.jdbc.DriverError.NOT_SET:Lcom/microsoft/sqlserver/jdbc/DriverError;
            aconst_null
        59: .line 1895
            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 6 // java.lang.Object[] msgArgs
        end local 5 // java.text.MessageFormat form
        end local 4 // boolean foundColumn
        60: .line 1898
      StackMap locals:
      StackMap stack:
            aload 2 /* cm */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.destinationColumnOrdinal:I
            iflt 61
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnCount:I
            aload 2 /* cm */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.destinationColumnOrdinal:I
            if_icmpge 66
        61: .line 1899
      StackMap locals:
      StackMap stack:
            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 4 /* form */
        start local 4 // java.text.MessageFormat form
        62: .line 1900
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* cm */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.destinationColumnOrdinal:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            astore 5 /* msgArgs */
        start local 5 // java.lang.Object[] msgArgs
        63: .line 1901
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 4 /* form */
            aload 5 /* 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;
        64: .line 1902
            aconst_null
        65: .line 1901
            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 5 // java.lang.Object[] msgArgs
        end local 4 // java.text.MessageFormat form
        66: .line 1904
      StackMap locals:
      StackMap stack:
            aload 2 /* cm */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            aload 2 /* cm */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.destinationColumnOrdinal:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.columnName:Ljava/lang/String;
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.destinationColumnName:Ljava/lang/String;
        67: .line 1877
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        end local 2 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping cm
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy int top int
      StackMap stack:
        68: iload 3 /* i */
            iload 1 /* numMappings */
            if_icmplt 43
        end local 3 // int i
        69: .line 1909
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        70: goto 119
        71: .line 1910
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.columnMappings:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping
            astore 2 /* cm */
        start local 2 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping cm
        72: .line 1913
            iconst_m1
            aload 2 /* cm */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.sourceColumnOrdinal:I
            if_icmpne 99
        73: .line 1914
            iconst_0
            istore 4 /* foundColumn */
        start local 4 // boolean foundColumn
        74: .line 1915
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            ifnull 85
        75: .line 1916
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSetMetaData:Ljava/sql/ResultSetMetaData;
            invokeinterface java.sql.ResultSetMetaData.getColumnCount:()I
            istore 5 /* columns */
        start local 5 // int columns
        76: .line 1917
            iconst_1
            istore 6 /* j */
        start local 6 // int j
        77: goto 83
        78: .line 1918
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy int com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping int int int int
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSetMetaData:Ljava/sql/ResultSetMetaData;
            iload 6 /* j */
            invokeinterface java.sql.ResultSetMetaData.getColumnName:(I)Ljava/lang/String;
            aload 2 /* cm */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.sourceColumnName:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 82
        79: .line 1919
            iconst_1
            istore 4 /* foundColumn */
        80: .line 1920
            aload 2 /* cm */
            iload 6 /* j */
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.sourceColumnOrdinal:I
        81: .line 1921
            goto 93
        82: .line 1917
      StackMap locals:
      StackMap stack:
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        83: iload 6 /* j */
            iload 5 /* columns */
            if_icmple 78
        end local 6 // int j
        end local 5 // int columns
        84: .line 1924
            goto 93
        85: .line 1925
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.serverBulkData:Lcom/microsoft/sqlserver/jdbc/ISQLServerBulkData;
            invokeinterface com.microsoft.sqlserver.jdbc.ISQLServerBulkData.getColumnOrdinals:()Ljava/util/Set;
            astore 5 /* columnOrdinals */
        start local 5 // java.util.Set columnOrdinals
        86: .line 1926
            aload 5 /* columnOrdinals */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 92
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy int com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping int int java.util.Set top java.util.Iterator
      StackMap stack:
        87: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 6 /* currentColumn */
        start local 6 // java.lang.Integer currentColumn
        88: .line 1927
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.serverBulkData:Lcom/microsoft/sqlserver/jdbc/ISQLServerBulkData;
            aload 6 /* currentColumn */
            invokevirtual java.lang.Integer.intValue:()I
            invokeinterface com.microsoft.sqlserver.jdbc.ISQLServerBulkData.getColumnName:(I)Ljava/lang/String;
            aload 2 /* cm */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.sourceColumnName:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 92
        89: .line 1928
            iconst_1
            istore 4 /* foundColumn */
        90: .line 1929
            aload 2 /* cm */
            aload 6 /* currentColumn */
            invokevirtual java.lang.Integer.intValue:()I
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.sourceColumnOrdinal:I
        91: .line 1930
            goto 93
        end local 6 // java.lang.Integer currentColumn
        92: .line 1926
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 87
        end local 5 // java.util.Set columnOrdinals
        93: .line 1935
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy int com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping int int
      StackMap stack:
            iload 4 /* foundColumn */
            ifne 113
        94: .line 1936
            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 5 /* form */
        start local 5 // java.text.MessageFormat form
        95: .line 1937
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* cm */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.sourceColumnName:Ljava/lang/String;
            aastore
            astore 6 /* msgArgs */
        start local 6 // java.lang.Object[] msgArgs
        96: .line 1938
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 5 /* form */
            aload 6 /* 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;
        97: .line 1939
            getstatic com.microsoft.sqlserver.jdbc.DriverError.NOT_SET:Lcom/microsoft/sqlserver/jdbc/DriverError;
            aconst_null
        98: .line 1938
            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 6 // java.lang.Object[] msgArgs
        end local 5 // java.text.MessageFormat form
        end local 4 // boolean foundColumn
        99: .line 1943
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 4 /* columnOutOfRange */
        start local 4 // boolean columnOutOfRange
       100: .line 1944
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            ifnull 105
       101: .line 1945
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSetMetaData:Ljava/sql/ResultSetMetaData;
            invokeinterface java.sql.ResultSetMetaData.getColumnCount:()I
            istore 5 /* columns */
        start local 5 // int columns
       102: .line 1946
            aload 2 /* cm */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.sourceColumnOrdinal:I
            ifle 107
            iload 5 /* columns */
            aload 2 /* cm */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.sourceColumnOrdinal:I
            if_icmplt 107
       103: .line 1947
            iconst_0
            istore 4 /* columnOutOfRange */
        end local 5 // int columns
       104: .line 1949
            goto 107
       105: .line 1951
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.srcColumnMetadata:Ljava/util/Map;
            aload 2 /* cm */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.sourceColumnOrdinal:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 107
       106: .line 1952
            iconst_0
            istore 4 /* columnOutOfRange */
       107: .line 1956
      StackMap locals:
      StackMap stack:
            iload 4 /* columnOutOfRange */
            ifeq 113
       108: .line 1957
            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 5 /* form */
        start local 5 // java.text.MessageFormat form
       109: .line 1958
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* cm */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.sourceColumnOrdinal:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            astore 6 /* msgArgs */
        start local 6 // java.lang.Object[] msgArgs
       110: .line 1959
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 5 /* form */
            aload 6 /* 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;
       111: .line 1960
            getstatic com.microsoft.sqlserver.jdbc.DriverError.NOT_SET:Lcom/microsoft/sqlserver/jdbc/DriverError;
            aconst_null
       112: .line 1959
            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 6 // java.lang.Object[] msgArgs
        end local 5 // java.text.MessageFormat form
        end local 4 // boolean columnOutOfRange
       113: .line 1965
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            aload 2 /* cm */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.destinationColumnOrdinal:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.isIdentity:Z
            ifeq 118
       114: .line 1966
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.copyOptions:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopyOptions;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopyOptions.isKeepIdentity:()Z
            ifne 118
       115: .line 1967
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.columnMappings:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            pop
       116: .line 1968
            iinc 1 /* numMappings */ -1
       117: .line 1969
            iinc 3 /* i */ -1
       118: .line 1909
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        end local 2 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping cm
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy int top int
      StackMap stack:
       119: iload 3 /* i */
            iload 1 /* numMappings */
            if_icmplt 71
        end local 3 // int i
        end local 1 // int numMappings
       120: .line 1973
            goto 126
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy
      StackMap stack: java.sql.SQLException
       121: astore 1 /* e */
        start local 1 // java.sql.SQLException e
       122: .line 1975
            aload 1 /* e */
            instanceof com.microsoft.sqlserver.jdbc.SQLServerException
            ifeq 125
            aload 1 /* e */
            invokevirtual java.sql.SQLException.getSQLState:()Ljava/lang/String;
            ifnull 125
       123: .line 1976
            aload 1 /* e */
            invokevirtual java.sql.SQLException.getSQLState:()Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SQLState.COL_NOT_FOUND:Lcom/microsoft/sqlserver/jdbc/SQLState;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLState.getSQLStateCode:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 125
       124: .line 1977
            aload 1 /* e */
            checkcast com.microsoft.sqlserver.jdbc.SQLServerException
            athrow
       125: .line 1981
      StackMap locals: java.sql.SQLException
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_unableRetrieveColMeta"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* e */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.sql.SQLException e
       126: .line 1986
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.columnMappings:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 130
       127: .line 1987
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aconst_null
            ldc "R_BulkColumnMappingsIsEmpty"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
            iconst_0
       128: .line 1988
            iconst_0
       129: .line 1987
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            athrow
       130: .line 1990
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0  131     0              this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            9   11     1                cm  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy$ColumnMapping;
            6   13     2                 i  I
           15   39     2    columnOrdinals  Ljava/util/Set<Ljava/lang/Integer;>;
           16   39     3   columnsIterator  Ljava/util/Iterator<Ljava/lang/Integer;>;
           17   39     4                 j  I
           19   38     5    currentOrdinal  I
           21   37     6        sortedList  Ljava/util/List<Ljava/lang/Integer;>;
           30   34     7              form  Ljava/text/MessageFormat;
           31   34     8           msgArgs  [Ljava/lang/Object;
           41  120     1       numMappings  I
           44   68     2                cm  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy$ColumnMapping;
           72  119     2                cm  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy$ColumnMapping;
           42   69     3                 i  I
           46   60     4       foundColumn  Z
           47   54     5                 j  I
           56   60     5              form  Ljava/text/MessageFormat;
           57   60     6           msgArgs  [Ljava/lang/Object;
           62   66     4              form  Ljava/text/MessageFormat;
           63   66     5           msgArgs  [Ljava/lang/Object;
           70  120     3                 i  I
           74   99     4       foundColumn  Z
           76   84     5           columns  I
           77   84     6                 j  I
           86   93     5    columnOrdinals  Ljava/util/Set<Ljava/lang/Integer;>;
           88   92     6     currentColumn  Ljava/lang/Integer;
           95   99     5              form  Ljava/text/MessageFormat;
           96   99     6           msgArgs  [Ljava/lang/Object;
          100  113     4  columnOutOfRange  Z
          102  104     5           columns  I
          109  113     5              form  Ljava/text/MessageFormat;
          110  113     6           msgArgs  [Ljava/lang/Object;
          122  126     1                 e  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           0   120     121  Class java.sql.SQLException
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  private void writeNullToTdsWriter(com.microsoft.sqlserver.jdbc.TDSWriter, int, boolean);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/TDSWriter;IZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
        start local 2 // int srcJdbcType
        start local 3 // boolean isStreaming
         0: .line 1995
            iload 2 /* srcJdbcType */
            lookupswitch { // 28
                 -156: 9
                 -155: 7
                 -148: 7
                 -146: 7
                  -16: 1
                  -15: 1
                   -9: 1
                   -7: 7
                   -6: 7
                   -5: 7
                   -4: 1
                   -3: 1
                   -2: 1
                   -1: 1
                    1: 1
                    2: 7
                    3: 7
                    4: 7
                    5: 7
                    6: 7
                    7: 7
                    8: 7
                   12: 1
                   91: 7
                   92: 7
                   93: 7
                 2013: 7
                 2014: 7
              default: 11
          }
         1: .line 2005
      StackMap locals:
      StackMap stack:
            iload 3 /* isStreaming */
            ifeq 4
         2: .line 2006
            aload 1 /* tdsWriter */
            ldc -1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeLong:(J)V
         3: .line 2007
            goto 6
         4: .line 2008
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            iconst_m1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         5: .line 2009
            aload 1 /* tdsWriter */
            iconst_m1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         6: .line 2011
      StackMap locals:
      StackMap stack:
            return
         7: .line 2030
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         8: .line 2031
            return
         9: .line 2033
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        10: .line 2034
            return
        11: .line 2036
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_BulkTypeNotSupported"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
        12: .line 2037
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* srcJdbcType */
            invokestatic com.microsoft.sqlserver.jdbc.JDBCType.of:(I)Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.toString:()Ljava/lang/String;
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            aastore
            astore 5 /* msgArgs */
        start local 5 // java.lang.Object[] msgArgs
        13: .line 2038
            aconst_null
            aconst_null
            aload 4 /* form */
            aload 5 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_1
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
        end local 5 // java.lang.Object[] msgArgs
        end local 4 // java.text.MessageFormat form
        14: .line 2040
            return
        end local 3 // boolean isStreaming
        end local 2 // int srcJdbcType
        end local 1 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0   15     1    tdsWriter  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   15     2  srcJdbcType  I
            0   15     3  isStreaming  Z
           12   14     4         form  Ljava/text/MessageFormat;
           13   14     5      msgArgs  [Ljava/lang/Object;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
             Name  Flags
      tdsWriter    
      srcJdbcType  
      isStreaming  

  private void writeColumnToTdsWriter(com.microsoft.sqlserver.jdbc.TDSWriter, int, int, int, boolean, int, int, boolean, java.lang.Object);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/TDSWriter;IIIZIIZLjava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=15, args_size=10
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
        start local 2 // int bulkPrecision
        start local 3 // int bulkScale
        start local 4 // int bulkJdbcType
        start local 5 // boolean bulkNullable
        start local 6 // int srcColOrdinal
        start local 7 // int destColOrdinal
        start local 8 // boolean isStreaming
        start local 9 // java.lang.Object colValue
         0: .line 2045
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 7 /* destColOrdinal */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.ssType:Lcom/microsoft/sqlserver/jdbc/SSType;
            astore 10 /* destSSType */
        start local 10 // com.microsoft.sqlserver.jdbc.SSType destSSType
         1: .line 2047
            aload 0 /* this */
            iload 2 /* bulkPrecision */
            iload 4 /* bulkJdbcType */
         2: .line 2048
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 7 /* destColOrdinal */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.precision:I
         3: .line 2047
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.validateSourcePrecision:(III)I
            istore 2 /* bulkPrecision */
         4: .line 2050
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.srcColumnMetadata:Ljava/util/Map;
            iload 6 /* srcColOrdinal */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            astore 11 /* sourceCryptoMeta */
        start local 11 // com.microsoft.sqlserver.jdbc.CryptoMetadata sourceCryptoMeta
         5: .line 2051
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 7 /* destColOrdinal */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.encryptionType:Ljava/lang/String;
            ifnull 7
         6: .line 2052
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.copyOptions:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopyOptions;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopyOptions.isAllowEncryptedValueModifications:()Z
            ifne 8
         7: .line 2054
      StackMap locals: com.microsoft.sqlserver.jdbc.SSType com.microsoft.sqlserver.jdbc.CryptoMetadata
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 7 /* destColOrdinal */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            ifnull 10
         8: .line 2055
      StackMap locals:
      StackMap stack:
            bipush -3
            istore 4 /* bulkJdbcType */
         9: .line 2056
            goto 18
        10: .line 2062
      StackMap locals:
      StackMap stack:
            aload 11 /* sourceCryptoMeta */
            ifnull 14
        11: .line 2063
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 7 /* destColOrdinal */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.jdbcType:I
            istore 4 /* bulkJdbcType */
        12: .line 2064
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 7 /* destColOrdinal */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.scale:I
            istore 3 /* bulkScale */
        13: .line 2065
            goto 18
      StackMap locals:
      StackMap stack:
        14: aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.serverBulkData:Lcom/microsoft/sqlserver/jdbc/ISQLServerBulkData;
            ifnull 18
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getSendTemporalDataTypesAsStringForBulkCopy:()Z
            ifeq 18
        15: .line 2071
            iload 4 /* bulkJdbcType */
            lookupswitch { // 4
                 -155: 16
                   91: 16
                   92: 16
                   93: 16
              default: 18
          }
        16: .line 2076
      StackMap locals:
      StackMap stack:
            bipush 12
            istore 4 /* bulkJdbcType */
        17: .line 2077
            goto 18
        18: .line 2086
      StackMap locals:
      StackMap stack:
            iload 4 /* bulkJdbcType */
            lookupswitch { // 31
                 -156: 321
                 -155: 311
                 -151: 242
                 -150: 242
                 -148: 77
                 -146: 77
                 -145: 113
                  -16: 180
                  -15: 180
                   -9: 180
                   -7: 40
                   -6: 49
                   -5: 33
                   -4: 206
                   -3: 206
                   -2: 206
                   -1: 113
                    1: 113
                    2: 92
                    3: 92
                    4: 19
                    5: 26
                    6: 56
                    7: 70
                    8: 63
                   12: 113
                   91: 264
                   92: 270
                   93: 242
                 2013: 291
                 2014: 301
              default: 331
          }
        19: .line 2088
      StackMap locals:
      StackMap stack:
            aload 9 /* colValue */
            ifnonnull 22
        20: .line 2089
            aload 0 /* this */
            aload 1 /* tdsWriter */
            iload 4 /* bulkJdbcType */
            iload 8 /* isStreaming */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeNullToTdsWriter:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;IZ)V
        21: .line 2090
            goto 344
        22: .line 2091
      StackMap locals:
      StackMap stack:
            iload 5 /* bulkNullable */
            ifeq 24
        23: .line 2092
            aload 1 /* tdsWriter */
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        24: .line 2094
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            aload 9 /* colValue */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        25: .line 2096
            goto 344
        26: .line 2099
      StackMap locals:
      StackMap stack:
            aload 9 /* colValue */
            ifnonnull 29
        27: .line 2100
            aload 0 /* this */
            aload 1 /* tdsWriter */
            iload 4 /* bulkJdbcType */
            iload 8 /* isStreaming */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeNullToTdsWriter:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;IZ)V
        28: .line 2101
            goto 344
        29: .line 2102
      StackMap locals:
      StackMap stack:
            iload 5 /* bulkNullable */
            ifeq 31
        30: .line 2103
            aload 1 /* tdsWriter */
            iconst_2
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        31: .line 2105
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            aload 9 /* colValue */
            checkcast java.lang.Number
            invokevirtual java.lang.Number.shortValue:()S
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        32: .line 2107
            goto 344
        33: .line 2110
      StackMap locals:
      StackMap stack:
            aload 9 /* colValue */
            ifnonnull 36
        34: .line 2111
            aload 0 /* this */
            aload 1 /* tdsWriter */
            iload 4 /* bulkJdbcType */
            iload 8 /* isStreaming */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeNullToTdsWriter:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;IZ)V
        35: .line 2112
            goto 344
        36: .line 2113
      StackMap locals:
      StackMap stack:
            iload 5 /* bulkNullable */
            ifeq 38
        37: .line 2114
            aload 1 /* tdsWriter */
            bipush 8
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        38: .line 2116
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            aload 9 /* colValue */
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeLong:(J)V
        39: .line 2118
            goto 344
        40: .line 2121
      StackMap locals:
      StackMap stack:
            aload 9 /* colValue */
            ifnonnull 43
        41: .line 2122
            aload 0 /* this */
            aload 1 /* tdsWriter */
            iload 4 /* bulkJdbcType */
            iload 8 /* isStreaming */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeNullToTdsWriter:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;IZ)V
        42: .line 2123
            goto 344
        43: .line 2124
      StackMap locals:
      StackMap stack:
            iload 5 /* bulkNullable */
            ifeq 45
        44: .line 2125
            aload 1 /* tdsWriter */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        45: .line 2127
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            aload 9 /* colValue */
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 46
            iconst_1
            goto 47
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter
        46: iconst_0
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter int int int int int int int java.lang.Object com.microsoft.sqlserver.jdbc.SSType com.microsoft.sqlserver.jdbc.CryptoMetadata
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter int
        47: i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        48: .line 2129
            goto 344
        49: .line 2132
      StackMap locals:
      StackMap stack:
            aload 9 /* colValue */
            ifnonnull 52
        50: .line 2133
            aload 0 /* this */
            aload 1 /* tdsWriter */
            iload 4 /* bulkJdbcType */
            iload 8 /* isStreaming */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeNullToTdsWriter:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;IZ)V
        51: .line 2134
            goto 344
        52: .line 2135
      StackMap locals:
      StackMap stack:
            iload 5 /* bulkNullable */
            ifeq 54
        53: .line 2136
            aload 1 /* tdsWriter */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        54: .line 2140
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            aload 9 /* colValue */
            checkcast java.lang.Number
            invokevirtual java.lang.Number.shortValue:()S
            sipush 255
            iand
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        55: .line 2143
            goto 344
        56: .line 2146
      StackMap locals:
      StackMap stack:
            aload 9 /* colValue */
            ifnonnull 59
        57: .line 2147
            aload 0 /* this */
            aload 1 /* tdsWriter */
            iload 4 /* bulkJdbcType */
            iload 8 /* isStreaming */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeNullToTdsWriter:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;IZ)V
        58: .line 2148
            goto 344
        59: .line 2149
      StackMap locals:
      StackMap stack:
            iload 5 /* bulkNullable */
            ifeq 61
        60: .line 2150
            aload 1 /* tdsWriter */
            bipush 8
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        61: .line 2152
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            aload 9 /* colValue */
            checkcast java.lang.Float
            invokevirtual java.lang.Float.floatValue:()F
            f2d
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeDouble:(D)V
        62: .line 2154
            goto 344
        63: .line 2157
      StackMap locals:
      StackMap stack:
            aload 9 /* colValue */
            ifnonnull 66
        64: .line 2158
            aload 0 /* this */
            aload 1 /* tdsWriter */
            iload 4 /* bulkJdbcType */
            iload 8 /* isStreaming */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeNullToTdsWriter:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;IZ)V
        65: .line 2159
            goto 344
        66: .line 2160
      StackMap locals:
      StackMap stack:
            iload 5 /* bulkNullable */
            ifeq 68
        67: .line 2161
            aload 1 /* tdsWriter */
            bipush 8
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        68: .line 2163
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            aload 9 /* colValue */
            checkcast java.lang.Double
            invokevirtual java.lang.Double.doubleValue:()D
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeDouble:(D)V
        69: .line 2165
            goto 344
        70: .line 2168
      StackMap locals:
      StackMap stack:
            aload 9 /* colValue */
            ifnonnull 73
        71: .line 2169
            aload 0 /* this */
            aload 1 /* tdsWriter */
            iload 4 /* bulkJdbcType */
            iload 8 /* isStreaming */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeNullToTdsWriter:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;IZ)V
        72: .line 2170
            goto 344
        73: .line 2171
      StackMap locals:
      StackMap stack:
            iload 5 /* bulkNullable */
            ifeq 75
        74: .line 2172
            aload 1 /* tdsWriter */
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        75: .line 2174
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            aload 9 /* colValue */
            checkcast java.lang.Float
            invokevirtual java.lang.Float.floatValue:()F
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeReal:(F)V
        76: .line 2176
            goto 344
        77: .line 2180
      StackMap locals:
      StackMap stack:
            aload 9 /* colValue */
            ifnonnull 80
        78: .line 2181
            aload 0 /* this */
            aload 1 /* tdsWriter */
            iload 4 /* bulkJdbcType */
            iload 8 /* isStreaming */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeNullToTdsWriter:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;IZ)V
        79: .line 2182
            goto 344
        80: .line 2188
      StackMap locals:
      StackMap stack:
            iload 2 /* bulkPrecision */
            aload 9 /* colValue */
            aload 9 /* colValue */
            invokestatic com.microsoft.sqlserver.jdbc.JavaType.of:(Ljava/lang/Object;)Lcom/microsoft/sqlserver/jdbc/JavaType;
            aconst_null
        81: .line 2189
            aconst_null
            iload 4 /* bulkJdbcType */
            invokestatic com.microsoft.sqlserver.jdbc.JDBCType.of:(I)Lcom/microsoft/sqlserver/jdbc/JDBCType;
        82: .line 2188
            invokestatic com.microsoft.sqlserver.jdbc.Util.getValueLengthBaseOnJavaType:(Ljava/lang/Object;Lcom/microsoft/sqlserver/jdbc/JavaType;Ljava/lang/Integer;Ljava/lang/Integer;Lcom/microsoft/sqlserver/jdbc/JDBCType;)I
            if_icmpge 90
        83: .line 2190
            new java.text.MessageFormat
            dup
        84: .line 2191
            ldc "R_valueOutOfRange"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        85: .line 2190
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 12 /* form */
        start local 12 // java.text.MessageFormat form
        86: .line 2192
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 10 /* destSSType */
            aastore
            astore 13 /* msgArgs */
        start local 13 // java.lang.Object[] msgArgs
        87: .line 2193
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 12 /* form */
            aload 13 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SQLState.DATA_EXCEPTION_LENGTH_MISMATCH:Lcom/microsoft/sqlserver/jdbc/SQLState;
        88: .line 2194
            getstatic com.microsoft.sqlserver.jdbc.DriverError.NOT_SET:Lcom/microsoft/sqlserver/jdbc/DriverError;
            aconst_null
        89: .line 2193
            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 13 // java.lang.Object[] msgArgs
        end local 12 // java.text.MessageFormat form
        90: .line 2196
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            aload 9 /* colValue */
            checkcast java.math.BigDecimal
            iload 4 /* bulkJdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeMoney:(Ljava/math/BigDecimal;I)V
        91: .line 2198
            goto 344
        92: .line 2201
      StackMap locals:
      StackMap stack:
            aload 9 /* colValue */
            ifnonnull 95
        93: .line 2202
            aload 0 /* this */
            aload 1 /* tdsWriter */
            iload 4 /* bulkJdbcType */
            iload 8 /* isStreaming */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeNullToTdsWriter:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;IZ)V
        94: .line 2203
            goto 344
        95: .line 2209
      StackMap locals:
      StackMap stack:
            iload 2 /* bulkPrecision */
            aload 9 /* colValue */
            aload 9 /* colValue */
            invokestatic com.microsoft.sqlserver.jdbc.JavaType.of:(Ljava/lang/Object;)Lcom/microsoft/sqlserver/jdbc/JavaType;
            aconst_null
        96: .line 2210
            aconst_null
            iload 4 /* bulkJdbcType */
            invokestatic com.microsoft.sqlserver.jdbc.JDBCType.of:(I)Lcom/microsoft/sqlserver/jdbc/JDBCType;
        97: .line 2209
            invokestatic com.microsoft.sqlserver.jdbc.Util.getValueLengthBaseOnJavaType:(Ljava/lang/Object;Lcom/microsoft/sqlserver/jdbc/JavaType;Ljava/lang/Integer;Ljava/lang/Integer;Lcom/microsoft/sqlserver/jdbc/JDBCType;)I
            if_icmpge 105
        98: .line 2211
            new java.text.MessageFormat
            dup
        99: .line 2212
            ldc "R_valueOutOfRange"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
       100: .line 2211
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 12 /* form */
        start local 12 // java.text.MessageFormat form
       101: .line 2213
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 10 /* destSSType */
            aastore
            astore 13 /* msgArgs */
        start local 13 // java.lang.Object[] msgArgs
       102: .line 2214
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 12 /* form */
            aload 13 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SQLState.DATA_EXCEPTION_LENGTH_MISMATCH:Lcom/microsoft/sqlserver/jdbc/SQLState;
       103: .line 2215
            getstatic com.microsoft.sqlserver.jdbc.DriverError.NOT_SET:Lcom/microsoft/sqlserver/jdbc/DriverError;
            aconst_null
       104: .line 2214
            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 13 // java.lang.Object[] msgArgs
        end local 12 // java.text.MessageFormat form
       105: .line 2223
      StackMap locals:
      StackMap stack:
            aload 10 /* destSSType */
            getstatic com.microsoft.sqlserver.jdbc.SSType.MONEY:Lcom/microsoft/sqlserver/jdbc/SSType;
            if_acmpne 108
       106: .line 2224
            aload 1 /* tdsWriter */
            aload 9 /* colValue */
            checkcast java.math.BigDecimal
            sipush -148
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeMoney:(Ljava/math/BigDecimal;I)V
       107: .line 2225
            goto 344
      StackMap locals:
      StackMap stack:
       108: aload 10 /* destSSType */
            getstatic com.microsoft.sqlserver.jdbc.SSType.SMALLMONEY:Lcom/microsoft/sqlserver/jdbc/SSType;
            if_acmpne 111
       109: .line 2226
            aload 1 /* tdsWriter */
            aload 9 /* colValue */
            checkcast java.math.BigDecimal
            sipush -146
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeMoney:(Ljava/math/BigDecimal;I)V
       110: .line 2227
            goto 344
       111: .line 2228
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            aload 9 /* colValue */
            checkcast java.math.BigDecimal
            iload 4 /* bulkJdbcType */
            iload 2 /* bulkPrecision */
            iload 3 /* bulkScale */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBigDecimal:(Ljava/math/BigDecimal;III)V
       112: .line 2231
            goto 344
       113: .line 2237
      StackMap locals:
      StackMap stack:
            iload 8 /* isStreaming */
            ifeq 146
       114: .line 2244
            aload 9 /* colValue */
            ifnonnull 117
       115: .line 2245
            aload 0 /* this */
            aload 1 /* tdsWriter */
            iload 4 /* bulkJdbcType */
            iload 8 /* isStreaming */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeNullToTdsWriter:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;IZ)V
       116: .line 2246
            goto 344
       117: .line 2248
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            ldc -2
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeLong:(J)V
       118: .line 2253
            aload 9 /* colValue */
            instanceof java.io.Reader
            ifeq 121
       119: .line 2254
            aload 9 /* colValue */
            checkcast java.io.Reader
            astore 12 /* reader */
        start local 12 // java.io.Reader reader
       120: .line 2255
            goto 122
        end local 12 // java.io.Reader reader
       121: .line 2256
      StackMap locals:
      StackMap stack:
            new java.io.StringReader
            dup
            aload 9 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokespecial java.io.StringReader.<init>:(Ljava/lang/String;)V
            astore 12 /* reader */
        start local 12 // java.io.Reader reader
       122: .line 2258
      StackMap locals: java.io.Reader
      StackMap stack:
            aload 0 /* this */
            iload 4 /* bulkJdbcType */
            aload 10 /* destSSType */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.unicodeConversionRequired:(ILcom/microsoft/sqlserver/jdbc/SSType;)Z
            ifeq 125
       123: .line 2260
            aload 1 /* tdsWriter */
            aload 12 /* reader */
            ldc -1
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeReader:(Ljava/io/Reader;JZ)V
       124: .line 2261
            goto 140
       125: .line 2262
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SSType.BINARY:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 10 /* destSSType */
            if_acmpeq 127
            getstatic com.microsoft.sqlserver.jdbc.SSType.VARBINARY:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 10 /* destSSType */
            if_acmpeq 127
       126: .line 2263
            getstatic com.microsoft.sqlserver.jdbc.SSType.VARBINARYMAX:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 10 /* destSSType */
            if_acmpeq 127
            getstatic com.microsoft.sqlserver.jdbc.SSType.IMAGE:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 10 /* destSSType */
            if_acmpne 131
       127: .line 2264
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            aload 12 /* reader */
            ldc -1
            iconst_1
       128: .line 2265
            aconst_null
       129: .line 2264
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeNonUnicodeReader:(Ljava/io/Reader;JZLjava/nio/charset/Charset;)V
       130: .line 2266
            goto 140
       131: .line 2267
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 7 /* destColOrdinal */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.collation:Lcom/microsoft/sqlserver/jdbc/SQLCollation;
            astore 13 /* destCollation */
        start local 13 // com.microsoft.sqlserver.jdbc.SQLCollation destCollation
       132: .line 2268
            aload 13 /* destCollation */
            ifnull 137
       133: .line 2269
            aload 1 /* tdsWriter */
            aload 12 /* reader */
            ldc -1
       134: .line 2270
            iconst_0
            aload 13 /* destCollation */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLCollation.getCharset:()Ljava/nio/charset/Charset;
       135: .line 2269
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeNonUnicodeReader:(Ljava/io/Reader;JZLjava/nio/charset/Charset;)V
       136: .line 2271
            goto 140
       137: .line 2272
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLCollation
      StackMap stack:
            aload 1 /* tdsWriter */
            aload 12 /* reader */
            ldc -1
       138: .line 2273
            iconst_0
            aconst_null
       139: .line 2272
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeNonUnicodeReader:(Ljava/io/Reader;JZLjava/nio/charset/Charset;)V
        end local 13 // com.microsoft.sqlserver.jdbc.SQLCollation destCollation
       140: .line 2277
      StackMap locals:
      StackMap stack:
            aload 12 /* reader */
            invokevirtual java.io.Reader.close:()V
        end local 12 // java.io.Reader reader
       141: .line 2278
            goto 344
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter int int int int int int int java.lang.Object com.microsoft.sqlserver.jdbc.SSType com.microsoft.sqlserver.jdbc.CryptoMetadata
      StackMap stack: java.io.IOException
       142: astore 12 /* e */
        start local 12 // java.io.IOException e
       143: .line 2279
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
       144: .line 2280
            ldc "R_unableRetrieveSourceData"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aload 12 /* e */
       145: .line 2279
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 12 // java.io.IOException e
       146: .line 2284
      StackMap locals:
      StackMap stack:
            aload 9 /* colValue */
            ifnonnull 149
       147: .line 2285
            aload 0 /* this */
            aload 1 /* tdsWriter */
            iload 4 /* bulkJdbcType */
            iload 8 /* isStreaming */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeNullToTdsWriter:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;IZ)V
       148: .line 2286
            goto 344
       149: .line 2287
      StackMap locals:
      StackMap stack:
            aload 9 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 12 /* colValueStr */
        start local 12 // java.lang.String colValueStr
       150: .line 2288
            aload 0 /* this */
            iload 4 /* bulkJdbcType */
            aload 10 /* destSSType */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.unicodeConversionRequired:(ILcom/microsoft/sqlserver/jdbc/SSType;)Z
            ifeq 158
       151: .line 2289
            aload 9 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            istore 13 /* stringLength */
        start local 13 // int stringLength
       152: .line 2290
            iconst_2
            newarray 8
            astore 14 /* typevarlen */
        start local 14 // byte[] typevarlen
       153: .line 2291
            aload 14 /* typevarlen */
            iconst_0
            iconst_2
            iload 13 /* stringLength */
            imul
            sipush 255
            iand
            i2b
            bastore
       154: .line 2292
            aload 14 /* typevarlen */
            iconst_1
            iconst_2
            iload 13 /* stringLength */
            imul
            bipush 8
            ishr
            sipush 255
            iand
            i2b
            bastore
       155: .line 2293
            aload 1 /* tdsWriter */
            aload 14 /* typevarlen */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
       156: .line 2294
            aload 1 /* tdsWriter */
            aload 9 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeString:(Ljava/lang/String;)V
        end local 14 // byte[] typevarlen
        end local 13 // int stringLength
       157: .line 2295
            goto 344
       158: .line 2296
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SSType.BINARY:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 10 /* destSSType */
            if_acmpeq 159
            getstatic com.microsoft.sqlserver.jdbc.SSType.VARBINARY:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 10 /* destSSType */
            if_acmpne 169
       159: .line 2297
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 13 /* bytes */
        start local 13 // byte[] bytes
       160: .line 2299
            aload 12 /* colValueStr */
            invokestatic com.microsoft.sqlserver.jdbc.ParameterUtils.HexToBin:(Ljava/lang/String;)[B
            astore 13 /* bytes */
       161: .line 2300
            goto 166
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter int int int int int int int java.lang.Object com.microsoft.sqlserver.jdbc.SSType com.microsoft.sqlserver.jdbc.CryptoMetadata java.lang.String byte[]
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerException
       162: astore 14 /* e */
        start local 14 // com.microsoft.sqlserver.jdbc.SQLServerException e
       163: .line 2301
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
       164: .line 2302
            ldc "R_unableRetrieveSourceData"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aload 14 /* e */
       165: .line 2301
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 14 // com.microsoft.sqlserver.jdbc.SQLServerException e
       166: .line 2304
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            aload 13 /* bytes */
            arraylength
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       167: .line 2305
            aload 1 /* tdsWriter */
            aload 13 /* bytes */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
        end local 13 // byte[] bytes
       168: .line 2306
            goto 344
       169: .line 2308
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 7 /* destColOrdinal */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.collation:Lcom/microsoft/sqlserver/jdbc/SQLCollation;
            astore 13 /* destCollation */
        start local 13 // com.microsoft.sqlserver.jdbc.SQLCollation destCollation
       170: .line 2310
            aload 13 /* destCollation */
            ifnull 177
       171: .line 2311
            aload 12 /* colValueStr */
       172: .line 2312
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 7 /* destColOrdinal */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.collation:Lcom/microsoft/sqlserver/jdbc/SQLCollation;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLCollation.getCharset:()Ljava/nio/charset/Charset;
       173: .line 2311
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            astore 14 /* value */
        start local 14 // byte[] value
       174: .line 2313
            aload 1 /* tdsWriter */
            aload 14 /* value */
            arraylength
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       175: .line 2314
            aload 1 /* tdsWriter */
            aload 14 /* value */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
        end local 14 // byte[] value
       176: .line 2315
            goto 344
       177: .line 2316
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLCollation
      StackMap stack:
            aload 1 /* tdsWriter */
            aload 12 /* colValueStr */
            invokevirtual java.lang.String.length:()I
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       178: .line 2317
            aload 1 /* tdsWriter */
            aload 12 /* colValueStr */
            invokevirtual java.lang.String.getBytes:()[B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
        end local 13 // com.microsoft.sqlserver.jdbc.SQLCollation destCollation
        end local 12 // java.lang.String colValueStr
       179: .line 2323
            goto 344
       180: .line 2334
      StackMap locals:
      StackMap stack:
            iload 8 /* isStreaming */
            ifeq 196
       181: .line 2340
            aload 9 /* colValue */
            ifnonnull 184
       182: .line 2341
            aload 0 /* this */
            aload 1 /* tdsWriter */
            iload 4 /* bulkJdbcType */
            iload 8 /* isStreaming */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeNullToTdsWriter:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;IZ)V
       183: .line 2342
            goto 344
       184: .line 2344
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            ldc -2
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeLong:(J)V
       185: .line 2348
            aload 9 /* colValue */
            instanceof java.io.Reader
            ifeq 188
       186: .line 2349
            aload 9 /* colValue */
            checkcast java.io.Reader
            astore 12 /* reader */
        start local 12 // java.io.Reader reader
       187: .line 2350
            goto 189
        end local 12 // java.io.Reader reader
       188: .line 2351
      StackMap locals:
      StackMap stack:
            new java.io.StringReader
            dup
            aload 9 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokespecial java.io.StringReader.<init>:(Ljava/lang/String;)V
            astore 12 /* reader */
        start local 12 // java.io.Reader reader
       189: .line 2355
      StackMap locals: java.io.Reader
      StackMap stack:
            aload 1 /* tdsWriter */
            aload 12 /* reader */
            ldc -1
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeReader:(Ljava/io/Reader;JZ)V
       190: .line 2356
            aload 12 /* reader */
            invokevirtual java.io.Reader.close:()V
        end local 12 // java.io.Reader reader
       191: .line 2357
            goto 344
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter int int int int int int int java.lang.Object com.microsoft.sqlserver.jdbc.SSType com.microsoft.sqlserver.jdbc.CryptoMetadata
      StackMap stack: java.io.IOException
       192: astore 12 /* e */
        start local 12 // java.io.IOException e
       193: .line 2358
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
       194: .line 2359
            ldc "R_unableRetrieveSourceData"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aload 12 /* e */
       195: .line 2358
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 12 // java.io.IOException e
       196: .line 2363
      StackMap locals:
      StackMap stack:
            aload 9 /* colValue */
            ifnonnull 199
       197: .line 2364
            aload 0 /* this */
            aload 1 /* tdsWriter */
            iload 4 /* bulkJdbcType */
            iload 8 /* isStreaming */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeNullToTdsWriter:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;IZ)V
       198: .line 2365
            goto 344
       199: .line 2366
      StackMap locals:
      StackMap stack:
            aload 9 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            istore 12 /* stringLength */
        start local 12 // int stringLength
       200: .line 2367
            iconst_2
            newarray 8
            astore 13 /* typevarlen */
        start local 13 // byte[] typevarlen
       201: .line 2368
            aload 13 /* typevarlen */
            iconst_0
            iconst_2
            iload 12 /* stringLength */
            imul
            sipush 255
            iand
            i2b
            bastore
       202: .line 2369
            aload 13 /* typevarlen */
            iconst_1
            iconst_2
            iload 12 /* stringLength */
            imul
            bipush 8
            ishr
            sipush 255
            iand
            i2b
            bastore
       203: .line 2370
            aload 1 /* tdsWriter */
            aload 13 /* typevarlen */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
       204: .line 2371
            aload 1 /* tdsWriter */
            aload 9 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeString:(Ljava/lang/String;)V
        end local 13 // byte[] typevarlen
        end local 12 // int stringLength
       205: .line 2374
            goto 344
       206: .line 2379
      StackMap locals:
      StackMap stack:
            iload 8 /* isStreaming */
            ifeq 227
       207: .line 2384
            aload 9 /* colValue */
            ifnonnull 210
       208: .line 2385
            aload 0 /* this */
            aload 1 /* tdsWriter */
            iload 4 /* bulkJdbcType */
            iload 8 /* isStreaming */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeNullToTdsWriter:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;IZ)V
       209: .line 2386
            goto 344
       210: .line 2388
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            ldc -2
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeLong:(J)V
       211: .line 2392
            aload 9 /* colValue */
            instanceof java.io.InputStream
            ifeq 214
       212: .line 2393
            aload 9 /* colValue */
            checkcast java.io.InputStream
            astore 12 /* iStream */
        start local 12 // java.io.InputStream iStream
       213: .line 2394
            goto 220
        end local 12 // java.io.InputStream iStream
       214: .line 2395
      StackMap locals:
      StackMap stack:
            aload 9 /* colValue */
            instanceof byte[]
            ifeq 217
       215: .line 2396
            new java.io.ByteArrayInputStream
            dup
            aload 9 /* colValue */
            checkcast byte[]
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            astore 12 /* iStream */
        start local 12 // java.io.InputStream iStream
       216: .line 2397
            goto 220
        end local 12 // java.io.InputStream iStream
       217: .line 2398
      StackMap locals:
      StackMap stack:
            new java.io.ByteArrayInputStream
            dup
       218: .line 2399
            aload 9 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic com.microsoft.sqlserver.jdbc.ParameterUtils.HexToBin:(Ljava/lang/String;)[B
       219: .line 2398
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            astore 12 /* iStream */
        start local 12 // java.io.InputStream iStream
       220: .line 2402
      StackMap locals: java.io.InputStream
      StackMap stack:
            aload 1 /* tdsWriter */
            aload 12 /* iStream */
            ldc -1
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeStream:(Ljava/io/InputStream;JZ)V
       221: .line 2403
            aload 12 /* iStream */
            invokevirtual java.io.InputStream.close:()V
        end local 12 // java.io.InputStream iStream
       222: .line 2404
            goto 344
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter int int int int int int int java.lang.Object com.microsoft.sqlserver.jdbc.SSType com.microsoft.sqlserver.jdbc.CryptoMetadata
      StackMap stack: java.io.IOException
       223: astore 12 /* e */
        start local 12 // java.io.IOException e
       224: .line 2405
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
       225: .line 2406
            ldc "R_unableRetrieveSourceData"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aload 12 /* e */
       226: .line 2405
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 12 // java.io.IOException e
       227: .line 2411
      StackMap locals:
      StackMap stack:
            aload 9 /* colValue */
            ifnonnull 230
       228: .line 2412
            aload 0 /* this */
            aload 1 /* tdsWriter */
            iload 4 /* bulkJdbcType */
            iload 8 /* isStreaming */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeNullToTdsWriter:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;IZ)V
       229: .line 2413
            goto 344
       230: .line 2415
      StackMap locals:
      StackMap stack:
            aload 9 /* colValue */
            instanceof byte[]
            ifeq 233
       231: .line 2416
            aload 9 /* colValue */
            checkcast byte[]
            astore 12 /* srcBytes */
        start local 12 // byte[] srcBytes
       232: .line 2417
            goto 239
        end local 12 // byte[] srcBytes
       233: .line 2419
      StackMap locals:
      StackMap stack:
            aload 9 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic com.microsoft.sqlserver.jdbc.ParameterUtils.HexToBin:(Ljava/lang/String;)[B
            astore 12 /* srcBytes */
        start local 12 // byte[] srcBytes
       234: .line 2420
            goto 239
        end local 12 // byte[] srcBytes
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerException
       235: astore 13 /* e */
        start local 13 // com.microsoft.sqlserver.jdbc.SQLServerException e
       236: .line 2421
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
       237: .line 2422
            ldc "R_unableRetrieveSourceData"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aload 13 /* e */
       238: .line 2421
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 13 // com.microsoft.sqlserver.jdbc.SQLServerException e
        start local 12 // byte[] srcBytes
       239: .line 2425
      StackMap locals: byte[]
      StackMap stack:
            aload 1 /* tdsWriter */
            aload 12 /* srcBytes */
            arraylength
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       240: .line 2426
            aload 1 /* tdsWriter */
            aload 12 /* srcBytes */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
        end local 12 // byte[] srcBytes
       241: .line 2429
            goto 344
       242: .line 2434
      StackMap locals:
      StackMap stack:
            aload 9 /* colValue */
            ifnonnull 245
       243: .line 2435
            aload 0 /* this */
            aload 1 /* tdsWriter */
            iload 4 /* bulkJdbcType */
            iload 8 /* isStreaming */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeNullToTdsWriter:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;IZ)V
       244: .line 2436
            goto 344
       245: .line 2437
      StackMap locals:
      StackMap stack:
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$SSType:()[I
            aload 10 /* destSSType */
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            iaload
            tableswitch { // 9 - 10
                    9: 246
                   10: 250
              default: 254
          }
       246: .line 2439
      StackMap locals:
      StackMap stack:
            iload 5 /* bulkNullable */
            ifeq 248
       247: .line 2440
            aload 1 /* tdsWriter */
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
       248: .line 2441
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            aload 9 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeSmalldatetime:(Ljava/lang/String;)V
       249: .line 2442
            goto 344
       250: .line 2444
      StackMap locals:
      StackMap stack:
            iload 5 /* bulkNullable */
            ifeq 252
       251: .line 2445
            aload 1 /* tdsWriter */
            bipush 8
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
       252: .line 2446
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            aload 9 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeDatetime:(Ljava/lang/String;)V
       253: .line 2447
            goto 344
       254: .line 2449
      StackMap locals:
      StackMap stack:
            iload 5 /* bulkNullable */
            ifeq 260
       255: .line 2450
            iconst_2
            iload 3 /* bulkScale */
            if_icmplt 257
       256: .line 2451
            aload 1 /* tdsWriter */
            bipush 6
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
            goto 260
       257: .line 2452
      StackMap locals:
      StackMap stack:
            iconst_4
            iload 3 /* bulkScale */
            if_icmplt 259
       258: .line 2453
            aload 1 /* tdsWriter */
            bipush 7
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
            goto 260
       259: .line 2455
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            bipush 8
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
       260: .line 2457
      StackMap locals:
      StackMap stack:
            aload 9 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 12 /* timeStampValue */
        start local 12 // java.lang.String timeStampValue
       261: .line 2458
            aload 1 /* tdsWriter */
            aload 12 /* timeStampValue */
            invokestatic java.sql.Timestamp.valueOf:(Ljava/lang/String;)Ljava/sql/Timestamp;
            iload 3 /* bulkScale */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeTime:(Ljava/sql/Timestamp;I)V
       262: .line 2460
            aload 1 /* tdsWriter */
            aload 12 /* timeStampValue */
            iconst_0
            aload 12 /* timeStampValue */
            bipush 32
            invokevirtual java.lang.String.lastIndexOf:(I)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeDate:(Ljava/lang/String;)V
        end local 12 // java.lang.String timeStampValue
       263: .line 2463
            goto 344
       264: .line 2466
      StackMap locals:
      StackMap stack:
            aload 9 /* colValue */
            ifnonnull 267
       265: .line 2467
            aload 0 /* this */
            aload 1 /* tdsWriter */
            iload 4 /* bulkJdbcType */
            iload 8 /* isStreaming */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeNullToTdsWriter:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;IZ)V
       266: .line 2468
            goto 344
       267: .line 2469
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            iconst_3
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
       268: .line 2470
            aload 1 /* tdsWriter */
            aload 9 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeDate:(Ljava/lang/String;)V
       269: .line 2472
            goto 344
       270: .line 2478
      StackMap locals:
      StackMap stack:
            aload 9 /* colValue */
            ifnonnull 273
       271: .line 2479
            aload 0 /* this */
            aload 1 /* tdsWriter */
            iload 4 /* bulkJdbcType */
            iload 8 /* isStreaming */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeNullToTdsWriter:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;IZ)V
       272: .line 2480
            goto 344
       273: .line 2481
      StackMap locals:
      StackMap stack:
            iconst_2
            iload 3 /* bulkScale */
            if_icmplt 275
       274: .line 2482
            aload 1 /* tdsWriter */
            iconst_3
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
            goto 278
       275: .line 2483
      StackMap locals:
      StackMap stack:
            iconst_4
            iload 3 /* bulkScale */
            if_icmplt 277
       276: .line 2484
            aload 1 /* tdsWriter */
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
            goto 278
       277: .line 2486
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            iconst_5
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
       278: .line 2487
      StackMap locals:
      StackMap stack:
            aload 9 /* colValue */
            instanceof java.lang.String
            ifeq 289
       279: .line 2496
            new java.sql.Timestamp
            dup
            lconst_0
            invokespecial java.sql.Timestamp.<init>:(J)V
            astore 12 /* ts */
        start local 12 // java.sql.Timestamp ts
       280: .line 2497
            iconst_0
            istore 13 /* nanos */
        start local 13 // int nanos
       281: .line 2498
            aload 9 /* colValue */
            checkcast java.lang.String
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            istore 14 /* decimalIndex */
        start local 14 // int decimalIndex
       282: .line 2499
            iload 14 /* decimalIndex */
            iconst_m1
            if_icmpeq 285
       283: .line 2500
            aload 9 /* colValue */
            checkcast java.lang.String
            iload 14 /* decimalIndex */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 13 /* nanos */
       284: .line 2501
            aload 9 /* colValue */
            checkcast java.lang.String
            iconst_0
            iload 14 /* decimalIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 9 /* colValue */
       285: .line 2503
      StackMap locals: java.sql.Timestamp int int
      StackMap stack:
            aload 12 /* ts */
            aload 9 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic java.sql.Time.valueOf:(Ljava/lang/String;)Ljava/sql/Time;
            invokevirtual java.sql.Time.getTime:()J
            invokevirtual java.sql.Timestamp.setTime:(J)V
       286: .line 2504
            aload 12 /* ts */
            iload 13 /* nanos */
            invokevirtual java.sql.Timestamp.setNanos:(I)V
       287: .line 2505
            aload 1 /* tdsWriter */
            aload 12 /* ts */
            iload 3 /* bulkScale */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeTime:(Ljava/sql/Timestamp;I)V
        end local 14 // int decimalIndex
        end local 13 // int nanos
        end local 12 // java.sql.Timestamp ts
       288: .line 2506
            goto 344
       289: .line 2507
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            aload 9 /* colValue */
            checkcast java.sql.Timestamp
            iload 3 /* bulkScale */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeTime:(Ljava/sql/Timestamp;I)V
       290: .line 2510
            goto 344
       291: .line 2513
      StackMap locals:
      StackMap stack:
            aload 9 /* colValue */
            ifnonnull 294
       292: .line 2514
            aload 0 /* this */
            aload 1 /* tdsWriter */
            iload 4 /* bulkJdbcType */
            iload 8 /* isStreaming */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeNullToTdsWriter:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;IZ)V
       293: .line 2515
            goto 344
       294: .line 2516
      StackMap locals:
      StackMap stack:
            iconst_2
            iload 3 /* bulkScale */
            if_icmplt 296
       295: .line 2517
            aload 1 /* tdsWriter */
            bipush 8
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
            goto 299
       296: .line 2518
      StackMap locals:
      StackMap stack:
            iconst_4
            iload 3 /* bulkScale */
            if_icmplt 298
       297: .line 2519
            aload 1 /* tdsWriter */
            bipush 9
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
            goto 299
       298: .line 2521
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            bipush 10
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
       299: .line 2523
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            aload 9 /* colValue */
            checkcast java.time.OffsetTime
            iload 3 /* bulkScale */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeOffsetTimeWithTimezone:(Ljava/time/OffsetTime;I)V
       300: .line 2525
            goto 344
       301: .line 2528
      StackMap locals:
      StackMap stack:
            aload 9 /* colValue */
            ifnonnull 304
       302: .line 2529
            aload 0 /* this */
            aload 1 /* tdsWriter */
            iload 4 /* bulkJdbcType */
            iload 8 /* isStreaming */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeNullToTdsWriter:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;IZ)V
       303: .line 2530
            goto 344
       304: .line 2531
      StackMap locals:
      StackMap stack:
            iconst_2
            iload 3 /* bulkScale */
            if_icmplt 306
       305: .line 2532
            aload 1 /* tdsWriter */
            bipush 8
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
            goto 309
       306: .line 2533
      StackMap locals:
      StackMap stack:
            iconst_4
            iload 3 /* bulkScale */
            if_icmplt 308
       307: .line 2534
            aload 1 /* tdsWriter */
            bipush 9
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
            goto 309
       308: .line 2536
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            bipush 10
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
       309: .line 2538
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            aload 9 /* colValue */
            checkcast java.time.OffsetDateTime
            iload 3 /* bulkScale */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeOffsetDateTimeWithTimezone:(Ljava/time/OffsetDateTime;I)V
       310: .line 2540
            goto 344
       311: .line 2545
      StackMap locals:
      StackMap stack:
            aload 9 /* colValue */
            ifnonnull 314
       312: .line 2546
            aload 0 /* this */
            aload 1 /* tdsWriter */
            iload 4 /* bulkJdbcType */
            iload 8 /* isStreaming */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeNullToTdsWriter:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;IZ)V
       313: .line 2547
            goto 344
       314: .line 2548
      StackMap locals:
      StackMap stack:
            iconst_2
            iload 3 /* bulkScale */
            if_icmplt 316
       315: .line 2549
            aload 1 /* tdsWriter */
            bipush 8
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
            goto 319
       316: .line 2550
      StackMap locals:
      StackMap stack:
            iconst_4
            iload 3 /* bulkScale */
            if_icmplt 318
       317: .line 2551
            aload 1 /* tdsWriter */
            bipush 9
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
            goto 319
       318: .line 2553
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            bipush 10
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
       319: .line 2555
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            aload 9 /* colValue */
            iload 3 /* bulkScale */
            aload 10 /* destSSType */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeDateTimeOffset:(Ljava/lang/Object;ILcom/microsoft/sqlserver/jdbc/SSType;)V
       320: .line 2557
            goto 344
       321: .line 2559
      StackMap locals:
      StackMap stack:
            bipush 8
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getServerMajorVersion:()I
            if_icmplt 322
            iconst_1
            goto 323
      StackMap locals:
      StackMap stack:
       322: iconst_0
      StackMap locals:
      StackMap stack: int
       323: istore 12 /* isShiloh */
        start local 12 // boolean isShiloh
       324: .line 2560
            iload 12 /* isShiloh */
            ifeq 327
       325: .line 2561
            new java.text.MessageFormat
            dup
            ldc "R_SQLVariantSupport"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 13 /* form */
        start local 13 // java.text.MessageFormat form
       326: .line 2562
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aconst_null
            aload 13 /* form */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            iconst_0
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            athrow
        end local 13 // java.text.MessageFormat form
       327: .line 2564
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* tdsWriter */
            aload 9 /* colValue */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            iload 6 /* srcColOrdinal */
            iload 7 /* destColOrdinal */
            iload 4 /* bulkJdbcType */
       328: .line 2565
            iload 3 /* bulkScale */
            iload 8 /* isStreaming */
       329: .line 2564
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeSqlVariant:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;Ljava/lang/Object;Ljava/sql/ResultSet;IIIIZ)V
       330: .line 2566
            goto 344
        end local 12 // boolean isShiloh
       331: .line 2568
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_BulkTypeNotSupported"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 13 /* form */
        start local 13 // java.text.MessageFormat form
       332: .line 2569
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 4 /* bulkJdbcType */
            invokestatic com.microsoft.sqlserver.jdbc.JDBCType.of:(I)Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.toString:()Ljava/lang/String;
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            aastore
            astore 14 /* msgArgs */
        start local 14 // java.lang.Object[] msgArgs
       333: .line 2570
            aconst_null
            aconst_null
            aload 13 /* form */
            aload 14 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_1
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
        end local 14 // java.lang.Object[] msgArgs
        end local 13 // java.text.MessageFormat form
       334: .line 2573
            goto 344
      StackMap locals:
      StackMap stack: java.lang.ClassCastException
       335: astore 12 /* ex */
        start local 12 // java.lang.ClassCastException ex
       336: .line 2574
            aload 9 /* colValue */
            ifnonnull 339
       337: .line 2577
            aload 0 /* this */
            ldc "colValue"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.throwInvalidArgument:(Ljava/lang/String;)V
       338: .line 2578
            goto 344
       339: .line 2579
      StackMap locals: java.lang.ClassCastException
      StackMap stack:
            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 13 /* form */
        start local 13 // java.text.MessageFormat form
       340: .line 2580
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 9 /* colValue */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            iload 4 /* bulkJdbcType */
            invokestatic com.microsoft.sqlserver.jdbc.JDBCType.of:(I)Lcom/microsoft/sqlserver/jdbc/JDBCType;
            aastore
            astore 14 /* msgArgs */
        start local 14 // java.lang.Object[] msgArgs
       341: .line 2581
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 13 /* form */
            aload 14 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SQLState.DATA_EXCEPTION_NOT_SPECIFIC:Lcom/microsoft/sqlserver/jdbc/SQLState;
       342: .line 2582
            getstatic com.microsoft.sqlserver.jdbc.DriverError.NOT_SET:Lcom/microsoft/sqlserver/jdbc/DriverError;
            aload 12 /* ex */
       343: .line 2581
            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 14 // java.lang.Object[] msgArgs
        end local 13 // java.text.MessageFormat form
        end local 12 // java.lang.ClassCastException ex
       344: .line 2585
      StackMap locals:
      StackMap stack:
            return
        end local 11 // com.microsoft.sqlserver.jdbc.CryptoMetadata sourceCryptoMeta
        end local 10 // com.microsoft.sqlserver.jdbc.SSType destSSType
        end local 9 // java.lang.Object colValue
        end local 8 // boolean isStreaming
        end local 7 // int destColOrdinal
        end local 6 // int srcColOrdinal
        end local 5 // boolean bulkNullable
        end local 4 // int bulkJdbcType
        end local 3 // int bulkScale
        end local 2 // int bulkPrecision
        end local 1 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0  345     0              this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0  345     1         tdsWriter  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0  345     2     bulkPrecision  I
            0  345     3         bulkScale  I
            0  345     4      bulkJdbcType  I
            0  345     5      bulkNullable  Z
            0  345     6     srcColOrdinal  I
            0  345     7    destColOrdinal  I
            0  345     8       isStreaming  Z
            0  345     9          colValue  Ljava/lang/Object;
            1  345    10        destSSType  Lcom/microsoft/sqlserver/jdbc/SSType;
            5  345    11  sourceCryptoMeta  Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
           86   90    12              form  Ljava/text/MessageFormat;
           87   90    13           msgArgs  [Ljava/lang/Object;
          101  105    12              form  Ljava/text/MessageFormat;
          102  105    13           msgArgs  [Ljava/lang/Object;
          120  121    12            reader  Ljava/io/Reader;
          122  141    12            reader  Ljava/io/Reader;
          132  140    13     destCollation  Lcom/microsoft/sqlserver/jdbc/SQLCollation;
          143  146    12                 e  Ljava/io/IOException;
          150  179    12       colValueStr  Ljava/lang/String;
          152  157    13      stringLength  I
          153  157    14        typevarlen  [B
          160  168    13             bytes  [B
          163  166    14                 e  Lcom/microsoft/sqlserver/jdbc/SQLServerException;
          170  179    13     destCollation  Lcom/microsoft/sqlserver/jdbc/SQLCollation;
          174  176    14             value  [B
          187  188    12            reader  Ljava/io/Reader;
          189  191    12            reader  Ljava/io/Reader;
          193  196    12                 e  Ljava/io/IOException;
          200  205    12      stringLength  I
          201  205    13        typevarlen  [B
          213  214    12           iStream  Ljava/io/InputStream;
          216  217    12           iStream  Ljava/io/InputStream;
          220  222    12           iStream  Ljava/io/InputStream;
          224  227    12                 e  Ljava/io/IOException;
          232  233    12          srcBytes  [B
          234  235    12          srcBytes  [B
          239  241    12          srcBytes  [B
          236  239    13                 e  Lcom/microsoft/sqlserver/jdbc/SQLServerException;
          261  263    12    timeStampValue  Ljava/lang/String;
          280  288    12                ts  Ljava/sql/Timestamp;
          281  288    13             nanos  I
          282  288    14      decimalIndex  I
          324  331    12          isShiloh  Z
          326  327    13              form  Ljava/text/MessageFormat;
          332  334    13              form  Ljava/text/MessageFormat;
          333  334    14           msgArgs  [Ljava/lang/Object;
          336  344    12                ex  Ljava/lang/ClassCastException;
          340  344    13              form  Ljava/text/MessageFormat;
          341  344    14           msgArgs  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
         118   141     142  Class java.io.IOException
         160   161     162  Class com.microsoft.sqlserver.jdbc.SQLServerException
         185   191     192  Class java.io.IOException
         211   222     223  Class java.io.IOException
         233   234     235  Class com.microsoft.sqlserver.jdbc.SQLServerException
          18   334     335  Class java.lang.ClassCastException
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                Name  Flags
      tdsWriter       
      bulkPrecision   
      bulkScale       
      bulkJdbcType    
      bulkNullable    
      srcColOrdinal   
      destColOrdinal  
      isStreaming     
      colValue        

  private void writeSqlVariant(com.microsoft.sqlserver.jdbc.TDSWriter, java.lang.Object, java.sql.ResultSet, int, int, int, int, boolean);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/TDSWriter;Ljava/lang/Object;Ljava/sql/ResultSet;IIIIZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=23, args_size=9
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
        start local 2 // java.lang.Object colValue
        start local 3 // java.sql.ResultSet sourceResultSet
        start local 4 // int srcColOrdinal
        start local 5 // int destColOrdinal
        start local 6 // int bulkJdbcType
        start local 7 // int bulkScale
        start local 8 // boolean isStreaming
         0: .line 2594
            aload 2 /* colValue */
            ifnonnull 3
         1: .line 2595
            aload 0 /* this */
            aload 1 /* tdsWriter */
            iload 6 /* bulkJdbcType */
            iload 8 /* isStreaming */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeNullToTdsWriter:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;IZ)V
         2: .line 2596
            return
         3: .line 2598
      StackMap locals:
      StackMap stack:
            aload 3 /* sourceResultSet */
            checkcast com.microsoft.sqlserver.jdbc.SQLServerResultSet
            iload 4 /* srcColOrdinal */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.getVariantInternalType:(I)Lcom/microsoft/sqlserver/jdbc/SqlVariant;
            astore 9 /* variantType */
        start local 9 // com.microsoft.sqlserver.jdbc.SqlVariant variantType
         4: .line 2599
            aload 9 /* variantType */
            invokevirtual com.microsoft.sqlserver.jdbc.SqlVariant.getBaseType:()I
            istore 10 /* baseType */
        start local 10 // int baseType
         5: .line 2604
            getstatic com.microsoft.sqlserver.jdbc.TDSType.TIMEN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            iload 10 /* baseType */
            invokestatic com.microsoft.sqlserver.jdbc.TDSType.valueOf:(I)Lcom/microsoft/sqlserver/jdbc/TDSType;
            if_acmpne 9
         6: .line 2605
            aload 9 /* variantType */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.SqlVariant.setIsBaseTypeTimeValue:(Z)V
         7: .line 2606
            aload 3 /* sourceResultSet */
            checkcast com.microsoft.sqlserver.jdbc.SQLServerResultSet
            iload 4 /* srcColOrdinal */
            aload 9 /* variantType */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.setInternalVariantType:(ILcom/microsoft/sqlserver/jdbc/SqlVariant;)V
         8: .line 2607
            aload 3 /* sourceResultSet */
            checkcast com.microsoft.sqlserver.jdbc.SQLServerResultSet
            iload 4 /* srcColOrdinal */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.getObject:(I)Ljava/lang/Object;
            astore 2 /* colValue */
         9: .line 2609
      StackMap locals: com.microsoft.sqlserver.jdbc.SqlVariant int
      StackMap stack:
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$TDSType:()[I
            iload 10 /* baseType */
            invokestatic com.microsoft.sqlserver.jdbc.TDSType.valueOf:(I)Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            iaload
            tableswitch { // 1 - 29
                    1: 38
                    2: 10
                    3: 13
                    4: 16
                    5: 19
                    6: 25
                    7: 22
                    8: 62
                    9: 59
                   10: 33
                   11: 28
                   12: 158
                   13: 158
                   14: 158
                   15: 158
                   16: 158
                   17: 158
                   18: 158
                   19: 115
                   20: 43
                   21: 46
                   22: 65
                   23: 158
                   24: 71
                   25: 83
                   26: 132
                   27: 145
                   28: 95
                   29: 105
              default: 158
          }
        10: .line 2611
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 10
            getstatic com.microsoft.sqlserver.jdbc.TDSType.INT8:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            iconst_0
            aload 1 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeBulkCopySqlVariantHeader:(IBBLcom/microsoft/sqlserver/jdbc/TDSWriter;)V
        11: .line 2612
            aload 1 /* tdsWriter */
            aload 2 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic java.lang.Long.valueOf:(Ljava/lang/String;)Ljava/lang/Long;
            invokevirtual java.lang.Long.longValue:()J
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeLong:(J)V
        12: .line 2613
            goto 161
        13: .line 2616
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 6
            getstatic com.microsoft.sqlserver.jdbc.TDSType.INT4:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            iconst_0
            aload 1 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeBulkCopySqlVariantHeader:(IBBLcom/microsoft/sqlserver/jdbc/TDSWriter;)V
        14: .line 2617
            aload 1 /* tdsWriter */
            aload 2 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
        15: .line 2618
            goto 161
        16: .line 2621
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_4
            getstatic com.microsoft.sqlserver.jdbc.TDSType.INT2:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            iconst_0
            aload 1 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeBulkCopySqlVariantHeader:(IBBLcom/microsoft/sqlserver/jdbc/TDSWriter;)V
        17: .line 2622
            aload 1 /* tdsWriter */
            aload 2 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic java.lang.Short.valueOf:(Ljava/lang/String;)Ljava/lang/Short;
            invokevirtual java.lang.Short.shortValue:()S
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        18: .line 2623
            goto 161
        19: .line 2626
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_3
            getstatic com.microsoft.sqlserver.jdbc.TDSType.INT1:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            iconst_0
            aload 1 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeBulkCopySqlVariantHeader:(IBBLcom/microsoft/sqlserver/jdbc/TDSWriter;)V
        20: .line 2627
            aload 1 /* tdsWriter */
            aload 2 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic java.lang.Byte.valueOf:(Ljava/lang/String;)Ljava/lang/Byte;
            invokevirtual java.lang.Byte.byteValue:()B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        21: .line 2628
            goto 161
        22: .line 2631
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 10
            getstatic com.microsoft.sqlserver.jdbc.TDSType.FLOAT8:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            iconst_0
            aload 1 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeBulkCopySqlVariantHeader:(IBBLcom/microsoft/sqlserver/jdbc/TDSWriter;)V
        23: .line 2632
            aload 1 /* tdsWriter */
            aload 2 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic java.lang.Double.valueOf:(Ljava/lang/String;)Ljava/lang/Double;
            invokevirtual java.lang.Double.doubleValue:()D
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeDouble:(D)V
        24: .line 2633
            goto 161
        25: .line 2636
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 6
            getstatic com.microsoft.sqlserver.jdbc.TDSType.FLOAT4:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            iconst_0
            aload 1 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeBulkCopySqlVariantHeader:(IBBLcom/microsoft/sqlserver/jdbc/TDSWriter;)V
        26: .line 2637
            aload 1 /* tdsWriter */
            aload 2 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic java.lang.Float.valueOf:(Ljava/lang/String;)Ljava/lang/Float;
            invokevirtual java.lang.Float.floatValue:()F
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeReal:(F)V
        27: .line 2638
            goto 161
        28: .line 2643
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 21
            getstatic com.microsoft.sqlserver.jdbc.TDSType.DECIMALN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            iconst_2
            aload 1 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeBulkCopySqlVariantHeader:(IBBLcom/microsoft/sqlserver/jdbc/TDSWriter;)V
        29: .line 2644
            aload 1 /* tdsWriter */
            bipush 38
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        30: .line 2645
            aload 1 /* tdsWriter */
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        31: .line 2646
            aload 1 /* tdsWriter */
            aload 2 /* colValue */
            checkcast java.math.BigDecimal
            iload 6 /* bulkJdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeSqlVariantInternalBigDecimal:(Ljava/math/BigDecimal;I)V
        32: .line 2647
            goto 161
        33: .line 2650
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 21
            getstatic com.microsoft.sqlserver.jdbc.TDSType.DECIMALN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            iconst_2
            aload 1 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeBulkCopySqlVariantHeader:(IBBLcom/microsoft/sqlserver/jdbc/TDSWriter;)V
        34: .line 2651
            aload 1 /* tdsWriter */
            bipush 38
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        35: .line 2652
            aload 1 /* tdsWriter */
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        36: .line 2653
            aload 1 /* tdsWriter */
            aload 2 /* colValue */
            checkcast java.math.BigDecimal
            iload 6 /* bulkJdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeSqlVariantInternalBigDecimal:(Ljava/math/BigDecimal;I)V
        37: .line 2654
            goto 161
        38: .line 2657
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_3
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BIT1:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            iconst_0
            aload 1 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeBulkCopySqlVariantHeader:(IBBLcom/microsoft/sqlserver/jdbc/TDSWriter;)V
        39: .line 2658
            aload 1 /* tdsWriter */
            aload 2 /* colValue */
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 40
            iconst_1
            goto 41
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter
        40: iconst_0
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter java.lang.Object java.sql.ResultSet int int int int int com.microsoft.sqlserver.jdbc.SqlVariant int
      StackMap stack: com.microsoft.sqlserver.jdbc.TDSWriter int
        41: i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        42: .line 2659
            goto 161
        43: .line 2662
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_5
            getstatic com.microsoft.sqlserver.jdbc.TDSType.DATEN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            iconst_0
            aload 1 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeBulkCopySqlVariantHeader:(IBBLcom/microsoft/sqlserver/jdbc/TDSWriter;)V
        44: .line 2663
            aload 1 /* tdsWriter */
            aload 2 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeDate:(Ljava/lang/String;)V
        45: .line 2664
            goto 161
        46: .line 2667
      StackMap locals:
      StackMap stack:
            aload 9 /* variantType */
            invokevirtual com.microsoft.sqlserver.jdbc.SqlVariant.getScale:()I
            istore 12 /* timeBulkScale */
        start local 12 // int timeBulkScale
        47: .line 2668
            bipush 8
            istore 13 /* timeHeaderLength */
        start local 13 // int timeHeaderLength
        48: .line 2669
            iconst_2
            iload 12 /* timeBulkScale */
            if_icmplt 51
        49: .line 2670
            bipush 6
            istore 13 /* timeHeaderLength */
        50: .line 2671
            goto 55
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter java.lang.Object java.sql.ResultSet int int int int int com.microsoft.sqlserver.jdbc.SqlVariant int top int int
      StackMap stack:
        51: iconst_4
            iload 12 /* timeBulkScale */
            if_icmplt 54
        52: .line 2672
            bipush 7
            istore 13 /* timeHeaderLength */
        53: .line 2673
            goto 55
        54: .line 2674
      StackMap locals:
      StackMap stack:
            bipush 8
            istore 13 /* timeHeaderLength */
        55: .line 2676
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 13 /* timeHeaderLength */
            getstatic com.microsoft.sqlserver.jdbc.TDSType.TIMEN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            iconst_1
            aload 1 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeBulkCopySqlVariantHeader:(IBBLcom/microsoft/sqlserver/jdbc/TDSWriter;)V
        56: .line 2683
            aload 1 /* tdsWriter */
            iload 12 /* timeBulkScale */
            i2b
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        57: .line 2684
            aload 1 /* tdsWriter */
            aload 2 /* colValue */
            checkcast java.sql.Timestamp
            iload 12 /* timeBulkScale */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeTime:(Ljava/sql/Timestamp;I)V
        58: .line 2685
            goto 161
        end local 13 // int timeHeaderLength
        end local 12 // int timeBulkScale
        59: .line 2688
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter java.lang.Object java.sql.ResultSet int int int int int com.microsoft.sqlserver.jdbc.SqlVariant int
      StackMap stack:
            aload 0 /* this */
            bipush 10
            getstatic com.microsoft.sqlserver.jdbc.TDSType.DATETIME8:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            iconst_0
            aload 1 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeBulkCopySqlVariantHeader:(IBBLcom/microsoft/sqlserver/jdbc/TDSWriter;)V
        60: .line 2689
            aload 1 /* tdsWriter */
            aload 2 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeDatetime:(Ljava/lang/String;)V
        61: .line 2690
            goto 161
        62: .line 2694
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 10
            getstatic com.microsoft.sqlserver.jdbc.TDSType.DATETIME8:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            iconst_0
            aload 1 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeBulkCopySqlVariantHeader:(IBBLcom/microsoft/sqlserver/jdbc/TDSWriter;)V
        63: .line 2695
            aload 1 /* tdsWriter */
            aload 2 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeDatetime:(Ljava/lang/String;)V
        64: .line 2696
            goto 161
        65: .line 2699
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 10
            getstatic com.microsoft.sqlserver.jdbc.TDSType.DATETIME2N:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            iconst_1
            aload 1 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeBulkCopySqlVariantHeader:(IBBLcom/microsoft/sqlserver/jdbc/TDSWriter;)V
        66: .line 2702
            aload 1 /* tdsWriter */
            iconst_3
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        67: .line 2703
            aload 2 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 14 /* timeStampValue */
        start local 14 // java.lang.String timeStampValue
        68: .line 2704
            aload 1 /* tdsWriter */
            aload 14 /* timeStampValue */
            invokestatic java.sql.Timestamp.valueOf:(Ljava/lang/String;)Ljava/sql/Timestamp;
            iconst_3
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeTime:(Ljava/sql/Timestamp;I)V
        69: .line 2707
            aload 1 /* tdsWriter */
            aload 14 /* timeStampValue */
            iconst_0
            aload 14 /* timeStampValue */
            bipush 32
            invokevirtual java.lang.String.lastIndexOf:(I)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeDate:(Ljava/lang/String;)V
        70: .line 2708
            goto 161
        end local 14 // java.lang.String timeStampValue
        71: .line 2711
      StackMap locals:
      StackMap stack:
            aload 2 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            istore 15 /* length */
        start local 15 // int length
        72: .line 2712
            aload 0 /* this */
            bipush 9
            iload 15 /* length */
            iadd
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BIGCHAR:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            bipush 7
            aload 1 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeBulkCopySqlVariantHeader:(IBBLcom/microsoft/sqlserver/jdbc/TDSWriter;)V
        73: .line 2713
            aload 1 /* tdsWriter */
            aload 9 /* variantType */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeCollationForSqlVariant:(Lcom/microsoft/sqlserver/jdbc/SqlVariant;)V
        74: .line 2714
            aload 1 /* tdsWriter */
            iload 15 /* length */
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        75: .line 2715
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 5 /* destColOrdinal */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.collation:Lcom/microsoft/sqlserver/jdbc/SQLCollation;
            astore 16 /* destCollation */
        start local 16 // com.microsoft.sqlserver.jdbc.SQLCollation destCollation
        76: .line 2716
            aload 16 /* destCollation */
            ifnull 81
        77: .line 2717
            aload 1 /* tdsWriter */
            aload 2 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
        78: .line 2718
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 5 /* destColOrdinal */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.collation:Lcom/microsoft/sqlserver/jdbc/SQLCollation;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLCollation.getCharset:()Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
        79: .line 2717
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
        80: .line 2719
            goto 161
        81: .line 2720
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter java.lang.Object java.sql.ResultSet int int int int int com.microsoft.sqlserver.jdbc.SqlVariant int top top top top int com.microsoft.sqlserver.jdbc.SQLCollation
      StackMap stack:
            aload 1 /* tdsWriter */
            aload 2 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.getBytes:()[B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
        82: .line 2722
            goto 161
        end local 16 // com.microsoft.sqlserver.jdbc.SQLCollation destCollation
        end local 15 // int length
        83: .line 2725
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter java.lang.Object java.sql.ResultSet int int int int int com.microsoft.sqlserver.jdbc.SqlVariant int
      StackMap stack:
            aload 2 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            istore 15 /* length */
        start local 15 // int length
        84: .line 2726
            aload 0 /* this */
            bipush 9
            iload 15 /* length */
            iadd
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BIGVARCHAR:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            bipush 7
            aload 1 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeBulkCopySqlVariantHeader:(IBBLcom/microsoft/sqlserver/jdbc/TDSWriter;)V
        85: .line 2727
            aload 1 /* tdsWriter */
            aload 9 /* variantType */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeCollationForSqlVariant:(Lcom/microsoft/sqlserver/jdbc/SqlVariant;)V
        86: .line 2728
            aload 1 /* tdsWriter */
            iload 15 /* length */
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
        87: .line 2730
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 5 /* destColOrdinal */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.collation:Lcom/microsoft/sqlserver/jdbc/SQLCollation;
            astore 16 /* destCollation */
        start local 16 // com.microsoft.sqlserver.jdbc.SQLCollation destCollation
        88: .line 2731
            aload 16 /* destCollation */
            ifnull 93
        89: .line 2732
            aload 1 /* tdsWriter */
            aload 2 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
        90: .line 2733
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 5 /* destColOrdinal */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.collation:Lcom/microsoft/sqlserver/jdbc/SQLCollation;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLCollation.getCharset:()Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
        91: .line 2732
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
        92: .line 2734
            goto 161
        93: .line 2735
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter java.lang.Object java.sql.ResultSet int int int int int com.microsoft.sqlserver.jdbc.SqlVariant int top top top top int com.microsoft.sqlserver.jdbc.SQLCollation
      StackMap stack:
            aload 1 /* tdsWriter */
            aload 2 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.getBytes:()[B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
        94: .line 2737
            goto 161
        end local 16 // com.microsoft.sqlserver.jdbc.SQLCollation destCollation
        end local 15 // int length
        95: .line 2740
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter java.lang.Object java.sql.ResultSet int int int int int com.microsoft.sqlserver.jdbc.SqlVariant int
      StackMap stack:
            aload 2 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iconst_2
            imul
            istore 15 /* length */
        start local 15 // int length
        96: .line 2741
            aload 0 /* this */
            bipush 9
            iload 15 /* length */
            iadd
            getstatic com.microsoft.sqlserver.jdbc.TDSType.NCHAR:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            bipush 7
            aload 1 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeBulkCopySqlVariantHeader:(IBBLcom/microsoft/sqlserver/jdbc/TDSWriter;)V
        97: .line 2742
            aload 1 /* tdsWriter */
            aload 9 /* variantType */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeCollationForSqlVariant:(Lcom/microsoft/sqlserver/jdbc/SqlVariant;)V
        98: .line 2743
            aload 2 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            istore 17 /* stringLength */
        start local 17 // int stringLength
        99: .line 2744
            iconst_2
            newarray 8
            astore 18 /* typevarlen */
        start local 18 // byte[] typevarlen
       100: .line 2745
            aload 18 /* typevarlen */
            iconst_0
            iconst_2
            iload 17 /* stringLength */
            imul
            sipush 255
            iand
            i2b
            bastore
       101: .line 2746
            aload 18 /* typevarlen */
            iconst_1
            iconst_2
            iload 17 /* stringLength */
            imul
            bipush 8
            ishr
            sipush 255
            iand
            i2b
            bastore
       102: .line 2747
            aload 1 /* tdsWriter */
            aload 18 /* typevarlen */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
       103: .line 2748
            aload 1 /* tdsWriter */
            aload 2 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeString:(Ljava/lang/String;)V
       104: .line 2749
            goto 161
        end local 18 // byte[] typevarlen
        end local 17 // int stringLength
        end local 15 // int length
       105: .line 2752
      StackMap locals:
      StackMap stack:
            aload 2 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iconst_2
            imul
            istore 15 /* length */
        start local 15 // int length
       106: .line 2753
            aload 0 /* this */
            bipush 9
            iload 15 /* length */
            iadd
            getstatic com.microsoft.sqlserver.jdbc.TDSType.NVARCHAR:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            bipush 7
            aload 1 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeBulkCopySqlVariantHeader:(IBBLcom/microsoft/sqlserver/jdbc/TDSWriter;)V
       107: .line 2754
            aload 1 /* tdsWriter */
            aload 9 /* variantType */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeCollationForSqlVariant:(Lcom/microsoft/sqlserver/jdbc/SqlVariant;)V
       108: .line 2755
            aload 2 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            istore 17 /* stringLength */
        start local 17 // int stringLength
       109: .line 2756
            iconst_2
            newarray 8
            astore 18 /* typevarlen */
        start local 18 // byte[] typevarlen
       110: .line 2757
            aload 18 /* typevarlen */
            iconst_0
            iconst_2
            iload 17 /* stringLength */
            imul
            sipush 255
            iand
            i2b
            bastore
       111: .line 2758
            aload 18 /* typevarlen */
            iconst_1
            iconst_2
            iload 17 /* stringLength */
            imul
            bipush 8
            ishr
            sipush 255
            iand
            i2b
            bastore
       112: .line 2759
            aload 1 /* tdsWriter */
            aload 18 /* typevarlen */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
       113: .line 2760
            aload 1 /* tdsWriter */
            aload 2 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeString:(Ljava/lang/String;)V
       114: .line 2761
            goto 161
        end local 18 // byte[] typevarlen
        end local 17 // int stringLength
        end local 15 // int length
       115: .line 2764
      StackMap locals:
      StackMap stack:
            aload 2 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            istore 15 /* length */
        start local 15 // int length
       116: .line 2765
            aload 0 /* this */
            bipush 9
            iload 15 /* length */
            iadd
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BIGCHAR:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            bipush 7
            aload 1 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeBulkCopySqlVariantHeader:(IBBLcom/microsoft/sqlserver/jdbc/TDSWriter;)V
       117: .line 2769
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 4 /* srcColOrdinal */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.collation:Lcom/microsoft/sqlserver/jdbc/SQLCollation;
            ifnull 119
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
       118: .line 2770
            iload 4 /* srcColOrdinal */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.collation:Lcom/microsoft/sqlserver/jdbc/SQLCollation;
            goto 120
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter java.lang.Object java.sql.ResultSet int int int int int com.microsoft.sqlserver.jdbc.SqlVariant int top top top top int
      StackMap stack:
       119: aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getDatabaseCollation:()Lcom/microsoft/sqlserver/jdbc/SQLCollation;
       120: .line 2769
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLCollation
            astore 19 /* collation */
        start local 19 // com.microsoft.sqlserver.jdbc.SQLCollation collation
       121: .line 2771
            aload 9 /* variantType */
            aload 19 /* collation */
            invokevirtual com.microsoft.sqlserver.jdbc.SqlVariant.setCollation:(Lcom/microsoft/sqlserver/jdbc/SQLCollation;)V
       122: .line 2772
            aload 1 /* tdsWriter */
            aload 9 /* variantType */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeCollationForSqlVariant:(Lcom/microsoft/sqlserver/jdbc/SqlVariant;)V
       123: .line 2773
            aload 1 /* tdsWriter */
            iload 15 /* length */
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       124: .line 2775
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 5 /* destColOrdinal */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.collation:Lcom/microsoft/sqlserver/jdbc/SQLCollation;
            astore 16 /* destCollation */
        start local 16 // com.microsoft.sqlserver.jdbc.SQLCollation destCollation
       125: .line 2776
            aload 16 /* destCollation */
            ifnull 130
       126: .line 2777
            aload 1 /* tdsWriter */
            aload 2 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
       127: .line 2778
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 5 /* destColOrdinal */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.collation:Lcom/microsoft/sqlserver/jdbc/SQLCollation;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLCollation.getCharset:()Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
       128: .line 2777
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
       129: .line 2779
            goto 161
       130: .line 2780
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter java.lang.Object java.sql.ResultSet int int int int int com.microsoft.sqlserver.jdbc.SqlVariant int top top top top int com.microsoft.sqlserver.jdbc.SQLCollation top top com.microsoft.sqlserver.jdbc.SQLCollation
      StackMap stack:
            aload 1 /* tdsWriter */
            aload 2 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.getBytes:()[B
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
       131: .line 2782
            goto 161
        end local 19 // com.microsoft.sqlserver.jdbc.SQLCollation collation
        end local 16 // com.microsoft.sqlserver.jdbc.SQLCollation destCollation
        end local 15 // int length
       132: .line 2785
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter java.lang.Object java.sql.ResultSet int int int int int com.microsoft.sqlserver.jdbc.SqlVariant int
      StackMap stack:
            aload 2 /* colValue */
            checkcast byte[]
            astore 20 /* b */
        start local 20 // byte[] b
       133: .line 2786
            aload 20 /* b */
            arraylength
            istore 15 /* length */
        start local 15 // int length
       134: .line 2787
            aload 0 /* this */
            iconst_4
            iload 15 /* length */
            iadd
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BIGVARBINARY:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            iconst_2
            aload 1 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeBulkCopySqlVariantHeader:(IBBLcom/microsoft/sqlserver/jdbc/TDSWriter;)V
       135: .line 2788
            aload 1 /* tdsWriter */
            aload 9 /* variantType */
            invokevirtual com.microsoft.sqlserver.jdbc.SqlVariant.getMaxLength:()I
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       136: .line 2789
            aload 2 /* colValue */
            instanceof byte[]
            ifeq 139
       137: .line 2790
            aload 2 /* colValue */
            checkcast byte[]
            astore 11 /* srcBytes */
        start local 11 // byte[] srcBytes
       138: .line 2791
            goto 143
        end local 11 // byte[] srcBytes
       139: .line 2793
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter java.lang.Object java.sql.ResultSet int int int int int com.microsoft.sqlserver.jdbc.SqlVariant int top top top top int top top top top byte[]
      StackMap stack:
            aload 2 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic com.microsoft.sqlserver.jdbc.ParameterUtils.HexToBin:(Ljava/lang/String;)[B
            astore 11 /* srcBytes */
        start local 11 // byte[] srcBytes
       140: .line 2794
            goto 143
        end local 11 // byte[] srcBytes
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerException
       141: astore 21 /* e */
        start local 21 // com.microsoft.sqlserver.jdbc.SQLServerException e
       142: .line 2795
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_unableRetrieveSourceData"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aload 21 /* e */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 21 // com.microsoft.sqlserver.jdbc.SQLServerException e
        start local 11 // byte[] srcBytes
       143: .line 2798
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter java.lang.Object java.sql.ResultSet int int int int int com.microsoft.sqlserver.jdbc.SqlVariant int byte[] top top top int top top top top byte[]
      StackMap stack:
            aload 1 /* tdsWriter */
            aload 11 /* srcBytes */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
       144: .line 2799
            goto 161
        end local 20 // byte[] b
        end local 15 // int length
        end local 11 // byte[] srcBytes
       145: .line 2802
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter java.lang.Object java.sql.ResultSet int int int int int com.microsoft.sqlserver.jdbc.SqlVariant int
      StackMap stack:
            aload 2 /* colValue */
            checkcast byte[]
            astore 20 /* b */
        start local 20 // byte[] b
       146: .line 2803
            aload 20 /* b */
            arraylength
            istore 15 /* length */
        start local 15 // int length
       147: .line 2804
            aload 0 /* this */
            iconst_4
            iload 15 /* length */
            iadd
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BIGVARBINARY:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.byteValue:()B
            iconst_2
            aload 1 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeBulkCopySqlVariantHeader:(IBBLcom/microsoft/sqlserver/jdbc/TDSWriter;)V
       148: .line 2805
            aload 1 /* tdsWriter */
            aload 9 /* variantType */
            invokevirtual com.microsoft.sqlserver.jdbc.SqlVariant.getMaxLength:()I
            i2s
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeShort:(S)V
       149: .line 2806
            aload 2 /* colValue */
            instanceof byte[]
            ifeq 152
       150: .line 2807
            aload 2 /* colValue */
            checkcast byte[]
            astore 11 /* srcBytes */
        start local 11 // byte[] srcBytes
       151: .line 2808
            goto 156
        end local 11 // byte[] srcBytes
       152: .line 2810
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter java.lang.Object java.sql.ResultSet int int int int int com.microsoft.sqlserver.jdbc.SqlVariant int top top top top int top top top top byte[]
      StackMap stack:
            aload 2 /* colValue */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic com.microsoft.sqlserver.jdbc.ParameterUtils.HexToBin:(Ljava/lang/String;)[B
            astore 11 /* srcBytes */
        start local 11 // byte[] srcBytes
       153: .line 2811
            goto 156
        end local 11 // byte[] srcBytes
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerException
       154: astore 21 /* e */
        start local 21 // com.microsoft.sqlserver.jdbc.SQLServerException e
       155: .line 2812
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_unableRetrieveSourceData"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aload 21 /* e */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 21 // com.microsoft.sqlserver.jdbc.SQLServerException e
        start local 11 // byte[] srcBytes
       156: .line 2815
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter java.lang.Object java.sql.ResultSet int int int int int com.microsoft.sqlserver.jdbc.SqlVariant int byte[] top top top int top top top top byte[]
      StackMap stack:
            aload 1 /* tdsWriter */
            aload 11 /* srcBytes */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeBytes:([B)V
       157: .line 2816
            goto 161
        end local 20 // byte[] b
        end local 15 // int length
        end local 11 // byte[] srcBytes
       158: .line 2819
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter java.lang.Object java.sql.ResultSet int int int int int com.microsoft.sqlserver.jdbc.SqlVariant int
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_BulkTypeNotSupported"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 21 /* form */
        start local 21 // java.text.MessageFormat form
       159: .line 2820
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 6 /* bulkJdbcType */
            invokestatic com.microsoft.sqlserver.jdbc.JDBCType.of:(I)Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.toString:()Ljava/lang/String;
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            aastore
            astore 22 /* msgArgs */
        start local 22 // java.lang.Object[] msgArgs
       160: .line 2821
            aconst_null
            aconst_null
            aload 21 /* form */
            aload 22 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_1
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
        end local 22 // java.lang.Object[] msgArgs
        end local 21 // java.text.MessageFormat form
       161: .line 2824
      StackMap locals:
      StackMap stack:
            return
        end local 10 // int baseType
        end local 9 // com.microsoft.sqlserver.jdbc.SqlVariant variantType
        end local 8 // boolean isStreaming
        end local 7 // int bulkScale
        end local 6 // int bulkJdbcType
        end local 5 // int destColOrdinal
        end local 4 // int srcColOrdinal
        end local 3 // java.sql.ResultSet sourceResultSet
        end local 2 // java.lang.Object colValue
        end local 1 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0  162     0              this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0  162     1         tdsWriter  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0  162     2          colValue  Ljava/lang/Object;
            0  162     3   sourceResultSet  Ljava/sql/ResultSet;
            0  162     4     srcColOrdinal  I
            0  162     5    destColOrdinal  I
            0  162     6      bulkJdbcType  I
            0  162     7         bulkScale  I
            0  162     8       isStreaming  Z
            4  162     9       variantType  Lcom/microsoft/sqlserver/jdbc/SqlVariant;
            5  162    10          baseType  I
          138  139    11          srcBytes  [B
          140  141    11          srcBytes  [B
          143  145    11          srcBytes  [B
          151  152    11          srcBytes  [B
          153  154    11          srcBytes  [B
          156  158    11          srcBytes  [B
           47   59    12     timeBulkScale  I
           48   59    13  timeHeaderLength  I
           68   71    14    timeStampValue  Ljava/lang/String;
           72   83    15            length  I
           84   95    15            length  I
           96  105    15            length  I
          106  115    15            length  I
          116  132    15            length  I
          134  145    15            length  I
          147  158    15            length  I
           76   83    16     destCollation  Lcom/microsoft/sqlserver/jdbc/SQLCollation;
           88   95    16     destCollation  Lcom/microsoft/sqlserver/jdbc/SQLCollation;
          125  132    16     destCollation  Lcom/microsoft/sqlserver/jdbc/SQLCollation;
           99  105    17      stringLength  I
          109  115    17      stringLength  I
          100  105    18        typevarlen  [B
          110  115    18        typevarlen  [B
          121  132    19         collation  Lcom/microsoft/sqlserver/jdbc/SQLCollation;
          133  145    20                 b  [B
          146  158    20                 b  [B
          142  143    21                 e  Lcom/microsoft/sqlserver/jdbc/SQLServerException;
          155  156    21                 e  Lcom/microsoft/sqlserver/jdbc/SQLServerException;
          159  161    21              form  Ljava/text/MessageFormat;
          160  161    22           msgArgs  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
         139   140     141  Class com.microsoft.sqlserver.jdbc.SQLServerException
         152   153     154  Class com.microsoft.sqlserver.jdbc.SQLServerException
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                 Name  Flags
      tdsWriter        
      colValue         
      sourceResultSet  
      srcColOrdinal    
      destColOrdinal   
      bulkJdbcType     
      bulkScale        
      isStreaming      

  private void writeBulkCopySqlVariantHeader(int, byte, byte, com.microsoft.sqlserver.jdbc.TDSWriter);
    descriptor: (IBBLcom/microsoft/sqlserver/jdbc/TDSWriter;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // int length
        start local 2 // byte tdsType
        start local 3 // byte probBytes
        start local 4 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
         0: .line 2838
            aload 4 /* tdsWriter */
            iload 1 /* length */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeInt:(I)V
         1: .line 2839
            aload 4 /* tdsWriter */
            iload 2 /* tdsType */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         2: .line 2840
            aload 4 /* tdsWriter */
            iload 3 /* probBytes */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
         3: .line 2841
            return
        end local 4 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
        end local 3 // byte probBytes
        end local 2 // byte tdsType
        end local 1 // int length
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0    4     1     length  I
            0    4     2    tdsType  B
            0    4     3  probBytes  B
            0    4     4  tdsWriter  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
           Name  Flags
      length     
      tdsType    
      probBytes  
      tdsWriter  

  private java.lang.Object readColumnFromResultSet(int, int, boolean, boolean);
    descriptor: (IIZZ)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=5
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // int srcColOrdinal
        start local 2 // int srcJdbcType
        start local 3 // boolean isStreaming
        start local 4 // boolean isDestEncrypted
         0: .line 2845
            aconst_null
            astore 5 /* srcCryptoMeta */
        start local 5 // com.microsoft.sqlserver.jdbc.CryptoMetadata srcCryptoMeta
         1: .line 2848
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            instanceof com.microsoft.sqlserver.jdbc.SQLServerResultSet
            ifeq 8
         2: .line 2849
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerResultSet
            iload 1 /* srcColOrdinal */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.getterGetColumn:(I)Lcom/microsoft/sqlserver/jdbc/Column;
         3: .line 2850
            invokevirtual com.microsoft.sqlserver.jdbc.Column.getCryptoMetadata:()Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
         4: .line 2849
            dup
            astore 5 /* srcCryptoMeta */
            ifnull 8
         5: .line 2851
            aload 5 /* srcCryptoMeta */
            getfield com.microsoft.sqlserver.jdbc.CryptoMetadata.baseTypeInfo:Lcom/microsoft/sqlserver/jdbc/TypeInfo;
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSSType:()Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.getJDBCType:()Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.asJavaSqlType:()I
            istore 2 /* srcJdbcType */
         6: .line 2852
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.srcColumnMetadata:Ljava/util/Map;
            iload 1 /* srcColOrdinal */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            astore 6 /* temp */
        start local 6 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData temp
         7: .line 2853
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.srcColumnMetadata:Ljava/util/Map;
            iload 1 /* srcColOrdinal */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            new com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            dup
            aload 0 /* this */
            aload 6 /* temp */
            aload 5 /* srcCryptoMeta */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy$BulkColumnMetaData;Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData temp
         8: .line 2859
      StackMap locals: com.microsoft.sqlserver.jdbc.CryptoMetadata
      StackMap stack:
            iload 2 /* srcJdbcType */
            lookupswitch { // 29
                 -156: 34
                 -155: 32
                 -151: 28
                 -150: 28
                 -148: 11
                 -146: 11
                 -145: 13
                  -16: 18
                  -15: 18
                   -9: 18
                   -7: 9
                   -6: 9
                   -5: 9
                   -4: 23
                   -3: 23
                   -2: 23
                   -1: 13
                    1: 13
                    2: 11
                    3: 11
                    4: 9
                    5: 9
                    6: 9
                    7: 9
                    8: 9
                   12: 13
                   91: 30
                   92: 28
                   93: 28
              default: 36
          }
         9: .line 2872
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            iload 1 /* srcColOrdinal */
            invokeinterface java.sql.ResultSet.getObject:(I)Ljava/lang/Object;
        10: areturn
        11: .line 2878
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            iload 1 /* srcColOrdinal */
            invokeinterface java.sql.ResultSet.getBigDecimal:(I)Ljava/math/BigDecimal;
        12: areturn
        13: .line 2888
      StackMap locals:
      StackMap stack:
            iload 3 /* isStreaming */
            ifeq 16
            iload 4 /* isDestEncrypted */
            ifne 16
            aload 5 /* srcCryptoMeta */
            ifnonnull 16
        14: .line 2894
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            iload 1 /* srcColOrdinal */
            invokeinterface java.sql.ResultSet.getCharacterStream:(I)Ljava/io/Reader;
        15: areturn
        16: .line 2897
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            iload 1 /* srcColOrdinal */
            invokeinterface java.sql.ResultSet.getString:(I)Ljava/lang/String;
        17: areturn
        18: .line 2906
      StackMap locals:
      StackMap stack:
            iload 3 /* isStreaming */
            ifeq 21
            iload 4 /* isDestEncrypted */
            ifne 21
            aload 5 /* srcCryptoMeta */
            ifnonnull 21
        19: .line 2912
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            iload 1 /* srcColOrdinal */
            invokeinterface java.sql.ResultSet.getNCharacterStream:(I)Ljava/io/Reader;
        20: areturn
        21: .line 2914
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            iload 1 /* srcColOrdinal */
            invokeinterface java.sql.ResultSet.getObject:(I)Ljava/lang/Object;
        22: areturn
        23: .line 2923
      StackMap locals:
      StackMap stack:
            iload 3 /* isStreaming */
            ifeq 26
            iload 4 /* isDestEncrypted */
            ifne 26
            aload 5 /* srcCryptoMeta */
            ifnonnull 26
        24: .line 2925
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            iload 1 /* srcColOrdinal */
            invokeinterface java.sql.ResultSet.getBinaryStream:(I)Ljava/io/InputStream;
        25: areturn
        26: .line 2928
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            iload 1 /* srcColOrdinal */
            invokeinterface java.sql.ResultSet.getBytes:(I)[B
        27: areturn
        28: .line 2938
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            iload 1 /* srcColOrdinal */
            invokeinterface java.sql.ResultSet.getTimestamp:(I)Ljava/sql/Timestamp;
        29: areturn
        30: .line 2941
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            iload 1 /* srcColOrdinal */
            invokeinterface java.sql.ResultSet.getDate:(I)Ljava/sql/Date;
        31: areturn
        32: .line 2944
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            iload 1 /* srcColOrdinal */
            ldc Lmicrosoft/sql/DateTimeOffset;
            invokeinterface java.sql.ResultSet.getObject:(ILjava/lang/Class;)Ljava/lang/Object;
        33: areturn
        34: .line 2947
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            iload 1 /* srcColOrdinal */
            invokeinterface java.sql.ResultSet.getObject:(I)Ljava/lang/Object;
        35: areturn
        36: .line 2949
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_BulkTypeNotSupported"
            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
        37: .line 2950
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* srcJdbcType */
            invokestatic com.microsoft.sqlserver.jdbc.JDBCType.of:(I)Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.toString:()Ljava/lang/String;
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            aastore
            astore 7 /* msgArgs */
        start local 7 // java.lang.Object[] msgArgs
        38: .line 2951
            aconst_null
            aconst_null
            aload 6 /* form */
            aload 7 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_1
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
        39: .line 2953
            aconst_null
            areturn
        end local 7 // java.lang.Object[] msgArgs
        end local 6 // java.text.MessageFormat form
        40: .line 2955
      StackMap locals:
      StackMap stack: java.sql.SQLException
            astore 6 /* e */
        start local 6 // java.sql.SQLException e
        41: .line 2956
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_unableRetrieveSourceData"
            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.sql.SQLException e
        end local 5 // com.microsoft.sqlserver.jdbc.CryptoMetadata srcCryptoMeta
        end local 4 // boolean isDestEncrypted
        end local 3 // boolean isStreaming
        end local 2 // int srcJdbcType
        end local 1 // int srcColOrdinal
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   42     0             this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0   42     1    srcColOrdinal  I
            0   42     2      srcJdbcType  I
            0   42     3      isStreaming  Z
            0   42     4  isDestEncrypted  Z
            1   42     5    srcCryptoMeta  Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            7    8     6             temp  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy$BulkColumnMetaData;
           37   40     6             form  Ljava/text/MessageFormat;
           38   40     7          msgArgs  [Ljava/lang/Object;
           41   42     6                e  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           8    10      40  Class java.sql.SQLException
          11    12      40  Class java.sql.SQLException
          13    15      40  Class java.sql.SQLException
          16    17      40  Class java.sql.SQLException
          18    20      40  Class java.sql.SQLException
          21    22      40  Class java.sql.SQLException
          23    25      40  Class java.sql.SQLException
          26    27      40  Class java.sql.SQLException
          28    29      40  Class java.sql.SQLException
          30    31      40  Class java.sql.SQLException
          32    33      40  Class java.sql.SQLException
          34    35      40  Class java.sql.SQLException
          36    39      40  Class java.sql.SQLException
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                 Name  Flags
      srcColOrdinal    
      srcJdbcType      
      isStreaming      
      isDestEncrypted  

  private void writeColumn(com.microsoft.sqlserver.jdbc.TDSWriter, int, int, java.lang.Object);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/TDSWriter;IILjava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=19, args_size=5
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
        start local 2 // int srcColOrdinal
        start local 3 // int destColOrdinal
        start local 4 // java.lang.Object colValue
         0: .line 2966
            aconst_null
            astore 9 /* destSSType */
        start local 9 // com.microsoft.sqlserver.jdbc.SSType destSSType
         1: .line 2968
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.srcColumnMetadata:Ljava/util/Map;
            iload 2 /* srcColOrdinal */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.precision:I
            istore 5 /* srcPrecision */
        start local 5 // int srcPrecision
         2: .line 2969
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.srcColumnMetadata:Ljava/util/Map;
            iload 2 /* srcColOrdinal */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.scale:I
            istore 6 /* srcScale */
        start local 6 // int srcScale
         3: .line 2970
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.srcColumnMetadata:Ljava/util/Map;
            iload 2 /* srcColOrdinal */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.jdbcType:I
            istore 8 /* srcJdbcType */
        start local 8 // int srcJdbcType
         4: .line 2971
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.srcColumnMetadata:Ljava/util/Map;
            iload 2 /* srcColOrdinal */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.isNullable:Z
            istore 11 /* srcNullable */
        start local 11 // boolean srcNullable
         5: .line 2973
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 3 /* destColOrdinal */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.precision:I
            istore 7 /* destPrecision */
        start local 7 // int destPrecision
         6: .line 2975
            bipush -15
            iload 8 /* srcJdbcType */
            if_icmpeq 8
            bipush -9
            iload 8 /* srcJdbcType */
            if_icmpeq 8
         7: .line 2976
            bipush -16
            iload 8 /* srcJdbcType */
            if_icmpne 14
         8: .line 2977
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter int int java.lang.Object int int int int com.microsoft.sqlserver.jdbc.SSType top int
      StackMap stack:
            sipush 4000
            iload 5 /* srcPrecision */
            if_icmplt 11
         9: .line 2978
            sipush 4000
            iload 7 /* destPrecision */
        10: .line 2977
            if_icmplt 11
            iconst_0
            goto 12
      StackMap locals:
      StackMap stack:
        11: iconst_1
      StackMap locals:
      StackMap stack: int
        12: istore 10 /* isStreaming */
        start local 10 // boolean isStreaming
        13: .line 2979
            goto 19
        end local 10 // boolean isStreaming
        14: .line 2980
      StackMap locals:
      StackMap stack:
            sipush 8000
            iload 5 /* srcPrecision */
            if_icmplt 17
        15: .line 2981
            sipush 8000
            iload 7 /* destPrecision */
        16: .line 2980
            if_icmplt 17
            iconst_0
            goto 18
      StackMap locals:
      StackMap stack:
        17: iconst_1
      StackMap locals:
      StackMap stack: int
        18: istore 10 /* isStreaming */
        start local 10 // boolean isStreaming
        19: .line 2984
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter int int java.lang.Object int int int int com.microsoft.sqlserver.jdbc.SSType int int
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destColumnMetadata:Ljava/util/Map;
            iload 3 /* destColOrdinal */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            astore 12 /* destCryptoMeta */
        start local 12 // com.microsoft.sqlserver.jdbc.CryptoMetadata destCryptoMeta
        20: .line 2985
            aload 12 /* destCryptoMeta */
            ifnull 22
        21: .line 2986
            aload 12 /* destCryptoMeta */
            getfield com.microsoft.sqlserver.jdbc.CryptoMetadata.baseTypeInfo:Lcom/microsoft/sqlserver/jdbc/TypeInfo;
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSSType:()Lcom/microsoft/sqlserver/jdbc/SSType;
            astore 9 /* destSSType */
        22: .line 2991
      StackMap locals: com.microsoft.sqlserver.jdbc.CryptoMetadata
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            ifnull 31
        23: .line 2992
            aload 0 /* this */
            iload 2 /* srcColOrdinal */
            iload 8 /* srcJdbcType */
            iload 10 /* isStreaming */
            aload 12 /* destCryptoMeta */
            ifnull 24
            iconst_1
            goto 25
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter int int java.lang.Object int int int int com.microsoft.sqlserver.jdbc.SSType int int com.microsoft.sqlserver.jdbc.CryptoMetadata
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy int int int
        24: iconst_0
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter int int java.lang.Object int int int int com.microsoft.sqlserver.jdbc.SSType int int com.microsoft.sqlserver.jdbc.CryptoMetadata
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy int int int int
        25: invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.readColumnFromResultSet:(IIZZ)Ljava/lang/Object;
            astore 4 /* colValue */
        26: .line 2993
            aload 0 /* this */
            aload 4 /* colValue */
            iload 2 /* srcColOrdinal */
            iload 3 /* destColOrdinal */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.validateStringBinaryLengths:(Ljava/lang/Object;II)V
        27: .line 2997
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.copyOptions:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopyOptions;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopyOptions.isAllowEncryptedValueModifications:()Z
            ifne 49
        28: .line 2999
            aload 12 /* destCryptoMeta */
            ifnull 29
            aload 4 /* colValue */
            ifnonnull 49
        29: .line 3000
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* srcColOrdinal */
            iload 3 /* destColOrdinal */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.validateDataTypeConversions:(II)V
        30: .line 3002
            goto 49
        31: .line 3005
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.serverBulkData:Lcom/microsoft/sqlserver/jdbc/ISQLServerBulkData;
            ifnull 34
            aload 12 /* destCryptoMeta */
            ifnonnull 34
        32: .line 3006
            aload 0 /* this */
            aload 4 /* colValue */
            iload 2 /* srcColOrdinal */
            iload 3 /* destColOrdinal */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.validateStringBinaryLengths:(Ljava/lang/Object;II)V
        33: .line 3007
            goto 49
      StackMap locals:
      StackMap stack:
        34: aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.serverBulkData:Lcom/microsoft/sqlserver/jdbc/ISQLServerBulkData;
            ifnull 49
            aload 12 /* destCryptoMeta */
            ifnull 49
        35: .line 3009
            bipush 91
            iload 8 /* srcJdbcType */
            if_icmpeq 38
            bipush 92
            iload 8 /* srcJdbcType */
            if_icmpeq 38
        36: .line 3010
            bipush 93
            iload 8 /* srcJdbcType */
            if_icmpeq 38
            sipush -155
            iload 8 /* srcJdbcType */
            if_icmpeq 38
        37: .line 3011
            sipush 2013
            iload 8 /* srcJdbcType */
            if_icmpeq 38
            sipush 2014
            iload 8 /* srcJdbcType */
            if_icmpne 40
        38: .line 3012
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* colValue */
            iload 8 /* srcJdbcType */
            iload 2 /* srcColOrdinal */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.getTemporalObjectFromCSV:(Ljava/lang/Object;II)Ljava/lang/Object;
            astore 4 /* colValue */
        39: .line 3013
            goto 49
      StackMap locals:
      StackMap stack:
        40: iconst_2
            iload 8 /* srcJdbcType */
            if_icmpeq 41
            iconst_3
            iload 8 /* srcJdbcType */
            if_icmpne 49
        41: .line 3014
      StackMap locals:
      StackMap stack:
            aload 12 /* destCryptoMeta */
            getfield com.microsoft.sqlserver.jdbc.CryptoMetadata.baseTypeInfo:Lcom/microsoft/sqlserver/jdbc/TypeInfo;
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getPrecision:()I
            istore 13 /* baseDestPrecision */
        start local 13 // int baseDestPrecision
        42: .line 3015
            aload 12 /* destCryptoMeta */
            getfield com.microsoft.sqlserver.jdbc.CryptoMetadata.baseTypeInfo:Lcom/microsoft/sqlserver/jdbc/TypeInfo;
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getScale:()I
            istore 14 /* baseDestScale */
        start local 14 // int baseDestScale
        43: .line 3016
            iload 6 /* srcScale */
            iload 14 /* baseDestScale */
            if_icmpne 44
            iload 5 /* srcPrecision */
            iload 13 /* baseDestPrecision */
            if_icmpeq 49
        44: .line 3017
      StackMap locals: int int
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_InvalidDataForAE"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 15 /* form */
        start local 15 // java.text.MessageFormat form
        45: .line 3018
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            iload 8 /* srcJdbcType */
            invokestatic com.microsoft.sqlserver.jdbc.JDBCType.of:(I)Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 5 /* srcPrecision */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 6 /* srcScale */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 16 /* src */
        start local 16 // java.lang.String src
        46: .line 3019
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 9 /* destSSType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 13 /* baseDestPrecision */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 14 /* baseDestScale */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 17 /* dest */
        start local 17 // java.lang.String dest
        47: .line 3020
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 16 /* src */
            aastore
            dup
            iconst_1
            aload 17 /* dest */
            aastore
            astore 18 /* msgArgs */
        start local 18 // java.lang.Object[] msgArgs
        48: .line 3021
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 0 /* this */
            aload 15 /* form */
            aload 18 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            iconst_0
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            athrow
        end local 18 // java.lang.Object[] msgArgs
        end local 17 // java.lang.String dest
        end local 16 // java.lang.String src
        end local 15 // java.text.MessageFormat form
        end local 14 // int baseDestScale
        end local 13 // int baseDestPrecision
        49: .line 3026
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.srcColumnMetadata:Ljava/util/Map;
            iload 2 /* srcColOrdinal */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            astore 13 /* srcCryptoMeta */
        start local 13 // com.microsoft.sqlserver.jdbc.CryptoMetadata srcCryptoMeta
        50: .line 3028
            aload 12 /* destCryptoMeta */
            ifnull 91
            aload 4 /* colValue */
            ifnull 91
        51: .line 3029
            aload 13 /* srcCryptoMeta */
            ifnull 53
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.srcColumnMetadata:Ljava/util/Map;
        52: .line 3030
            iload 2 /* srcColOrdinal */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            getfield com.microsoft.sqlserver.jdbc.CryptoMetadata.baseTypeInfo:Lcom/microsoft/sqlserver/jdbc/TypeInfo;
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSSType:()Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.getJDBCType:()Lcom/microsoft/sqlserver/jdbc/JDBCType;
            goto 54
      StackMap locals: com.microsoft.sqlserver.jdbc.CryptoMetadata
      StackMap stack:
        53: iload 8 /* srcJdbcType */
            invokestatic com.microsoft.sqlserver.jdbc.JDBCType.of:(I)Lcom/microsoft/sqlserver/jdbc/JDBCType;
        54: .line 3029
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.JDBCType
            astore 14 /* baseSrcJdbcType */
        start local 14 // com.microsoft.sqlserver.jdbc.JDBCType baseSrcJdbcType
        55: .line 3032
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.TIMESTAMP:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            aload 14 /* baseSrcJdbcType */
            if_acmpne 61
        56: .line 3033
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIME:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 9 /* destSSType */
            if_acmpne 59
        57: .line 3034
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.DATETIME:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            astore 14 /* baseSrcJdbcType */
        58: .line 3035
            goto 61
      StackMap locals: com.microsoft.sqlserver.jdbc.JDBCType
      StackMap stack:
        59: getstatic com.microsoft.sqlserver.jdbc.SSType.SMALLDATETIME:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 9 /* destSSType */
            if_acmpne 61
        60: .line 3036
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.SMALLDATETIME:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            astore 14 /* baseSrcJdbcType */
        61: .line 3040
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SSType.MONEY:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 9 /* destSSType */
            if_acmpne 62
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.DECIMAL:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            aload 14 /* baseSrcJdbcType */
            if_acmpeq 72
        62: .line 3041
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SSType.SMALLMONEY:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 9 /* destSSType */
            if_acmpne 63
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.DECIMAL:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            aload 14 /* baseSrcJdbcType */
            if_acmpeq 72
        63: .line 3042
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SSType.GUID:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 9 /* destSSType */
            if_acmpne 64
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.CHAR:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            aload 14 /* baseSrcJdbcType */
            if_acmpeq 72
        64: .line 3044
      StackMap locals:
      StackMap stack:
            aload 9 /* destSSType */
            invokestatic com.microsoft.sqlserver.jdbc.Util.isCharType:(Lcom/microsoft/sqlserver/jdbc/SSType;)Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 65
            iload 8 /* srcJdbcType */
            invokestatic com.microsoft.sqlserver.jdbc.Util.isCharType:(I)Z
            ifne 72
        65: .line 3045
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            instanceof com.microsoft.sqlserver.jdbc.SQLServerResultSet
            ifne 72
        66: .line 3047
            aload 14 /* baseSrcJdbcType */
            aload 9 /* destSSType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.normalizationCheck:(Lcom/microsoft/sqlserver/jdbc/SSType;)Z
            ifne 72
        67: .line 3048
            new java.text.MessageFormat
            dup
        68: .line 3049
            ldc "R_unsupportedConversionAE"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        69: .line 3048
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 15 /* form */
        start local 15 // java.text.MessageFormat form
        70: .line 3050
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 14 /* baseSrcJdbcType */
            aastore
            dup
            iconst_1
            aload 9 /* destSSType */
            aastore
            astore 16 /* msgArgs */
        start local 16 // java.lang.Object[] msgArgs
        71: .line 3051
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 0 /* this */
            aload 15 /* form */
            aload 16 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            iconst_0
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            athrow
        end local 16 // java.lang.Object[] msgArgs
        end local 15 // java.text.MessageFormat form
        72: .line 3055
      StackMap locals:
      StackMap stack:
            aload 14 /* baseSrcJdbcType */
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.DATE:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            if_acmpeq 75
            aload 14 /* baseSrcJdbcType */
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.TIMESTAMP:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            if_acmpeq 75
        73: .line 3056
            aload 14 /* baseSrcJdbcType */
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.TIME:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            if_acmpeq 75
            aload 14 /* baseSrcJdbcType */
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.DATETIMEOFFSET:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            if_acmpeq 75
        74: .line 3057
            aload 14 /* baseSrcJdbcType */
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.DATETIME:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            if_acmpeq 75
            aload 14 /* baseSrcJdbcType */
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.SMALLDATETIME:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            if_acmpne 79
        75: .line 3058
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* tdsWriter */
            aload 14 /* baseSrcJdbcType */
            aload 4 /* colValue */
            iload 2 /* srcColOrdinal */
        76: .line 3059
            aload 12 /* destCryptoMeta */
            getfield com.microsoft.sqlserver.jdbc.CryptoMetadata.baseTypeInfo:Lcom/microsoft/sqlserver/jdbc/TypeInfo;
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getScale:()I
        77: .line 3058
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.getEncryptedTemporalBytes:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;Lcom/microsoft/sqlserver/jdbc/JDBCType;Ljava/lang/Object;II)[B
            astore 4 /* colValue */
        78: .line 3060
            goto 91
        79: .line 3061
      StackMap locals:
      StackMap stack:
            aload 12 /* destCryptoMeta */
            invokevirtual com.microsoft.sqlserver.jdbc.CryptoMetadata.getBaseTypeInfo:()Lcom/microsoft/sqlserver/jdbc/TypeInfo;
            astore 15 /* destTypeInfo */
        start local 15 // com.microsoft.sqlserver.jdbc.TypeInfo destTypeInfo
        80: .line 3062
            aload 15 /* destTypeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSSType:()Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.getJDBCType:()Lcom/microsoft/sqlserver/jdbc/JDBCType;
            astore 16 /* destJdbcType */
        start local 16 // com.microsoft.sqlserver.jdbc.JDBCType destJdbcType
        81: .line 3071
            aload 16 /* destJdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.getIntValue:()I
            invokestatic com.microsoft.sqlserver.jdbc.Util.isBinaryType:(I)Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 85
            aload 4 /* colValue */
            instanceof byte[]
            ifeq 85
        82: .line 3073
            new java.text.MessageFormat
            dup
            ldc "R_InvalidDataForAE"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 17 /* form */
        start local 17 // java.text.MessageFormat form
        83: .line 3074
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 14 /* baseSrcJdbcType */
            aastore
            dup
            iconst_1
            aload 16 /* destJdbcType */
            aastore
            astore 18 /* msgArgs */
        start local 18 // java.lang.Object[] msgArgs
        84: .line 3075
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 0 /* this */
            aload 17 /* form */
            aload 18 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            iconst_0
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            athrow
        end local 18 // java.lang.Object[] msgArgs
        end local 17 // java.text.MessageFormat form
        85: .line 3078
      StackMap locals: com.microsoft.sqlserver.jdbc.TypeInfo com.microsoft.sqlserver.jdbc.JDBCType
      StackMap stack:
            aload 0 /* this */
            aload 16 /* destJdbcType */
            aload 4 /* colValue */
        86: .line 3079
            aload 14 /* baseSrcJdbcType */
            aload 15 /* destTypeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getPrecision:()I
            aload 15 /* destTypeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getScale:()I
        87: .line 3078
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.normalizedValue:(Lcom/microsoft/sqlserver/jdbc/JDBCType;Ljava/lang/Object;Lcom/microsoft/sqlserver/jdbc/JDBCType;II)[B
        88: .line 3079
            aload 12 /* destCryptoMeta */
        89: .line 3080
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
        90: .line 3078
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerSecurityUtility.encryptWithKey:([BLcom/microsoft/sqlserver/jdbc/CryptoMetadata;Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;)[B
            astore 4 /* colValue */
        end local 16 // com.microsoft.sqlserver.jdbc.JDBCType destJdbcType
        end local 15 // com.microsoft.sqlserver.jdbc.TypeInfo destTypeInfo
        end local 14 // com.microsoft.sqlserver.jdbc.JDBCType baseSrcJdbcType
        91: .line 3083
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* tdsWriter */
            iload 5 /* srcPrecision */
            iload 6 /* srcScale */
            iload 8 /* srcJdbcType */
            iload 11 /* srcNullable */
            iload 2 /* srcColOrdinal */
        92: .line 3084
            iload 3 /* destColOrdinal */
            iload 10 /* isStreaming */
            aload 4 /* colValue */
        93: .line 3083
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeColumnToTdsWriter:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;IIIZIIZLjava/lang/Object;)V
        94: .line 3085
            return
        end local 13 // com.microsoft.sqlserver.jdbc.CryptoMetadata srcCryptoMeta
        end local 12 // com.microsoft.sqlserver.jdbc.CryptoMetadata destCryptoMeta
        end local 11 // boolean srcNullable
        end local 10 // boolean isStreaming
        end local 9 // com.microsoft.sqlserver.jdbc.SSType destSSType
        end local 8 // int srcJdbcType
        end local 7 // int destPrecision
        end local 6 // int srcScale
        end local 5 // int srcPrecision
        end local 4 // java.lang.Object colValue
        end local 3 // int destColOrdinal
        end local 2 // int srcColOrdinal
        end local 1 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   95     0               this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0   95     1          tdsWriter  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   95     2      srcColOrdinal  I
            0   95     3     destColOrdinal  I
            0   95     4           colValue  Ljava/lang/Object;
            2   95     5       srcPrecision  I
            3   95     6           srcScale  I
            6   95     7      destPrecision  I
            4   95     8        srcJdbcType  I
            1   95     9         destSSType  Lcom/microsoft/sqlserver/jdbc/SSType;
           13   14    10        isStreaming  Z
           19   95    10        isStreaming  Z
            5   95    11        srcNullable  Z
           20   95    12     destCryptoMeta  Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
           42   49    13  baseDestPrecision  I
           43   49    14      baseDestScale  I
           45   49    15               form  Ljava/text/MessageFormat;
           46   49    16                src  Ljava/lang/String;
           47   49    17               dest  Ljava/lang/String;
           48   49    18            msgArgs  [Ljava/lang/Object;
           50   95    13      srcCryptoMeta  Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
           55   91    14    baseSrcJdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
           70   72    15               form  Ljava/text/MessageFormat;
           71   72    16            msgArgs  [Ljava/lang/Object;
           80   91    15       destTypeInfo  Lcom/microsoft/sqlserver/jdbc/TypeInfo;
           81   91    16       destJdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
           83   85    17               form  Ljava/text/MessageFormat;
           84   85    18            msgArgs  [Ljava/lang/Object;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                Name  Flags
      tdsWriter       
      srcColOrdinal   
      destColOrdinal  
      colValue        

  protected java.lang.Object getTemporalObjectFromCSVWithFormatter(java.lang.String, int, int, java.time.format.DateTimeFormatter);
    descriptor: (Ljava/lang/String;IILjava/time/format/DateTimeFormatter;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=17, args_size=5
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // java.lang.String valueStrUntrimmed
        start local 2 // int srcJdbcType
        start local 3 // int srcColOrdinal
        start local 4 // java.time.format.DateTimeFormatter dateTimeFormatter
         0: .line 3106
            aload 4 /* dateTimeFormatter */
            aload 1 /* valueStrUntrimmed */
            invokevirtual java.time.format.DateTimeFormatter.parse:(Ljava/lang/CharSequence;)Ljava/time/temporal/TemporalAccessor;
            astore 5 /* ta */
        start local 5 // java.time.temporal.TemporalAccessor ta
         1: .line 3109
            iconst_0
            dup
            istore 13 /* taOffsetSec */
        start local 13 // int taOffsetSec
         2: dup
            istore 12 /* taNano */
        start local 12 // int taNano
         3: dup
            istore 11 /* taDay */
        start local 11 // int taDay
         4: dup
            istore 10 /* taMonth */
        start local 10 // int taMonth
         5: dup
            istore 9 /* taYear */
        start local 9 // int taYear
         6: dup
            istore 8 /* taSec */
        start local 8 // int taSec
         7: dup
            istore 7 /* taMin */
        start local 7 // int taMin
         8: istore 6 /* taHour */
        start local 6 // int taHour
         9: .line 3110
            aload 5 /* ta */
            getstatic java.time.temporal.ChronoField.NANO_OF_SECOND:Ljava/time/temporal/ChronoField;
            invokeinterface java.time.temporal.TemporalAccessor.isSupported:(Ljava/time/temporal/TemporalField;)Z
            ifeq 11
        10: .line 3111
            aload 5 /* ta */
            getstatic java.time.temporal.ChronoField.NANO_OF_SECOND:Ljava/time/temporal/ChronoField;
            invokeinterface java.time.temporal.TemporalAccessor.get:(Ljava/time/temporal/TemporalField;)I
            istore 12 /* taNano */
        11: .line 3112
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy java.lang.String int int java.time.format.DateTimeFormatter java.time.temporal.TemporalAccessor int int int int int int int int
      StackMap stack:
            aload 5 /* ta */
            getstatic java.time.temporal.ChronoField.OFFSET_SECONDS:Ljava/time/temporal/ChronoField;
            invokeinterface java.time.temporal.TemporalAccessor.isSupported:(Ljava/time/temporal/TemporalField;)Z
            ifeq 13
        12: .line 3113
            aload 5 /* ta */
            getstatic java.time.temporal.ChronoField.OFFSET_SECONDS:Ljava/time/temporal/ChronoField;
            invokeinterface java.time.temporal.TemporalAccessor.get:(Ljava/time/temporal/TemporalField;)I
            istore 13 /* taOffsetSec */
        13: .line 3114
      StackMap locals:
      StackMap stack:
            aload 5 /* ta */
            getstatic java.time.temporal.ChronoField.HOUR_OF_DAY:Ljava/time/temporal/ChronoField;
            invokeinterface java.time.temporal.TemporalAccessor.isSupported:(Ljava/time/temporal/TemporalField;)Z
            ifeq 15
        14: .line 3115
            aload 5 /* ta */
            getstatic java.time.temporal.ChronoField.HOUR_OF_DAY:Ljava/time/temporal/ChronoField;
            invokeinterface java.time.temporal.TemporalAccessor.get:(Ljava/time/temporal/TemporalField;)I
            istore 6 /* taHour */
        15: .line 3116
      StackMap locals:
      StackMap stack:
            aload 5 /* ta */
            getstatic java.time.temporal.ChronoField.MINUTE_OF_HOUR:Ljava/time/temporal/ChronoField;
            invokeinterface java.time.temporal.TemporalAccessor.isSupported:(Ljava/time/temporal/TemporalField;)Z
            ifeq 17
        16: .line 3117
            aload 5 /* ta */
            getstatic java.time.temporal.ChronoField.MINUTE_OF_HOUR:Ljava/time/temporal/ChronoField;
            invokeinterface java.time.temporal.TemporalAccessor.get:(Ljava/time/temporal/TemporalField;)I
            istore 7 /* taMin */
        17: .line 3118
      StackMap locals:
      StackMap stack:
            aload 5 /* ta */
            getstatic java.time.temporal.ChronoField.SECOND_OF_MINUTE:Ljava/time/temporal/ChronoField;
            invokeinterface java.time.temporal.TemporalAccessor.isSupported:(Ljava/time/temporal/TemporalField;)Z
            ifeq 19
        18: .line 3119
            aload 5 /* ta */
            getstatic java.time.temporal.ChronoField.SECOND_OF_MINUTE:Ljava/time/temporal/ChronoField;
            invokeinterface java.time.temporal.TemporalAccessor.get:(Ljava/time/temporal/TemporalField;)I
            istore 8 /* taSec */
        19: .line 3120
      StackMap locals:
      StackMap stack:
            aload 5 /* ta */
            getstatic java.time.temporal.ChronoField.DAY_OF_MONTH:Ljava/time/temporal/ChronoField;
            invokeinterface java.time.temporal.TemporalAccessor.isSupported:(Ljava/time/temporal/TemporalField;)Z
            ifeq 21
        20: .line 3121
            aload 5 /* ta */
            getstatic java.time.temporal.ChronoField.DAY_OF_MONTH:Ljava/time/temporal/ChronoField;
            invokeinterface java.time.temporal.TemporalAccessor.get:(Ljava/time/temporal/TemporalField;)I
            istore 11 /* taDay */
        21: .line 3122
      StackMap locals:
      StackMap stack:
            aload 5 /* ta */
            getstatic java.time.temporal.ChronoField.MONTH_OF_YEAR:Ljava/time/temporal/ChronoField;
            invokeinterface java.time.temporal.TemporalAccessor.isSupported:(Ljava/time/temporal/TemporalField;)Z
            ifeq 23
        22: .line 3123
            aload 5 /* ta */
            getstatic java.time.temporal.ChronoField.MONTH_OF_YEAR:Ljava/time/temporal/ChronoField;
            invokeinterface java.time.temporal.TemporalAccessor.get:(Ljava/time/temporal/TemporalField;)I
            istore 10 /* taMonth */
        23: .line 3124
      StackMap locals:
      StackMap stack:
            aload 5 /* ta */
            getstatic java.time.temporal.ChronoField.YEAR:Ljava/time/temporal/ChronoField;
            invokeinterface java.time.temporal.TemporalAccessor.isSupported:(Ljava/time/temporal/TemporalField;)Z
            ifeq 25
        24: .line 3125
            aload 5 /* ta */
            getstatic java.time.temporal.ChronoField.YEAR:Ljava/time/temporal/ChronoField;
            invokeinterface java.time.temporal.TemporalAccessor.get:(Ljava/time/temporal/TemporalField;)I
            istore 9 /* taYear */
        25: .line 3127
      StackMap locals:
      StackMap stack:
            new java.util.GregorianCalendar
            dup
            new java.util.SimpleTimeZone
            dup
            iload 13 /* taOffsetSec */
            sipush 1000
            imul
            ldc ""
            invokespecial java.util.SimpleTimeZone.<init>:(ILjava/lang/String;)V
            invokespecial java.util.GregorianCalendar.<init>:(Ljava/util/TimeZone;)V
            astore 14 /* cal */
        start local 14 // java.util.Calendar cal
        26: .line 3128
            aload 14 /* cal */
            invokevirtual java.util.Calendar.clear:()V
        27: .line 3129
            aload 14 /* cal */
            bipush 11
            iload 6 /* taHour */
            invokevirtual java.util.Calendar.set:(II)V
        28: .line 3130
            aload 14 /* cal */
            bipush 12
            iload 7 /* taMin */
            invokevirtual java.util.Calendar.set:(II)V
        29: .line 3131
            aload 14 /* cal */
            bipush 13
            iload 8 /* taSec */
            invokevirtual java.util.Calendar.set:(II)V
        30: .line 3132
            aload 14 /* cal */
            iconst_5
            iload 11 /* taDay */
            invokevirtual java.util.Calendar.set:(II)V
        31: .line 3133
            aload 14 /* cal */
            iconst_2
            iload 10 /* taMonth */
            iconst_1
            isub
            invokevirtual java.util.Calendar.set:(II)V
        32: .line 3134
            aload 14 /* cal */
            iconst_1
            iload 9 /* taYear */
            invokevirtual java.util.Calendar.set:(II)V
        33: .line 3135
            iload 12 /* taNano */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            istore 15 /* fractionalSecondsLength */
        start local 15 // int fractionalSecondsLength
        34: .line 3136
            iconst_0
            istore 16 /* i */
        start local 16 // int i
        35: goto 38
        36: .line 3137
      StackMap locals: java.util.Calendar int int
      StackMap stack:
            iload 12 /* taNano */
            bipush 10
            imul
            istore 12 /* taNano */
        37: .line 3136
            iinc 16 /* i */ 1
      StackMap locals:
      StackMap stack:
        38: iload 16 /* i */
            bipush 9
            iload 15 /* fractionalSecondsLength */
            isub
            if_icmplt 36
        end local 16 // int i
        39: .line 3138
            new java.sql.Timestamp
            dup
            aload 14 /* cal */
            invokevirtual java.util.Calendar.getTimeInMillis:()J
            invokespecial java.sql.Timestamp.<init>:(J)V
            astore 16 /* ts */
        start local 16 // java.sql.Timestamp ts
        40: .line 3139
            aload 16 /* ts */
            iload 12 /* taNano */
            invokevirtual java.sql.Timestamp.setNanos:(I)V
        41: .line 3141
            iload 2 /* srcJdbcType */
            lookupswitch { // 4
                 -155: 51
                   91: 49
                   92: 44
                   93: 42
              default: 53
          }
        42: .line 3143
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy java.lang.String int int java.time.format.DateTimeFormatter java.time.temporal.TemporalAccessor int int int int int int int int java.util.Calendar int java.sql.Timestamp
      StackMap stack:
            aload 16 /* ts */
        43: areturn
        44: .line 3146
      StackMap locals:
      StackMap stack:
            aload 14 /* cal */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.baseYear:()I
            iconst_0
            iconst_1
            invokevirtual java.util.Calendar.set:(III)V
        45: .line 3147
            new java.sql.Timestamp
            dup
            aload 14 /* cal */
            invokevirtual java.util.Calendar.getTimeInMillis:()J
            invokespecial java.sql.Timestamp.<init>:(J)V
            astore 16 /* ts */
        46: .line 3148
            aload 16 /* ts */
            iload 12 /* taNano */
            invokevirtual java.sql.Timestamp.setNanos:(I)V
        47: .line 3149
            new java.sql.Timestamp
            dup
            aload 16 /* ts */
            invokevirtual java.sql.Timestamp.getTime:()J
            invokespecial java.sql.Timestamp.<init>:(J)V
        48: areturn
        49: .line 3151
      StackMap locals:
      StackMap stack:
            new java.sql.Date
            dup
            aload 16 /* ts */
            invokevirtual java.sql.Timestamp.getTime:()J
            invokespecial java.sql.Date.<init>:(J)V
        50: areturn
        51: .line 3153
      StackMap locals:
      StackMap stack:
            aload 16 /* ts */
            iload 13 /* taOffsetSec */
            bipush 60
            idiv
            invokestatic microsoft.sql.DateTimeOffset.valueOf:(Ljava/sql/Timestamp;I)Lmicrosoft/sql/DateTimeOffset;
        52: areturn
        53: .line 3155
      StackMap locals:
      StackMap stack:
            aload 1 /* valueStrUntrimmed */
        54: areturn
        end local 16 // java.sql.Timestamp ts
        end local 15 // int fractionalSecondsLength
        end local 14 // java.util.Calendar cal
        end local 13 // int taOffsetSec
        end local 12 // int taNano
        end local 11 // int taDay
        end local 10 // int taMonth
        end local 9 // int taYear
        end local 8 // int taSec
        end local 7 // int taMin
        end local 6 // int taHour
        end local 5 // java.time.temporal.TemporalAccessor ta
        55: .line 3157
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy java.lang.String int int java.time.format.DateTimeFormatter
      StackMap stack: java.lang.RuntimeException
            pop
        56: .line 3158
            new java.text.MessageFormat
            dup
            ldc "R_ParsingError"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        start local 5 // java.text.MessageFormat form
        57: .line 3159
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* srcJdbcType */
            invokestatic com.microsoft.sqlserver.jdbc.JDBCType.of:(I)Lcom/microsoft/sqlserver/jdbc/JDBCType;
            aastore
            astore 6 /* msgArgs */
        start local 6 // java.lang.Object[] msgArgs
        58: .line 3160
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 0 /* this */
            aload 5 /* form */
            aload 6 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            iconst_0
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            athrow
        end local 6 // java.lang.Object[] msgArgs
        end local 5 // java.text.MessageFormat form
        end local 4 // java.time.format.DateTimeFormatter dateTimeFormatter
        end local 3 // int srcColOrdinal
        end local 2 // int srcJdbcType
        end local 1 // java.lang.String valueStrUntrimmed
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   59     0                     this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0   59     1        valueStrUntrimmed  Ljava/lang/String;
            0   59     2              srcJdbcType  I
            0   59     3            srcColOrdinal  I
            0   59     4        dateTimeFormatter  Ljava/time/format/DateTimeFormatter;
            1   55     5                       ta  Ljava/time/temporal/TemporalAccessor;
            9   55     6                   taHour  I
            8   55     7                    taMin  I
            7   55     8                    taSec  I
            6   55     9                   taYear  I
            5   55    10                  taMonth  I
            4   55    11                    taDay  I
            3   55    12                   taNano  I
            2   55    13              taOffsetSec  I
           26   55    14                      cal  Ljava/util/Calendar;
           34   55    15  fractionalSecondsLength  I
           35   39    16                        i  I
           40   55    16                       ts  Ljava/sql/Timestamp;
           57   59     5                     form  Ljava/text/MessageFormat;
           58   59     6                  msgArgs  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
           0    43      55  Class java.time.DateTimeException
          44    48      55  Class java.time.DateTimeException
          49    50      55  Class java.time.DateTimeException
          51    52      55  Class java.time.DateTimeException
          53    54      55  Class java.time.DateTimeException
           0    43      55  Class java.lang.ArithmeticException
          44    48      55  Class java.lang.ArithmeticException
          49    50      55  Class java.lang.ArithmeticException
          51    52      55  Class java.lang.ArithmeticException
          53    54      55  Class java.lang.ArithmeticException
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                   Name  Flags
      valueStrUntrimmed  
      srcJdbcType        
      srcColOrdinal      
      dateTimeFormatter  

  private java.lang.Object getTemporalObjectFromCSV(java.lang.Object, int, int);
    descriptor: (Ljava/lang/Object;II)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=24, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // java.lang.Object value
        start local 2 // int srcJdbcType
        start local 3 // int srcColOrdinal
         0: .line 3167
            sipush 2013
            iload 2 /* srcJdbcType */
            if_icmpne 4
         1: .line 3168
            new java.text.MessageFormat
            dup
            ldc "R_UnsupportedDataTypeAE"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form1 */
        start local 4 // java.text.MessageFormat form1
         2: .line 3169
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "TIME_WITH_TIMEZONE"
            aastore
            astore 5 /* msgArgs1 */
        start local 5 // java.lang.Object[] msgArgs1
         3: .line 3170
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 0 /* this */
            aload 4 /* form1 */
            aload 5 /* msgArgs1 */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            iconst_0
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            athrow
        end local 5 // java.lang.Object[] msgArgs1
        end local 4 // java.text.MessageFormat form1
         4: .line 3171
      StackMap locals:
      StackMap stack:
            sipush 2014
            iload 2 /* srcJdbcType */
            if_icmpne 8
         5: .line 3172
            new java.text.MessageFormat
            dup
            ldc "R_UnsupportedDataTypeAE"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form2 */
        start local 4 // java.text.MessageFormat form2
         6: .line 3173
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "TIMESTAMP_WITH_TIMEZONE"
            aastore
            astore 5 /* msgArgs2 */
        start local 5 // java.lang.Object[] msgArgs2
         7: .line 3174
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 0 /* this */
            aload 4 /* form2 */
            aload 5 /* msgArgs2 */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            iconst_0
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            athrow
        end local 5 // java.lang.Object[] msgArgs2
        end local 4 // java.text.MessageFormat form2
         8: .line 3177
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* valueStr */
        start local 4 // java.lang.String valueStr
         9: .line 3178
            aconst_null
            astore 5 /* valueStrUntrimmed */
        start local 5 // java.lang.String valueStrUntrimmed
        10: .line 3180
            aload 1 /* value */
            ifnull 13
            aload 1 /* value */
            instanceof java.lang.String
            ifeq 13
        11: .line 3181
            aload 1 /* value */
            checkcast java.lang.String
            astore 5 /* valueStrUntrimmed */
        12: .line 3182
            aload 5 /* valueStrUntrimmed */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 4 /* valueStr */
        13: .line 3186
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 4 /* valueStr */
            ifnonnull 16
        14: .line 3187
            iload 2 /* srcJdbcType */
            lookupswitch { // 4
                 -155: 15
                   91: 15
                   92: 15
                   93: 15
              default: 16
          }
        15: .line 3192
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        16: .line 3202
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.srcColumnMetadata:Ljava/util/Map;
            iload 3 /* srcColOrdinal */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.dateTimeFormatter:Ljava/time/format/DateTimeFormatter;
            astore 7 /* dateTimeFormatter */
        start local 7 // java.time.format.DateTimeFormatter dateTimeFormatter
        17: .line 3203
            aload 7 /* dateTimeFormatter */
            ifnull 21
        18: .line 3204
            aload 0 /* this */
            aload 5 /* valueStrUntrimmed */
            iload 2 /* srcJdbcType */
            iload 3 /* srcColOrdinal */
        19: .line 3205
            aload 7 /* dateTimeFormatter */
        20: .line 3204
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.getTemporalObjectFromCSVWithFormatter:(Ljava/lang/String;IILjava/time/format/DateTimeFormatter;)Ljava/lang/Object;
            areturn
        21: .line 3210
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy java.lang.Object int int java.lang.String java.lang.String top java.time.format.DateTimeFormatter
      StackMap stack:
            iload 2 /* srcJdbcType */
            lookupswitch { // 4
                 -155: 30
                   91: 28
                   92: 24
                   93: 22
              default: 101
          }
        22: .line 3213
      StackMap locals:
      StackMap stack:
            aload 4 /* valueStr */
            invokestatic java.sql.Timestamp.valueOf:(Ljava/lang/String;)Ljava/sql/Timestamp;
        23: areturn
        24: .line 3216
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.connection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.baseYear:()I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "-01-01 "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* valueStr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 8 /* time */
        start local 8 // java.lang.String time
        25: .line 3217
            aload 8 /* time */
            invokestatic java.sql.Timestamp.valueOf:(Ljava/lang/String;)Ljava/sql/Timestamp;
            astore 9 /* ts */
        start local 9 // java.sql.Timestamp ts
        26: .line 3218
            aload 9 /* ts */
        27: areturn
        end local 9 // java.sql.Timestamp ts
        end local 8 // java.lang.String time
        28: .line 3221
      StackMap locals:
      StackMap stack:
            aload 4 /* valueStr */
            invokestatic java.sql.Date.valueOf:(Ljava/lang/String;)Ljava/sql/Date;
        29: areturn
        30: .line 3224
      StackMap locals:
      StackMap stack:
            aload 4 /* valueStr */
            bipush 45
            iconst_0
            invokevirtual java.lang.String.indexOf:(II)I
            istore 8 /* endIndx */
        start local 8 // int endIndx
        31: .line 3225
            aload 4 /* valueStr */
            iconst_0
            iload 8 /* endIndx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 9 /* year */
        start local 9 // int year
        32: .line 3227
            iinc 8 /* endIndx */ 1
            iload 8 /* endIndx */
            istore 10 /* startIndx */
        start local 10 // int startIndx
        33: .line 3228
            aload 4 /* valueStr */
            bipush 45
            iload 10 /* startIndx */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 8 /* endIndx */
        34: .line 3229
            aload 4 /* valueStr */
            iload 10 /* startIndx */
            iload 8 /* endIndx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 11 /* month */
        start local 11 // int month
        35: .line 3231
            iinc 8 /* endIndx */ 1
            iload 8 /* endIndx */
            istore 10 /* startIndx */
        36: .line 3232
            aload 4 /* valueStr */
            bipush 32
            iload 10 /* startIndx */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 8 /* endIndx */
        37: .line 3233
            aload 4 /* valueStr */
            iload 10 /* startIndx */
            iload 8 /* endIndx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 12 /* day */
        start local 12 // int day
        38: .line 3235
            iinc 8 /* endIndx */ 1
            iload 8 /* endIndx */
            istore 10 /* startIndx */
        39: .line 3236
            aload 4 /* valueStr */
            bipush 58
            iload 10 /* startIndx */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 8 /* endIndx */
        40: .line 3237
            aload 4 /* valueStr */
            iload 10 /* startIndx */
            iload 8 /* endIndx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 13 /* hour */
        start local 13 // int hour
        41: .line 3239
            iinc 8 /* endIndx */ 1
            iload 8 /* endIndx */
            istore 10 /* startIndx */
        42: .line 3240
            aload 4 /* valueStr */
            bipush 58
            iload 10 /* startIndx */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 8 /* endIndx */
        43: .line 3241
            aload 4 /* valueStr */
            iload 10 /* startIndx */
            iload 8 /* endIndx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 14 /* minute */
        start local 14 // int minute
        44: .line 3243
            iinc 8 /* endIndx */ 1
            iload 8 /* endIndx */
            istore 10 /* startIndx */
        45: .line 3244
            aload 4 /* valueStr */
            bipush 46
            iload 10 /* startIndx */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 8 /* endIndx */
        46: .line 3245
            iconst_0
            istore 18 /* totalOffset */
        start local 18 // int totalOffset
        47: iconst_0
            istore 19 /* fractionalSeconds */
        start local 19 // int fractionalSeconds
        48: .line 3246
            iconst_0
            istore 20 /* isNegativeOffset */
        start local 20 // boolean isNegativeOffset
        49: .line 3247
            iconst_0
            istore 21 /* hasTimeZone */
        start local 21 // boolean hasTimeZone
        50: .line 3248
            iconst_0
            istore 22 /* fractionalSecondsLength */
        start local 22 // int fractionalSecondsLength
        51: .line 3249
            iconst_m1
            iload 8 /* endIndx */
            if_icmpeq 63
        52: .line 3251
            aload 4 /* valueStr */
            iload 10 /* startIndx */
            iload 8 /* endIndx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 15 /* seconds */
        start local 15 // int seconds
        53: .line 3253
            iinc 8 /* endIndx */ 1
            iload 8 /* endIndx */
            istore 10 /* startIndx */
        54: .line 3254
            aload 4 /* valueStr */
            bipush 32
            iload 10 /* startIndx */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 8 /* endIndx */
        55: .line 3255
            iconst_m1
            iload 8 /* endIndx */
            if_icmpeq 60
        56: .line 3257
            aload 4 /* valueStr */
            iload 10 /* startIndx */
            iload 8 /* endIndx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 19 /* fractionalSeconds */
        57: .line 3258
            iload 8 /* endIndx */
            iload 10 /* startIndx */
            isub
            istore 22 /* fractionalSecondsLength */
        58: .line 3259
            iconst_1
            istore 21 /* hasTimeZone */
        59: .line 3260
            goto 70
        60: .line 3262
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy java.lang.Object int int java.lang.String java.lang.String top java.time.format.DateTimeFormatter int int int int int int int int top top int int int int int
      StackMap stack:
            aload 4 /* valueStr */
            iload 10 /* startIndx */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 19 /* fractionalSeconds */
        61: .line 3263
            aload 4 /* valueStr */
            invokevirtual java.lang.String.length:()I
            iload 10 /* startIndx */
            isub
            istore 22 /* fractionalSecondsLength */
        62: .line 3265
            goto 70
        end local 15 // int seconds
        63: .line 3266
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy java.lang.Object int int java.lang.String java.lang.String top java.time.format.DateTimeFormatter int int int int int int int top top top int int int int int
      StackMap stack:
            aload 4 /* valueStr */
            bipush 32
            iload 10 /* startIndx */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 8 /* endIndx */
        64: .line 3267
            iconst_m1
            iload 8 /* endIndx */
            if_icmpeq 68
        65: .line 3268
            iconst_1
            istore 21 /* hasTimeZone */
        66: .line 3269
            aload 4 /* valueStr */
            iload 10 /* startIndx */
            iload 8 /* endIndx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 15 /* seconds */
        start local 15 // int seconds
        67: .line 3270
            goto 70
        end local 15 // int seconds
        68: .line 3271
      StackMap locals:
      StackMap stack:
            aload 4 /* valueStr */
            iload 10 /* startIndx */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 15 /* seconds */
        start local 15 // int seconds
        69: .line 3272
            iinc 8 /* endIndx */ 1
        70: .line 3275
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy java.lang.Object int int java.lang.String java.lang.String top java.time.format.DateTimeFormatter int int int int int int int int top top int int int int int
      StackMap stack:
            iload 21 /* hasTimeZone */
            ifeq 84
        71: .line 3276
            iinc 8 /* endIndx */ 1
            iload 8 /* endIndx */
            istore 10 /* startIndx */
        72: .line 3277
            bipush 43
            aload 4 /* valueStr */
            iload 10 /* startIndx */
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpne 74
        73: .line 3278
            iinc 10 /* startIndx */ 1
            goto 77
        74: .line 3279
      StackMap locals:
      StackMap stack:
            bipush 45
            aload 4 /* valueStr */
            iload 10 /* startIndx */
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpne 77
        75: .line 3280
            iconst_1
            istore 20 /* isNegativeOffset */
        76: .line 3281
            iinc 10 /* startIndx */ 1
        77: .line 3283
      StackMap locals:
      StackMap stack:
            aload 4 /* valueStr */
            bipush 58
            iload 10 /* startIndx */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 8 /* endIndx */
        78: .line 3285
            aload 4 /* valueStr */
            iload 10 /* startIndx */
            iload 8 /* endIndx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 16 /* offsethour */
        start local 16 // int offsethour
        79: .line 3286
            iinc 8 /* endIndx */ 1
            iload 8 /* endIndx */
            istore 10 /* startIndx */
        80: .line 3287
            aload 4 /* valueStr */
            iload 10 /* startIndx */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 17 /* offsetMinute */
        start local 17 // int offsetMinute
        81: .line 3288
            iload 16 /* offsethour */
            bipush 60
            imul
            iload 17 /* offsetMinute */
            iadd
            istore 18 /* totalOffset */
        82: .line 3289
            iload 20 /* isNegativeOffset */
            ifeq 84
        83: .line 3290
            iload 18 /* totalOffset */
            ineg
            istore 18 /* totalOffset */
        end local 17 // int offsetMinute
        end local 16 // int offsethour
        84: .line 3292
      StackMap locals:
      StackMap stack:
            new java.util.GregorianCalendar
            dup
            new java.util.SimpleTimeZone
            dup
            iload 18 /* totalOffset */
            bipush 60
            imul
            sipush 1000
            imul
            ldc ""
            invokespecial java.util.SimpleTimeZone.<init>:(ILjava/lang/String;)V
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokespecial java.util.GregorianCalendar.<init>:(Ljava/util/TimeZone;Ljava/util/Locale;)V
            astore 6 /* cal */
        start local 6 // java.util.Calendar cal
        85: .line 3293
            aload 6 /* cal */
            invokevirtual java.util.Calendar.clear:()V
        86: .line 3294
            aload 6 /* cal */
            bipush 11
            iload 13 /* hour */
            invokevirtual java.util.Calendar.set:(II)V
        87: .line 3295
            aload 6 /* cal */
            bipush 12
            iload 14 /* minute */
            invokevirtual java.util.Calendar.set:(II)V
        88: .line 3296
            aload 6 /* cal */
            bipush 13
            iload 15 /* seconds */
            invokevirtual java.util.Calendar.set:(II)V
        89: .line 3297
            aload 6 /* cal */
            iconst_5
            iload 12 /* day */
            invokevirtual java.util.Calendar.set:(II)V
        90: .line 3298
            aload 6 /* cal */
            iconst_2
            iload 11 /* month */
            iconst_1
            isub
            invokevirtual java.util.Calendar.set:(II)V
        91: .line 3299
            aload 6 /* cal */
            iconst_1
            iload 9 /* year */
            invokevirtual java.util.Calendar.set:(II)V
        92: .line 3300
            iconst_0
            istore 23 /* i */
        start local 23 // int i
        93: goto 96
        94: .line 3301
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy java.lang.Object int int java.lang.String java.lang.String java.util.Calendar java.time.format.DateTimeFormatter int int int int int int int int top top int int int int int int
      StackMap stack:
            iload 19 /* fractionalSeconds */
            bipush 10
            imul
            istore 19 /* fractionalSeconds */
        95: .line 3300
            iinc 23 /* i */ 1
      StackMap locals:
      StackMap stack:
        96: iload 23 /* i */
            bipush 9
            iload 22 /* fractionalSecondsLength */
            isub
            if_icmplt 94
        end local 23 // int i
        97: .line 3303
            new java.sql.Timestamp
            dup
            aload 6 /* cal */
            invokevirtual java.util.Calendar.getTimeInMillis:()J
            invokespecial java.sql.Timestamp.<init>:(J)V
            astore 23 /* ts */
        start local 23 // java.sql.Timestamp ts
        98: .line 3304
            aload 23 /* ts */
            iload 19 /* fractionalSeconds */
            invokevirtual java.sql.Timestamp.setNanos:(I)V
        99: .line 3305
            aload 23 /* ts */
            iload 18 /* totalOffset */
            invokestatic microsoft.sql.DateTimeOffset.valueOf:(Ljava/sql/Timestamp;I)Lmicrosoft/sql/DateTimeOffset;
       100: areturn
        end local 23 // java.sql.Timestamp ts
        end local 22 // int fractionalSecondsLength
        end local 21 // boolean hasTimeZone
        end local 20 // boolean isNegativeOffset
        end local 19 // int fractionalSeconds
        end local 18 // int totalOffset
        end local 15 // int seconds
        end local 14 // int minute
        end local 13 // int hour
        end local 12 // int day
        end local 11 // int month
        end local 10 // int startIndx
        end local 9 // int year
        end local 8 // int endIndx
        end local 6 // java.util.Calendar cal
       101: .line 3309
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy java.lang.Object int int java.lang.String java.lang.String top java.time.format.DateTimeFormatter
      StackMap stack:
            goto 114
      StackMap locals:
      StackMap stack: java.lang.IndexOutOfBoundsException
       102: pop
       103: .line 3310
            new java.text.MessageFormat
            dup
            ldc "R_ParsingError"
            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
       104: .line 3311
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* srcJdbcType */
            invokestatic com.microsoft.sqlserver.jdbc.JDBCType.of:(I)Lcom/microsoft/sqlserver/jdbc/JDBCType;
            aastore
            astore 9 /* msgArgs */
        start local 9 // java.lang.Object[] msgArgs
       105: .line 3312
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 0 /* this */
            aload 8 /* form */
            aload 9 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            iconst_0
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            athrow
        end local 9 // java.lang.Object[] msgArgs
        end local 8 // java.text.MessageFormat form
       106: .line 3313
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            pop
       107: .line 3314
            new java.text.MessageFormat
            dup
            ldc "R_ParsingError"
            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
       108: .line 3315
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* srcJdbcType */
            invokestatic com.microsoft.sqlserver.jdbc.JDBCType.of:(I)Lcom/microsoft/sqlserver/jdbc/JDBCType;
            aastore
            astore 9 /* msgArgs */
        start local 9 // java.lang.Object[] msgArgs
       109: .line 3316
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 0 /* this */
            aload 8 /* form */
            aload 9 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            iconst_0
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            athrow
        end local 9 // java.lang.Object[] msgArgs
        end local 8 // java.text.MessageFormat form
       110: .line 3317
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            pop
       111: .line 3318
            new java.text.MessageFormat
            dup
            ldc "R_ParsingError"
            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
       112: .line 3319
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* srcJdbcType */
            invokestatic com.microsoft.sqlserver.jdbc.JDBCType.of:(I)Lcom/microsoft/sqlserver/jdbc/JDBCType;
            aastore
            astore 9 /* msgArgs */
        start local 9 // java.lang.Object[] msgArgs
       113: .line 3320
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 0 /* this */
            aload 8 /* form */
            aload 9 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            iconst_0
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            athrow
        end local 9 // java.lang.Object[] msgArgs
        end local 8 // java.text.MessageFormat form
       114: .line 3323
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            areturn
        end local 7 // java.time.format.DateTimeFormatter dateTimeFormatter
        end local 5 // java.lang.String valueStrUntrimmed
        end local 4 // java.lang.String valueStr
        end local 3 // int srcColOrdinal
        end local 2 // int srcJdbcType
        end local 1 // java.lang.Object value
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0  115     0                     this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0  115     1                    value  Ljava/lang/Object;
            0  115     2              srcJdbcType  I
            0  115     3            srcColOrdinal  I
            2    4     4                    form1  Ljava/text/MessageFormat;
            3    4     5                 msgArgs1  [Ljava/lang/Object;
            6    8     4                    form2  Ljava/text/MessageFormat;
            7    8     5                 msgArgs2  [Ljava/lang/Object;
            9  115     4                 valueStr  Ljava/lang/String;
           10  115     5        valueStrUntrimmed  Ljava/lang/String;
           85  101     6                      cal  Ljava/util/Calendar;
           17  115     7        dateTimeFormatter  Ljava/time/format/DateTimeFormatter;
           25   28     8                     time  Ljava/lang/String;
           26   28     9                       ts  Ljava/sql/Timestamp;
           31  101     8                  endIndx  I
           32  101     9                     year  I
           33  101    10                startIndx  I
           35  101    11                    month  I
           38  101    12                      day  I
           41  101    13                     hour  I
           44  101    14                   minute  I
           53   63    15                  seconds  I
           67   68    15                  seconds  I
           69  101    15                  seconds  I
           79   84    16               offsethour  I
           81   84    17             offsetMinute  I
           47  101    18              totalOffset  I
           48  101    19        fractionalSeconds  I
           49  101    20         isNegativeOffset  Z
           50  101    21              hasTimeZone  Z
           51  101    22  fractionalSecondsLength  I
           93   97    23                        i  I
           98  101    23                       ts  Ljava/sql/Timestamp;
          104  106     8                     form  Ljava/text/MessageFormat;
          105  106     9                  msgArgs  [Ljava/lang/Object;
          108  110     8                     form  Ljava/text/MessageFormat;
          109  110     9                  msgArgs  [Ljava/lang/Object;
          112  114     8                     form  Ljava/text/MessageFormat;
          113  114     9                  msgArgs  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
          21    23     102  Class java.lang.IndexOutOfBoundsException
          24    27     102  Class java.lang.IndexOutOfBoundsException
          28    29     102  Class java.lang.IndexOutOfBoundsException
          30   100     102  Class java.lang.IndexOutOfBoundsException
          21    23     106  Class java.lang.NumberFormatException
          24    27     106  Class java.lang.NumberFormatException
          28    29     106  Class java.lang.NumberFormatException
          30   100     106  Class java.lang.NumberFormatException
          21    23     110  Class java.lang.IllegalArgumentException
          24    27     110  Class java.lang.IllegalArgumentException
          28    29     110  Class java.lang.IllegalArgumentException
          30   100     110  Class java.lang.IllegalArgumentException
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
               Name  Flags
      value          
      srcJdbcType    
      srcColOrdinal  

  private byte[] getEncryptedTemporalBytes(com.microsoft.sqlserver.jdbc.TDSWriter, com.microsoft.sqlserver.jdbc.JDBCType, java.lang.Object, int, int);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/TDSWriter;Lcom/microsoft/sqlserver/jdbc/JDBCType;Ljava/lang/Object;II)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=14, args_size=6
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
        start local 2 // com.microsoft.sqlserver.jdbc.JDBCType srcTemporalJdbcType
        start local 3 // java.lang.Object colValue
        start local 4 // int srcColOrdinal
        start local 5 // int scale
         0: .line 3331
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$JDBCType:()[I
            aload 2 /* srcTemporalJdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            iaload
            lookupswitch { // 6
                   11: 1
                   12: 37
                   34: 9
                   36: 21
                   44: 30
                   45: 30
              default: 48
          }
         1: .line 3333
      StackMap locals:
      StackMap stack:
            new java.util.GregorianCalendar
            dup
            invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokespecial java.util.GregorianCalendar.<init>:(Ljava/util/TimeZone;Ljava/util/Locale;)V
            astore 8 /* calendar */
        start local 8 // java.util.GregorianCalendar calendar
         2: .line 3334
            aload 8 /* calendar */
            iconst_1
            invokevirtual java.util.GregorianCalendar.setLenient:(Z)V
         3: .line 3335
            aload 8 /* calendar */
            invokevirtual java.util.GregorianCalendar.clear:()V
         4: .line 3336
            aload 8 /* calendar */
            aload 3 /* colValue */
            checkcast java.sql.Date
            invokevirtual java.sql.Date.getTime:()J
            invokevirtual java.util.GregorianCalendar.setTimeInMillis:(J)V
         5: .line 3337
            aload 1 /* tdsWriter */
            aload 8 /* calendar */
            iconst_0
         6: .line 3338
            iconst_0
         7: .line 3339
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATE:Lcom/microsoft/sqlserver/jdbc/SSType;
            iconst_0
         8: .line 3337
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeEncryptedScaledTemporal:(Ljava/util/GregorianCalendar;IILcom/microsoft/sqlserver/jdbc/SSType;S)[B
            areturn
        end local 8 // java.util.GregorianCalendar calendar
         9: .line 3342
      StackMap locals:
      StackMap stack:
            new java.util.GregorianCalendar
            dup
            invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokespecial java.util.GregorianCalendar.<init>:(Ljava/util/TimeZone;Ljava/util/Locale;)V
            astore 8 /* calendar */
        start local 8 // java.util.GregorianCalendar calendar
        10: .line 3343
            aload 8 /* calendar */
            iconst_1
            invokevirtual java.util.GregorianCalendar.setLenient:(Z)V
        11: .line 3344
            aload 8 /* calendar */
            invokevirtual java.util.GregorianCalendar.clear:()V
        12: .line 3345
            aload 3 /* colValue */
            checkcast java.sql.Timestamp
            invokevirtual java.sql.Timestamp.getTime:()J
            lstore 6 /* utcMillis */
        start local 6 // long utcMillis
        13: .line 3346
            aload 8 /* calendar */
            lload 6 /* utcMillis */
            invokevirtual java.util.GregorianCalendar.setTimeInMillis:(J)V
        14: .line 3348
            aload 3 /* colValue */
            instanceof java.sql.Timestamp
            ifeq 17
        15: .line 3349
            aload 3 /* colValue */
            checkcast java.sql.Timestamp
            invokevirtual java.sql.Timestamp.getNanos:()I
            istore 9 /* subSecondNanos */
        start local 9 // int subSecondNanos
        16: .line 3350
            goto 20
        end local 9 // int subSecondNanos
        17: .line 3351
      StackMap locals: long java.util.GregorianCalendar
      StackMap stack:
            ldc 1000000
            lload 6 /* utcMillis */
            ldc 1000
            lrem
            l2i
            imul
            istore 9 /* subSecondNanos */
        start local 9 // int subSecondNanos
        18: .line 3352
            iload 9 /* subSecondNanos */
            ifge 20
        19: .line 3353
            iload 9 /* subSecondNanos */
            ldc 1000000000
            iadd
            istore 9 /* subSecondNanos */
        20: .line 3355
      StackMap locals: int
      StackMap stack:
            aload 1 /* tdsWriter */
            aload 8 /* calendar */
            iload 9 /* subSecondNanos */
            iload 5 /* scale */
            getstatic com.microsoft.sqlserver.jdbc.SSType.TIME:Lcom/microsoft/sqlserver/jdbc/SSType;
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeEncryptedScaledTemporal:(Ljava/util/GregorianCalendar;IILcom/microsoft/sqlserver/jdbc/SSType;S)[B
            areturn
        end local 9 // int subSecondNanos
        end local 8 // java.util.GregorianCalendar calendar
        end local 6 // long utcMillis
        21: .line 3358
      StackMap locals:
      StackMap stack:
            new java.util.GregorianCalendar
            dup
            invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokespecial java.util.GregorianCalendar.<init>:(Ljava/util/TimeZone;Ljava/util/Locale;)V
            astore 8 /* calendar */
        start local 8 // java.util.GregorianCalendar calendar
        22: .line 3359
            aload 8 /* calendar */
            iconst_1
            invokevirtual java.util.GregorianCalendar.setLenient:(Z)V
        23: .line 3360
            aload 8 /* calendar */
            invokevirtual java.util.GregorianCalendar.clear:()V
        24: .line 3361
            aload 3 /* colValue */
            checkcast java.sql.Timestamp
            invokevirtual java.sql.Timestamp.getTime:()J
            lstore 6 /* utcMillis */
        start local 6 // long utcMillis
        25: .line 3362
            aload 8 /* calendar */
            lload 6 /* utcMillis */
            invokevirtual java.util.GregorianCalendar.setTimeInMillis:(J)V
        26: .line 3363
            aload 3 /* colValue */
            checkcast java.sql.Timestamp
            invokevirtual java.sql.Timestamp.getNanos:()I
            istore 9 /* subSecondNanos */
        start local 9 // int subSecondNanos
        27: .line 3364
            aload 1 /* tdsWriter */
            aload 8 /* calendar */
            iload 9 /* subSecondNanos */
            iload 5 /* scale */
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIME2:Lcom/microsoft/sqlserver/jdbc/SSType;
        28: .line 3365
            iconst_0
        29: .line 3364
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeEncryptedScaledTemporal:(Ljava/util/GregorianCalendar;IILcom/microsoft/sqlserver/jdbc/SSType;S)[B
            areturn
        end local 9 // int subSecondNanos
        end local 8 // java.util.GregorianCalendar calendar
        end local 6 // long utcMillis
        30: .line 3369
      StackMap locals:
      StackMap stack:
            new java.util.GregorianCalendar
            dup
            invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokespecial java.util.GregorianCalendar.<init>:(Ljava/util/TimeZone;Ljava/util/Locale;)V
            astore 8 /* calendar */
        start local 8 // java.util.GregorianCalendar calendar
        31: .line 3370
            aload 8 /* calendar */
            iconst_1
            invokevirtual java.util.GregorianCalendar.setLenient:(Z)V
        32: .line 3371
            aload 8 /* calendar */
            invokevirtual java.util.GregorianCalendar.clear:()V
        33: .line 3372
            aload 3 /* colValue */
            checkcast java.sql.Timestamp
            invokevirtual java.sql.Timestamp.getTime:()J
            lstore 6 /* utcMillis */
        start local 6 // long utcMillis
        34: .line 3373
            aload 8 /* calendar */
            lload 6 /* utcMillis */
            invokevirtual java.util.GregorianCalendar.setTimeInMillis:(J)V
        35: .line 3374
            aload 3 /* colValue */
            checkcast java.sql.Timestamp
            invokevirtual java.sql.Timestamp.getNanos:()I
            istore 9 /* subSecondNanos */
        start local 9 // int subSecondNanos
        36: .line 3375
            aload 1 /* tdsWriter */
            aload 8 /* calendar */
            iload 9 /* subSecondNanos */
            aload 2 /* srcTemporalJdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.getEncryptedDateTimeAsBytes:(Ljava/util/GregorianCalendar;ILcom/microsoft/sqlserver/jdbc/JDBCType;)[B
            areturn
        end local 9 // int subSecondNanos
        end local 8 // java.util.GregorianCalendar calendar
        end local 6 // long utcMillis
        37: .line 3378
      StackMap locals:
      StackMap stack:
            aload 3 /* colValue */
            checkcast microsoft.sql.DateTimeOffset
            astore 10 /* dtoValue */
        start local 10 // microsoft.sql.DateTimeOffset dtoValue
        38: .line 3379
            aload 10 /* dtoValue */
            invokevirtual microsoft.sql.DateTimeOffset.getTimestamp:()Ljava/sql/Timestamp;
            invokevirtual java.sql.Timestamp.getTime:()J
            lstore 6 /* utcMillis */
        start local 6 // long utcMillis
        39: .line 3380
            aload 10 /* dtoValue */
            invokevirtual microsoft.sql.DateTimeOffset.getTimestamp:()Ljava/sql/Timestamp;
            invokevirtual java.sql.Timestamp.getNanos:()I
            istore 9 /* subSecondNanos */
        start local 9 // int subSecondNanos
        40: .line 3381
            aload 10 /* dtoValue */
            invokevirtual microsoft.sql.DateTimeOffset.getMinutesOffset:()I
            istore 11 /* minutesOffset */
        start local 11 // int minutesOffset
        41: .line 3382
            new java.util.GregorianCalendar
            dup
            ldc "UTC"
            invokestatic java.util.TimeZone.getTimeZone:(Ljava/lang/String;)Ljava/util/TimeZone;
            invokespecial java.util.GregorianCalendar.<init>:(Ljava/util/TimeZone;)V
            astore 8 /* calendar */
        start local 8 // java.util.GregorianCalendar calendar
        42: .line 3383
            aload 8 /* calendar */
            iconst_1
            invokevirtual java.util.GregorianCalendar.setLenient:(Z)V
        43: .line 3384
            aload 8 /* calendar */
            invokevirtual java.util.GregorianCalendar.clear:()V
        44: .line 3385
            aload 8 /* calendar */
            lload 6 /* utcMillis */
            invokevirtual java.util.GregorianCalendar.setTimeInMillis:(J)V
        45: .line 3386
            aload 1 /* tdsWriter */
            aload 8 /* calendar */
            iload 9 /* subSecondNanos */
            iload 5 /* scale */
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIMEOFFSET:Lcom/microsoft/sqlserver/jdbc/SSType;
        46: .line 3387
            iload 11 /* minutesOffset */
            i2s
        47: .line 3386
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeEncryptedScaledTemporal:(Ljava/util/GregorianCalendar;IILcom/microsoft/sqlserver/jdbc/SSType;S)[B
            areturn
        end local 11 // int minutesOffset
        end local 10 // microsoft.sql.DateTimeOffset dtoValue
        end local 9 // int subSecondNanos
        end local 8 // java.util.GregorianCalendar calendar
        end local 6 // long utcMillis
        48: .line 3391
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_UnsupportedDataTypeAE"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 12 /* form */
        start local 12 // java.text.MessageFormat form
        49: .line 3392
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* srcTemporalJdbcType */
            aastore
            astore 13 /* msgArgs */
        start local 13 // java.lang.Object[] msgArgs
        50: .line 3393
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 0 /* this */
            aload 12 /* form */
            aload 13 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            iconst_0
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            athrow
        end local 13 // java.lang.Object[] msgArgs
        end local 12 // java.text.MessageFormat form
        end local 5 // int scale
        end local 4 // int srcColOrdinal
        end local 3 // java.lang.Object colValue
        end local 2 // com.microsoft.sqlserver.jdbc.JDBCType srcTemporalJdbcType
        end local 1 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   51     0                 this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0   51     1            tdsWriter  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   51     2  srcTemporalJdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
            0   51     3             colValue  Ljava/lang/Object;
            0   51     4        srcColOrdinal  I
            0   51     5                scale  I
           13   21     6            utcMillis  J
           25   30     6            utcMillis  J
           34   37     6            utcMillis  J
           39   48     6            utcMillis  J
            2    9     8             calendar  Ljava/util/GregorianCalendar;
           10   21     8             calendar  Ljava/util/GregorianCalendar;
           22   30     8             calendar  Ljava/util/GregorianCalendar;
           31   37     8             calendar  Ljava/util/GregorianCalendar;
           42   48     8             calendar  Ljava/util/GregorianCalendar;
           16   17     9       subSecondNanos  I
           18   21     9       subSecondNanos  I
           27   30     9       subSecondNanos  I
           36   37     9       subSecondNanos  I
           40   48     9       subSecondNanos  I
           38   48    10             dtoValue  Lmicrosoft/sql/DateTimeOffset;
           41   48    11        minutesOffset  I
           49   51    12                 form  Ljava/text/MessageFormat;
           50   51    13              msgArgs  [Ljava/lang/Object;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                     Name  Flags
      tdsWriter            
      srcTemporalJdbcType  
      colValue             
      srcColOrdinal        
      scale                

  private byte[] normalizedValue(com.microsoft.sqlserver.jdbc.JDBCType, java.lang.Object, com.microsoft.sqlserver.jdbc.JDBCType, int, int);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/JDBCType;Ljava/lang/Object;Lcom/microsoft/sqlserver/jdbc/JDBCType;II)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=22, args_size=6
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // com.microsoft.sqlserver.jdbc.JDBCType destJdbcType
        start local 2 // java.lang.Object value
        start local 3 // com.microsoft.sqlserver.jdbc.JDBCType srcJdbcType
        start local 4 // int destPrecision
        start local 5 // int destScale
         0: .line 3399
            aconst_null
            astore 6 /* longValue */
        start local 6 // java.lang.Long longValue
         1: .line 3400
            aconst_null
            astore 7 /* byteValue */
        start local 7 // byte[] byteValue
         2: .line 3404
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$JDBCType:()[I
            aload 1 /* destJdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            iaload
            tableswitch { // 3 - 46
                    3: 34
                    4: 47
                    5: 3
                    6: 110
                    7: 110
                    8: 59
                    9: 110
                   10: 110
                   11: 110
                   12: 110
                   13: 83
                   14: 110
                   15: 77
                   16: 77
                   17: 23
                   18: 110
                   19: 65
                   20: 47
                   21: 59
                   22: 65
                   23: 110
                   24: 110
                   25: 83
                   26: 65
                   27: 110
                   28: 71
                   29: 110
                   30: 110
                   31: 9
                   32: 110
                   33: 110
                   34: 110
                   35: 110
                   36: 110
                   37: 110
                   38: 9
                   39: 47
                   40: 59
                   41: 97
                   42: 97
                   43: 110
                   44: 110
                   45: 110
                   46: 57
              default: 110
          }
         3: .line 3406
      StackMap locals: java.lang.Long byte[]
      StackMap stack:
            aload 2 /* value */
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 4
            iconst_1
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: i2l
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            astore 6 /* longValue */
         6: .line 3407
            bipush 8
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            aload 6 /* longValue */
            invokevirtual java.lang.Long.longValue:()J
            invokevirtual java.nio.ByteBuffer.putLong:(J)Ljava/nio/ByteBuffer;
         7: .line 3408
            invokevirtual java.nio.ByteBuffer.array:()[B
         8: .line 3407
            areturn
         9: .line 3412
      StackMap locals:
      StackMap stack:
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$JDBCType:()[I
            aload 3 /* srcJdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            iaload
            tableswitch { // 5 - 5
                    5: 10
              default: 14
          }
        10: .line 3414
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 11
            iconst_1
            goto 12
      StackMap locals:
      StackMap stack:
        11: iconst_0
      StackMap locals:
      StackMap stack: int
        12: i2l
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            astore 6 /* longValue */
        13: .line 3415
            goto 20
        14: .line 3417
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            instanceof java.lang.Integer
            ifeq 19
        15: .line 3418
            aload 2 /* value */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 10 /* intValue */
        start local 10 // int intValue
        16: .line 3419
            iload 10 /* intValue */
            i2s
            istore 11 /* shortValue */
        start local 11 // short shortValue
        17: .line 3420
            iload 11 /* shortValue */
            i2l
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            astore 6 /* longValue */
        end local 11 // short shortValue
        end local 10 // int intValue
        18: .line 3421
            goto 20
        19: .line 3422
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            checkcast java.lang.Short
            invokevirtual java.lang.Short.shortValue:()S
            i2l
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            astore 6 /* longValue */
        20: .line 3425
      StackMap locals:
      StackMap stack:
            bipush 8
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            aload 6 /* longValue */
            invokevirtual java.lang.Long.longValue:()J
            invokevirtual java.nio.ByteBuffer.putLong:(J)Ljava/nio/ByteBuffer;
        21: .line 3426
            invokevirtual java.nio.ByteBuffer.array:()[B
        22: .line 3425
            areturn
        23: .line 3429
      StackMap locals:
      StackMap stack:
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$JDBCType:()[I
            aload 3 /* srcJdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            iaload
            lookupswitch { // 3
                    5: 24
                   31: 28
                   38: 28
              default: 30
          }
        24: .line 3431
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 25
            iconst_1
            goto 26
      StackMap locals:
      StackMap stack:
        25: iconst_0
      StackMap locals:
      StackMap stack: int
        26: i2l
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            astore 6 /* longValue */
        27: .line 3432
            goto 31
        28: .line 3435
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            checkcast java.lang.Short
            invokevirtual java.lang.Short.shortValue:()S
            i2l
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            astore 6 /* longValue */
        29: .line 3436
            goto 31
        30: .line 3438
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            i2l
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            astore 6 /* longValue */
        31: .line 3440
      StackMap locals:
      StackMap stack:
            bipush 8
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            aload 6 /* longValue */
            invokevirtual java.lang.Long.longValue:()J
            invokevirtual java.nio.ByteBuffer.putLong:(J)Ljava/nio/ByteBuffer;
        32: .line 3441
            invokevirtual java.nio.ByteBuffer.array:()[B
        33: .line 3440
            areturn
        34: .line 3444
      StackMap locals:
      StackMap stack:
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$JDBCType:()[I
            aload 3 /* srcJdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            iaload
            lookupswitch { // 4
                    5: 35
                   17: 41
                   31: 39
                   38: 39
              default: 43
          }
        35: .line 3446
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 36
            iconst_1
            goto 37
      StackMap locals:
      StackMap stack:
        36: iconst_0
      StackMap locals:
      StackMap stack: int
        37: i2l
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            astore 6 /* longValue */
        38: .line 3447
            goto 44
        39: .line 3450
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            checkcast java.lang.Short
            invokevirtual java.lang.Short.shortValue:()S
            i2l
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            astore 6 /* longValue */
        40: .line 3451
            goto 44
        41: .line 3453
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            i2l
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            astore 6 /* longValue */
        42: .line 3454
            goto 44
        43: .line 3456
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            astore 6 /* longValue */
        44: .line 3458
      StackMap locals:
      StackMap stack:
            bipush 8
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            aload 6 /* longValue */
            invokevirtual java.lang.Long.longValue:()J
            invokevirtual java.nio.ByteBuffer.putLong:(J)Ljava/nio/ByteBuffer;
        45: .line 3459
            invokevirtual java.nio.ByteBuffer.array:()[B
        46: .line 3458
            areturn
        47: .line 3465
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            instanceof java.lang.String
            ifeq 50
        48: .line 3466
            aload 2 /* value */
            checkcast java.lang.String
            invokestatic com.microsoft.sqlserver.jdbc.ParameterUtils.HexToBin:(Ljava/lang/String;)[B
            astore 10 /* byteArrayValue */
        start local 10 // byte[] byteArrayValue
        49: .line 3467
            goto 51
        end local 10 // byte[] byteArrayValue
        50: .line 3468
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            checkcast byte[]
            astore 10 /* byteArrayValue */
        start local 10 // byte[] byteArrayValue
        51: .line 3470
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.JDBCType java.lang.Object com.microsoft.sqlserver.jdbc.JDBCType int int java.lang.Long byte[] top top byte[]
      StackMap stack:
            aload 10 /* byteArrayValue */
            arraylength
            iload 4 /* destPrecision */
            if_icmple 55
        52: .line 3471
            new java.text.MessageFormat
            dup
            ldc "R_InvalidDataForAE"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 11 /* form */
        start local 11 // java.text.MessageFormat form
        53: .line 3472
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* srcJdbcType */
            aastore
            dup
            iconst_1
            aload 1 /* destJdbcType */
            aastore
            astore 12 /* msgArgs */
        start local 12 // java.lang.Object[] msgArgs
        54: .line 3473
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 0 /* this */
            aload 11 /* form */
            aload 12 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            iconst_0
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            athrow
        end local 12 // java.lang.Object[] msgArgs
        end local 11 // java.text.MessageFormat form
        55: .line 3475
      StackMap locals:
      StackMap stack:
            aload 10 /* byteArrayValue */
        56: areturn
        end local 10 // byte[] byteArrayValue
        57: .line 3477
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.JDBCType java.lang.Object com.microsoft.sqlserver.jdbc.JDBCType int int java.lang.Long byte[]
      StackMap stack:
            aload 2 /* value */
            checkcast java.lang.String
            invokestatic java.util.UUID.fromString:(Ljava/lang/String;)Ljava/util/UUID;
            invokestatic com.microsoft.sqlserver.jdbc.Util.asGuidByteArray:(Ljava/util/UUID;)[B
        58: areturn
        59: .line 3484
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            checkcast java.lang.String
            invokevirtual java.lang.String.length:()I
            iload 4 /* destPrecision */
            if_icmple 63
        60: .line 3485
            new java.text.MessageFormat
            dup
            ldc "R_InvalidDataForAE"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 11 /* form */
        start local 11 // java.text.MessageFormat form
        61: .line 3486
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* srcJdbcType */
            aastore
            dup
            iconst_1
            aload 1 /* destJdbcType */
            aastore
            astore 12 /* msgArgs */
        start local 12 // java.lang.Object[] msgArgs
        62: .line 3487
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 0 /* this */
            aload 11 /* form */
            aload 12 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            iconst_0
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            athrow
        end local 12 // java.lang.Object[] msgArgs
        end local 11 // java.text.MessageFormat form
        63: .line 3489
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            checkcast java.lang.String
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
        64: areturn
        65: .line 3495
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            checkcast java.lang.String
            invokevirtual java.lang.String.length:()I
            iload 4 /* destPrecision */
            if_icmple 69
        66: .line 3496
            new java.text.MessageFormat
            dup
            ldc "R_InvalidDataForAE"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 11 /* form */
        start local 11 // java.text.MessageFormat form
        67: .line 3497
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* srcJdbcType */
            aastore
            dup
            iconst_1
            aload 1 /* destJdbcType */
            aastore
            astore 12 /* msgArgs */
        start local 12 // java.lang.Object[] msgArgs
        68: .line 3498
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 0 /* this */
            aload 11 /* form */
            aload 12 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            iconst_0
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            athrow
        end local 12 // java.lang.Object[] msgArgs
        end local 11 // java.text.MessageFormat form
        69: .line 3500
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            checkcast java.lang.String
            getstatic java.nio.charset.StandardCharsets.UTF_16LE:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
        70: areturn
        71: .line 3503
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            instanceof java.lang.String
            ifeq 72
            aload 2 /* value */
            checkcast java.lang.String
            invokestatic java.lang.Float.parseFloat:(Ljava/lang/String;)F
            goto 73
      StackMap locals:
      StackMap stack:
        72: aload 2 /* value */
            checkcast java.lang.Float
            invokevirtual java.lang.Float.floatValue:()F
      StackMap locals:
      StackMap stack: float
        73: invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            astore 11 /* floatValue */
        start local 11 // java.lang.Float floatValue
        74: .line 3504
            iconst_4
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
        75: .line 3505
            aload 11 /* floatValue */
            invokevirtual java.lang.Float.floatValue:()F
            invokevirtual java.nio.ByteBuffer.putFloat:(F)Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.array:()[B
        76: .line 3504
            areturn
        end local 11 // java.lang.Float floatValue
        77: .line 3509
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            instanceof java.lang.String
            ifeq 78
            aload 2 /* value */
            checkcast java.lang.String
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            goto 79
        78: .line 3510
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            checkcast java.lang.Double
            invokevirtual java.lang.Double.doubleValue:()D
        79: .line 3509
      StackMap locals:
      StackMap stack: double
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            astore 12 /* doubleValue */
        start local 12 // java.lang.Double doubleValue
        80: .line 3511
            bipush 8
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
        81: .line 3512
            aload 12 /* doubleValue */
            invokevirtual java.lang.Double.doubleValue:()D
            invokevirtual java.nio.ByteBuffer.putDouble:(D)Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.array:()[B
        82: .line 3511
            areturn
        end local 12 // java.lang.Double doubleValue
        83: .line 3516
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            checkcast java.math.BigDecimal
            invokevirtual java.math.BigDecimal.scale:()I
            istore 9 /* srcDataScale */
        start local 9 // int srcDataScale
        84: .line 3517
            aload 2 /* value */
            checkcast java.math.BigDecimal
            invokevirtual java.math.BigDecimal.precision:()I
            istore 8 /* srcDataPrecision */
        start local 8 // int srcDataPrecision
        85: .line 3518
            aload 2 /* value */
            checkcast java.math.BigDecimal
            astore 13 /* bigDataValue */
        start local 13 // java.math.BigDecimal bigDataValue
        86: .line 3519
            iload 8 /* srcDataPrecision */
            iload 4 /* destPrecision */
            if_icmpgt 87
            iload 9 /* srcDataScale */
            iload 5 /* destScale */
            if_icmple 90
        87: .line 3520
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.JDBCType java.lang.Object com.microsoft.sqlserver.jdbc.JDBCType int int java.lang.Long byte[] int int top top top java.math.BigDecimal
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_InvalidDataForAE"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 14 /* form */
        start local 14 // java.text.MessageFormat form
        88: .line 3521
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* srcJdbcType */
            aastore
            dup
            iconst_1
            aload 1 /* destJdbcType */
            aastore
            astore 15 /* msgArgs */
        start local 15 // java.lang.Object[] msgArgs
        89: .line 3522
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 0 /* this */
            aload 14 /* form */
            aload 15 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            iconst_0
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            athrow
        end local 15 // java.lang.Object[] msgArgs
        end local 14 // java.text.MessageFormat form
        90: .line 3523
      StackMap locals:
      StackMap stack:
            iload 9 /* srcDataScale */
            iload 5 /* destScale */
            if_icmpge 92
        91: .line 3525
            aload 13 /* bigDataValue */
            iload 5 /* destScale */
            invokevirtual java.math.BigDecimal.setScale:(I)Ljava/math/BigDecimal;
            astore 13 /* bigDataValue */
        92: .line 3527
      StackMap locals:
      StackMap stack:
            aload 13 /* bigDataValue */
            aload 13 /* bigDataValue */
            invokevirtual java.math.BigDecimal.scale:()I
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertBigDecimalToBytes:(Ljava/math/BigDecimal;I)[B
            astore 7 /* byteValue */
        93: .line 3528
            bipush 16
            newarray 8
            astore 14 /* decimalbyteValue */
        start local 14 // byte[] decimalbyteValue
        94: .line 3530
            aload 7 /* byteValue */
            iconst_2
            aload 14 /* decimalbyteValue */
            iconst_0
            aload 7 /* byteValue */
            arraylength
            iconst_2
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        95: .line 3531
            aload 14 /* decimalbyteValue */
        96: areturn
        end local 14 // byte[] decimalbyteValue
        end local 13 // java.math.BigDecimal bigDataValue
        end local 9 // int srcDataScale
        end local 8 // int srcDataPrecision
        97: .line 3538
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.JDBCType java.lang.Object com.microsoft.sqlserver.jdbc.JDBCType int int java.lang.Long byte[]
      StackMap stack:
            aload 2 /* value */
            checkcast java.math.BigDecimal
            astore 15 /* bdValue */
        start local 15 // java.math.BigDecimal bdValue
        98: .line 3540
            aload 15 /* bdValue */
            aload 1 /* destJdbcType */
            invokestatic com.microsoft.sqlserver.jdbc.Util.validateMoneyRange:(Ljava/math/BigDecimal;Lcom/microsoft/sqlserver/jdbc/JDBCType;)V
        99: .line 3544
            aload 15 /* bdValue */
            invokevirtual java.math.BigDecimal.precision:()I
            aload 15 /* bdValue */
            invokevirtual java.math.BigDecimal.scale:()I
            isub
            iconst_4
            iadd
            istore 16 /* digitCount */
        start local 16 // int digitCount
       100: .line 3546
            aload 2 /* value */
            checkcast java.math.BigDecimal
            new java.math.BigDecimal
            dup
            sipush 10000
            invokespecial java.math.BigDecimal.<init>:(I)V
       101: .line 3547
            new java.math.MathContext
            dup
            iload 16 /* digitCount */
            getstatic java.math.RoundingMode.HALF_UP:Ljava/math/RoundingMode;
            invokespecial java.math.MathContext.<init>:(ILjava/math/RoundingMode;)V
       102: .line 3546
            invokevirtual java.math.BigDecimal.multiply:(Ljava/math/BigDecimal;Ljava/math/MathContext;)Ljava/math/BigDecimal;
       103: .line 3547
            invokevirtual java.math.BigDecimal.longValue:()J
       104: .line 3546
            lstore 17 /* moneyVal */
        start local 17 // long moneyVal
       105: .line 3548
            bipush 8
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            astore 19 /* bbuf */
        start local 19 // java.nio.ByteBuffer bbuf
       106: .line 3549
            aload 19 /* bbuf */
            lload 17 /* moneyVal */
            bipush 32
            lshr
            l2i
            invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.array:()[B
            pop
       107: .line 3550
            aload 19 /* bbuf */
            lload 17 /* moneyVal */
            l2i
            invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.array:()[B
            pop
       108: .line 3551
            aload 19 /* bbuf */
            invokevirtual java.nio.ByteBuffer.array:()[B
       109: areturn
        end local 19 // java.nio.ByteBuffer bbuf
        end local 17 // long moneyVal
        end local 16 // int digitCount
        end local 15 // java.math.BigDecimal bdValue
       110: .line 3554
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_UnsupportedDataTypeAE"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 20 /* form */
        start local 20 // java.text.MessageFormat form
       111: .line 3555
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* destJdbcType */
            aastore
            astore 21 /* msgArgs */
        start local 21 // java.lang.Object[] msgArgs
       112: .line 3556
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 0 /* this */
            aload 20 /* form */
            aload 21 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            iconst_0
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            athrow
        end local 21 // java.lang.Object[] msgArgs
        end local 20 // java.text.MessageFormat form
       113: .line 3560
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            pop
       114: .line 3561
            new java.text.MessageFormat
            dup
            ldc "R_InvalidDataForAE"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 10 /* form */
        start local 10 // java.text.MessageFormat form
       115: .line 3562
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* srcJdbcType */
            aastore
            dup
            iconst_1
            aload 1 /* destJdbcType */
            aastore
            astore 11 /* msgArgs */
        start local 11 // java.lang.Object[] msgArgs
       116: .line 3563
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 0 /* this */
            aload 10 /* form */
            aload 11 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            iconst_0
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            athrow
        end local 11 // java.lang.Object[] msgArgs
        end local 10 // java.text.MessageFormat form
       117: .line 3564
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            pop
       118: .line 3565
            new java.text.MessageFormat
            dup
            ldc "R_InvalidDataForAE"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 10 /* form */
        start local 10 // java.text.MessageFormat form
       119: .line 3566
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* srcJdbcType */
            aastore
            dup
            iconst_1
            aload 1 /* destJdbcType */
            aastore
            astore 11 /* msgArgs */
        start local 11 // java.lang.Object[] msgArgs
       120: .line 3567
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 0 /* this */
            aload 10 /* form */
            aload 11 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            iconst_0
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            athrow
        end local 11 // java.lang.Object[] msgArgs
        end local 10 // java.text.MessageFormat form
       121: .line 3568
      StackMap locals:
      StackMap stack: java.lang.ClassCastException
            pop
       122: .line 3569
            new java.text.MessageFormat
            dup
            ldc "R_InvalidDataForAE"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 10 /* form */
        start local 10 // java.text.MessageFormat form
       123: .line 3570
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* srcJdbcType */
            aastore
            dup
            iconst_1
            aload 1 /* destJdbcType */
            aastore
            astore 11 /* msgArgs */
        start local 11 // java.lang.Object[] msgArgs
       124: .line 3571
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 0 /* this */
            aload 10 /* form */
            aload 11 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            iconst_0
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            athrow
        end local 11 // java.lang.Object[] msgArgs
        end local 10 // java.text.MessageFormat form
        end local 7 // byte[] byteValue
        end local 6 // java.lang.Long longValue
        end local 5 // int destScale
        end local 4 // int destPrecision
        end local 3 // com.microsoft.sqlserver.jdbc.JDBCType srcJdbcType
        end local 2 // java.lang.Object value
        end local 1 // com.microsoft.sqlserver.jdbc.JDBCType destJdbcType
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0  125     0              this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0  125     1      destJdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
            0  125     2             value  Ljava/lang/Object;
            0  125     3       srcJdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
            0  125     4     destPrecision  I
            0  125     5         destScale  I
            1  125     6         longValue  Ljava/lang/Long;
            2  125     7         byteValue  [B
           85   97     8  srcDataPrecision  I
           84   97     9      srcDataScale  I
           16   18    10          intValue  I
           17   18    11        shortValue  S
           49   50    10    byteArrayValue  [B
           51   57    10    byteArrayValue  [B
           53   55    11              form  Ljava/text/MessageFormat;
           54   55    12           msgArgs  [Ljava/lang/Object;
           61   63    11              form  Ljava/text/MessageFormat;
           62   63    12           msgArgs  [Ljava/lang/Object;
           67   69    11              form  Ljava/text/MessageFormat;
           68   69    12           msgArgs  [Ljava/lang/Object;
           74   77    11        floatValue  Ljava/lang/Float;
           80   83    12       doubleValue  Ljava/lang/Double;
           86   97    13      bigDataValue  Ljava/math/BigDecimal;
           88   90    14              form  Ljava/text/MessageFormat;
           89   90    15           msgArgs  [Ljava/lang/Object;
           94   97    14  decimalbyteValue  [B
           98  110    15           bdValue  Ljava/math/BigDecimal;
          100  110    16        digitCount  I
          105  110    17          moneyVal  J
          106  110    19              bbuf  Ljava/nio/ByteBuffer;
          111  113    20              form  Ljava/text/MessageFormat;
          112  113    21           msgArgs  [Ljava/lang/Object;
          115  117    10              form  Ljava/text/MessageFormat;
          116  117    11           msgArgs  [Ljava/lang/Object;
          119  121    10              form  Ljava/text/MessageFormat;
          120  121    11           msgArgs  [Ljava/lang/Object;
          123  125    10              form  Ljava/text/MessageFormat;
          124  125    11           msgArgs  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
           2     8     113  Class java.lang.NumberFormatException
           9    22     113  Class java.lang.NumberFormatException
          23    33     113  Class java.lang.NumberFormatException
          34    46     113  Class java.lang.NumberFormatException
          47    56     113  Class java.lang.NumberFormatException
          57    58     113  Class java.lang.NumberFormatException
          59    64     113  Class java.lang.NumberFormatException
          65    70     113  Class java.lang.NumberFormatException
          71    76     113  Class java.lang.NumberFormatException
          77    82     113  Class java.lang.NumberFormatException
          83    96     113  Class java.lang.NumberFormatException
          97   109     113  Class java.lang.NumberFormatException
         110   113     113  Class java.lang.NumberFormatException
           2     8     117  Class java.lang.IllegalArgumentException
           9    22     117  Class java.lang.IllegalArgumentException
          23    33     117  Class java.lang.IllegalArgumentException
          34    46     117  Class java.lang.IllegalArgumentException
          47    56     117  Class java.lang.IllegalArgumentException
          57    58     117  Class java.lang.IllegalArgumentException
          59    64     117  Class java.lang.IllegalArgumentException
          65    70     117  Class java.lang.IllegalArgumentException
          71    76     117  Class java.lang.IllegalArgumentException
          77    82     117  Class java.lang.IllegalArgumentException
          83    96     117  Class java.lang.IllegalArgumentException
          97   109     117  Class java.lang.IllegalArgumentException
         110   113     117  Class java.lang.IllegalArgumentException
           2     8     121  Class java.lang.ClassCastException
           9    22     121  Class java.lang.ClassCastException
          23    33     121  Class java.lang.ClassCastException
          34    46     121  Class java.lang.ClassCastException
          47    56     121  Class java.lang.ClassCastException
          57    58     121  Class java.lang.ClassCastException
          59    64     121  Class java.lang.ClassCastException
          65    70     121  Class java.lang.ClassCastException
          71    76     121  Class java.lang.ClassCastException
          77    82     121  Class java.lang.ClassCastException
          83    96     121  Class java.lang.ClassCastException
          97   109     121  Class java.lang.ClassCastException
         110   113     121  Class java.lang.ClassCastException
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
               Name  Flags
      destJdbcType   
      value          
      srcJdbcType    
      destPrecision  
      destScale      

  private boolean goToNextRow();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
         0: .line 3577
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            ifnull 3
         1: .line 3578
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            invokeinterface java.sql.ResultSet.next:()Z
         2: ireturn
         3: .line 3580
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.serverBulkData:Lcom/microsoft/sqlserver/jdbc/ISQLServerBulkData;
            invokeinterface com.microsoft.sqlserver.jdbc.ISQLServerBulkData.next:()Z
         4: ireturn
         5: .line 3582
      StackMap locals:
      StackMap stack: java.sql.SQLException
            astore 1 /* e */
        start local 1 // java.sql.SQLException e
         6: .line 3583
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_unableRetrieveSourceData"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* e */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.sql.SQLException e
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            6    7     1     e  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           0     2       5  Class java.sql.SQLException
           3     4       5  Class java.sql.SQLException
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  private boolean writeBatchData(com.microsoft.sqlserver.jdbc.TDSWriter, com.microsoft.sqlserver.jdbc.TDSCommand, boolean);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/TDSWriter;Lcom/microsoft/sqlserver/jdbc/TDSCommand;Z)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=9, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
        start local 2 // com.microsoft.sqlserver.jdbc.TDSCommand command
        start local 3 // boolean insertRowByRow
         0: .line 3593
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.copyOptions:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopyOptions;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopyOptions.getBatchSize:()I
            istore 4 /* batchsize */
        start local 4 // int batchsize
         1: .line 3594
            iconst_0
            istore 5 /* row */
        start local 5 // int row
         2: .line 3599
      StackMap locals: int int
      StackMap stack:
            iload 4 /* batchsize */
            ifeq 4
            iload 5 /* row */
            iload 4 /* batchsize */
            if_icmplt 4
         3: .line 3600
            iconst_1
            ireturn
         4: .line 3603
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.goToNextRow:()Z
            ifne 6
         5: .line 3604
            iconst_0
            ireturn
         6: .line 3606
      StackMap locals:
      StackMap stack:
            iload 3 /* insertRowByRow */
            ifeq 9
         7: .line 3608
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerResultSet
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerResultSet.getTDSReader:()Lcom/microsoft/sqlserver/jdbc/TDSReader;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readPacket:()Z
            pop
         8: .line 3610
            aload 0 /* this */
            aload 2 /* command */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sendBulkCopyCommand:(Lcom/microsoft/sqlserver/jdbc/TDSCommand;)Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            astore 1 /* tdsWriter */
         9: .line 3614
      StackMap locals:
      StackMap stack:
            aload 1 /* tdsWriter */
            bipush -47
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.writeByte:(B)V
        10: .line 3617
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sourceResultSet:Ljava/sql/ResultSet;
            ifnull 18
        11: .line 3620
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.columnMappings:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 16
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter com.microsoft.sqlserver.jdbc.TDSCommand int int int top java.util.Iterator
      StackMap stack:
        12: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping
            astore 6 /* columnMapping */
        start local 6 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping columnMapping
        13: .line 3621
            aload 0 /* this */
            aload 1 /* tdsWriter */
            aload 6 /* columnMapping */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.sourceColumnOrdinal:I
            aload 6 /* columnMapping */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.destinationColumnOrdinal:I
        14: .line 3622
            aconst_null
        15: .line 3621
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeColumn:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;IILjava/lang/Object;)V
        end local 6 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping columnMapping
        16: .line 3620
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        17: .line 3630
            goto 28
        18: .line 3637
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter com.microsoft.sqlserver.jdbc.TDSCommand int int int
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.serverBulkData:Lcom/microsoft/sqlserver/jdbc/ISQLServerBulkData;
            invokeinterface com.microsoft.sqlserver.jdbc.ISQLServerBulkData.getRowData:()[Ljava/lang/Object;
            astore 6 /* rowObjects */
        start local 6 // java.lang.Object[] rowObjects
        19: .line 3638
            goto 22
        end local 6 // java.lang.Object[] rowObjects
      StackMap locals:
      StackMap stack: java.lang.Exception
        20: astore 7 /* ex */
        start local 7 // java.lang.Exception ex
        21: .line 3640
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_unableRetrieveSourceData"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aload 7 /* ex */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 7 // java.lang.Exception ex
        start local 6 // java.lang.Object[] rowObjects
        22: .line 3643
      StackMap locals: java.lang.Object[]
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.columnMappings:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 27
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter com.microsoft.sqlserver.jdbc.TDSCommand int int int java.lang.Object[] top java.util.Iterator
      StackMap stack:
        23: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping
            astore 7 /* columnMapping */
        start local 7 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping columnMapping
        24: .line 3647
            aload 0 /* this */
            aload 1 /* tdsWriter */
            aload 7 /* columnMapping */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.sourceColumnOrdinal:I
            aload 7 /* columnMapping */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.destinationColumnOrdinal:I
        25: .line 3648
            aload 6 /* rowObjects */
            aload 7 /* columnMapping */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping.sourceColumnOrdinal:I
            iconst_1
            isub
            aaload
        26: .line 3647
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeColumn:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;IILjava/lang/Object;)V
        end local 7 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping columnMapping
        27: .line 3643
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        end local 6 // java.lang.Object[] rowObjects
        28: .line 3651
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy com.microsoft.sqlserver.jdbc.TDSWriter com.microsoft.sqlserver.jdbc.TDSCommand int int int
      StackMap stack:
            iinc 5 /* row */ 1
        29: .line 3653
            iload 3 /* insertRowByRow */
            ifeq 2
        30: .line 3654
            aload 0 /* this */
            aload 1 /* tdsWriter */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writePacketDataDone:(Lcom/microsoft/sqlserver/jdbc/TDSWriter;)V
        31: .line 3655
            aload 1 /* tdsWriter */
            aconst_null
            invokevirtual com.microsoft.sqlserver.jdbc.TDSWriter.setCryptoMetaData:(Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;)V
        32: .line 3658
            aload 2 /* command */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.startResponse:()Lcom/microsoft/sqlserver/jdbc/TDSReader;
            aload 2 /* command */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSCommand.getLogContext:()Ljava/lang/String;
            invokestatic com.microsoft.sqlserver.jdbc.TDSParser.parse:(Lcom/microsoft/sqlserver/jdbc/TDSReader;Ljava/lang/String;)V
        33: .line 3595
            goto 2
        end local 5 // int row
        end local 4 // int batchsize
        end local 3 // boolean insertRowByRow
        end local 2 // com.microsoft.sqlserver.jdbc.TDSCommand command
        end local 1 // com.microsoft.sqlserver.jdbc.TDSWriter tdsWriter
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   34     0            this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0   34     1       tdsWriter  Lcom/microsoft/sqlserver/jdbc/TDSWriter;
            0   34     2         command  Lcom/microsoft/sqlserver/jdbc/TDSCommand;
            0   34     3  insertRowByRow  Z
            1   34     4       batchsize  I
            2   34     5             row  I
           13   16     6   columnMapping  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy$ColumnMapping;
           19   20     6      rowObjects  [Ljava/lang/Object;
           22   28     6      rowObjects  [Ljava/lang/Object;
           21   22     7              ex  Ljava/lang/Exception;
           24   27     7   columnMapping  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy$ColumnMapping;
      Exception table:
        from    to  target  type
          18    19      20  Class java.lang.Exception
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                Name  Flags
      tdsWriter       
      command         
      insertRowByRow  

  protected void setStmtColumnEncriptionSetting(com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting stmtColumnEncriptionSetting
         0: .line 3665
            aload 0 /* this */
            aload 1 /* stmtColumnEncriptionSetting */
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.stmtColumnEncriptionSetting:Lcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;
         1: .line 3666
            return
        end local 1 // com.microsoft.sqlserver.jdbc.SQLServerStatementColumnEncryptionSetting stmtColumnEncriptionSetting
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0    2     0                         this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0    2     1  stmtColumnEncriptionSetting  Lcom/microsoft/sqlserver/jdbc/SQLServerStatementColumnEncryptionSetting;
    MethodParameters:
                             Name  Flags
      stmtColumnEncriptionSetting  

  protected void setDestinationTableMetadata(com.microsoft.sqlserver.jdbc.SQLServerResultSet);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/SQLServerResultSet;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // com.microsoft.sqlserver.jdbc.SQLServerResultSet rs
         0: .line 3669
            aload 0 /* this */
            aload 1 /* rs */
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.destinationTableMetadata:Ljava/sql/ResultSet;
         1: .line 3670
            return
        end local 1 // com.microsoft.sqlserver.jdbc.SQLServerResultSet rs
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0    2     1    rs  Lcom/microsoft/sqlserver/jdbc/SQLServerResultSet;
    MethodParameters:
      Name  Flags
      rs    

  private boolean unicodeConversionRequired(int, com.microsoft.sqlserver.jdbc.SSType);
    descriptor: (ILcom/microsoft/sqlserver/jdbc/SSType;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
        start local 1 // int jdbcType
        start local 2 // com.microsoft.sqlserver.jdbc.SSType ssType
         0: .line 3680
            iconst_1
            iload 1 /* jdbcType */
            if_icmpeq 2
            bipush 12
            iload 1 /* jdbcType */
            if_icmpeq 2
         1: .line 3681
            bipush -16
            iload 1 /* jdbcType */
            if_icmpne 4
         2: .line 3682
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SSType.NCHAR:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 2 /* ssType */
            if_acmpeq 3
            getstatic com.microsoft.sqlserver.jdbc.SSType.NVARCHAR:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 2 /* ssType */
            if_acmpeq 3
            getstatic com.microsoft.sqlserver.jdbc.SSType.NVARCHARMAX:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 2 /* ssType */
            if_acmpne 4
         3: .line 3680
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 2 // com.microsoft.sqlserver.jdbc.SSType ssType
        end local 1 // int jdbcType
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            0    5     1  jdbcType  I
            0    5     2    ssType  Lcom/microsoft/sqlserver/jdbc/SSType;
    MethodParameters:
          Name  Flags
      jdbcType  
      ssType    

  static int[] $SWITCH_TABLE$com$microsoft$sqlserver$jdbc$SSType();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 65
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$SSType:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.microsoft.sqlserver.jdbc.SSType.values:()[Lcom/microsoft/sqlserver/jdbc/SSType;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.BIGINT:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            bipush 6
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.BINARY:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            bipush 25
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.BIT:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            iconst_3
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.CHAR:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            bipush 17
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATE:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            bipush 11
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIME:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            bipush 10
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIME2:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            bipush 13
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIMEOFFSET:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            bipush 14
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.DECIMAL:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            bipush 29
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.FLOAT:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            bipush 7
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.GEOGRAPHY:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            bipush 37
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.GEOMETRY:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            bipush 36
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.GUID:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            bipush 31
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.IMAGE:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            bipush 28
            iastore
        42: goto 44
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        43: pop
      StackMap locals:
      StackMap stack:
        44: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.INTEGER:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            iconst_5
            iastore
        45: goto 47
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        46: pop
      StackMap locals:
      StackMap stack:
        47: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.MONEY:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            bipush 16
            iastore
        48: goto 50
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        49: pop
      StackMap locals:
      StackMap stack:
        50: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.NCHAR:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            bipush 21
            iastore
        51: goto 53
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        52: pop
      StackMap locals:
      StackMap stack:
        53: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.NTEXT:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            bipush 24
            iastore
        54: goto 56
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        55: pop
      StackMap locals:
      StackMap stack:
        56: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.NUMERIC:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            bipush 30
            iastore
        57: goto 59
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        58: pop
      StackMap locals:
      StackMap stack:
        59: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.NVARCHAR:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            bipush 22
            iastore
        60: goto 62
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        61: pop
      StackMap locals:
      StackMap stack:
        62: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.NVARCHARMAX:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            bipush 23
            iastore
        63: goto 65
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        64: pop
      StackMap locals:
      StackMap stack:
        65: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.REAL:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            bipush 8
            iastore
        66: goto 68
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        67: pop
      StackMap locals:
      StackMap stack:
        68: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.SMALLDATETIME:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            bipush 9
            iastore
        69: goto 71
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        70: pop
      StackMap locals:
      StackMap stack:
        71: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.SMALLINT:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            iconst_4
            iastore
        72: goto 74
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        73: pop
      StackMap locals:
      StackMap stack:
        74: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.SMALLMONEY:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            bipush 15
            iastore
        75: goto 77
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        76: pop
      StackMap locals:
      StackMap stack:
        77: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.SQL_VARIANT:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            bipush 32
            iastore
        78: goto 80
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        79: pop
      StackMap locals:
      StackMap stack:
        80: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.TEXT:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            bipush 20
            iastore
        81: goto 83
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        82: pop
      StackMap locals:
      StackMap stack:
        83: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.TIME:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            bipush 12
            iastore
        84: goto 86
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        85: pop
      StackMap locals:
      StackMap stack:
        86: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.TIMESTAMP:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            bipush 35
            iastore
        87: goto 89
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        88: pop
      StackMap locals:
      StackMap stack:
        89: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.TINYINT:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            iconst_2
            iastore
        90: goto 92
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        91: pop
      StackMap locals:
      StackMap stack:
        92: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.UDT:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            bipush 33
            iastore
        93: goto 95
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        94: pop
      StackMap locals:
      StackMap stack:
        95: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.UNKNOWN:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            iconst_1
            iastore
        96: goto 98
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        97: pop
      StackMap locals:
      StackMap stack:
        98: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.VARBINARY:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            bipush 26
            iastore
        99: goto 101
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       100: pop
      StackMap locals:
      StackMap stack:
       101: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.VARBINARYMAX:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            bipush 27
            iastore
       102: goto 104
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       103: pop
      StackMap locals:
      StackMap stack:
       104: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.VARCHAR:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            bipush 18
            iastore
       105: goto 107
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       106: pop
      StackMap locals:
      StackMap stack:
       107: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.VARCHARMAX:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            bipush 19
            iastore
       108: goto 110
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       109: pop
      StackMap locals:
      StackMap stack:
       110: aload 0
            getstatic com.microsoft.sqlserver.jdbc.SSType.XML:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            bipush 34
            iastore
       111: goto 113
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       112: pop
      StackMap locals:
      StackMap stack:
       113: aload 0
            dup
            putstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$SSType:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
          35    36      37  Class java.lang.NoSuchFieldError
          38    39      40  Class java.lang.NoSuchFieldError
          41    42      43  Class java.lang.NoSuchFieldError
          44    45      46  Class java.lang.NoSuchFieldError
          47    48      49  Class java.lang.NoSuchFieldError
          50    51      52  Class java.lang.NoSuchFieldError
          53    54      55  Class java.lang.NoSuchFieldError
          56    57      58  Class java.lang.NoSuchFieldError
          59    60      61  Class java.lang.NoSuchFieldError
          62    63      64  Class java.lang.NoSuchFieldError
          65    66      67  Class java.lang.NoSuchFieldError
          68    69      70  Class java.lang.NoSuchFieldError
          71    72      73  Class java.lang.NoSuchFieldError
          74    75      76  Class java.lang.NoSuchFieldError
          77    78      79  Class java.lang.NoSuchFieldError
          80    81      82  Class java.lang.NoSuchFieldError
          83    84      85  Class java.lang.NoSuchFieldError
          86    87      88  Class java.lang.NoSuchFieldError
          89    90      91  Class java.lang.NoSuchFieldError
          92    93      94  Class java.lang.NoSuchFieldError
          95    96      97  Class java.lang.NoSuchFieldError
          98    99     100  Class java.lang.NoSuchFieldError
         101   102     103  Class java.lang.NoSuchFieldError
         104   105     106  Class java.lang.NoSuchFieldError
         107   108     109  Class java.lang.NoSuchFieldError
         110   111     112  Class java.lang.NoSuchFieldError

  static int[] $SWITCH_TABLE$com$microsoft$sqlserver$jdbc$TDSType();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 65
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$TDSType:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.microsoft.sqlserver.jdbc.TDSType.values:()[Lcom/microsoft/sqlserver/jdbc/TDSType;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BIGBINARY:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            bipush 26
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BIGCHAR:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            bipush 24
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BIGVARBINARY:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            bipush 27
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BIGVARCHAR:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            bipush 25
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BIT1:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            iconst_1
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.BITN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            bipush 12
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.DATEN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            bipush 20
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.DATETIME2N:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            bipush 22
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.DATETIME4:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            bipush 8
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.DATETIME8:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            bipush 9
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.DATETIMEN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            bipush 18
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.DATETIMEOFFSETN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            bipush 23
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.DECIMALN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            bipush 14
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.FLOAT4:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            bipush 6
            iastore
        42: goto 44
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        43: pop
      StackMap locals:
      StackMap stack:
        44: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.FLOAT8:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            bipush 7
            iastore
        45: goto 47
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        46: pop
      StackMap locals:
      StackMap stack:
        47: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.FLOATN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            bipush 16
            iastore
        48: goto 50
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        49: pop
      StackMap locals:
      StackMap stack:
        50: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.GUID:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            bipush 19
            iastore
        51: goto 53
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        52: pop
      StackMap locals:
      StackMap stack:
        53: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.IMAGE:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            bipush 30
            iastore
        54: goto 56
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        55: pop
      StackMap locals:
      StackMap stack:
        56: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.INT1:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            iconst_5
            iastore
        57: goto 59
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        58: pop
      StackMap locals:
      StackMap stack:
        59: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.INT2:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            iconst_4
            iastore
        60: goto 62
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        61: pop
      StackMap locals:
      StackMap stack:
        62: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.INT4:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            iconst_3
            iastore
        63: goto 65
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        64: pop
      StackMap locals:
      StackMap stack:
        65: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.INT8:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            iconst_2
            iastore
        66: goto 68
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        67: pop
      StackMap locals:
      StackMap stack:
        68: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.INTN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            bipush 13
            iastore
        69: goto 71
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        70: pop
      StackMap locals:
      StackMap stack:
        71: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.MONEY4:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            bipush 10
            iastore
        72: goto 74
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        73: pop
      StackMap locals:
      StackMap stack:
        74: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.MONEY8:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            bipush 11
            iastore
        75: goto 77
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        76: pop
      StackMap locals:
      StackMap stack:
        77: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.MONEYN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            bipush 17
            iastore
        78: goto 80
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        79: pop
      StackMap locals:
      StackMap stack:
        80: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.NCHAR:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            bipush 28
            iastore
        81: goto 83
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        82: pop
      StackMap locals:
      StackMap stack:
        83: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.NTEXT:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            bipush 32
            iastore
        84: goto 86
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        85: pop
      StackMap locals:
      StackMap stack:
        86: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.NUMERICN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            bipush 15
            iastore
        87: goto 89
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        88: pop
      StackMap locals:
      StackMap stack:
        89: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.NVARCHAR:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            bipush 29
            iastore
        90: goto 92
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        91: pop
      StackMap locals:
      StackMap stack:
        92: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.SQL_VARIANT:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            bipush 35
            iastore
        93: goto 95
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        94: pop
      StackMap locals:
      StackMap stack:
        95: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.TEXT:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            bipush 31
            iastore
        96: goto 98
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        97: pop
      StackMap locals:
      StackMap stack:
        98: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.TIMEN:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            bipush 21
            iastore
        99: goto 101
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       100: pop
      StackMap locals:
      StackMap stack:
       101: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.UDT:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            bipush 33
            iastore
       102: goto 104
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       103: pop
      StackMap locals:
      StackMap stack:
       104: aload 0
            getstatic com.microsoft.sqlserver.jdbc.TDSType.XML:Lcom/microsoft/sqlserver/jdbc/TDSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            bipush 34
            iastore
       105: goto 107
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       106: pop
      StackMap locals:
      StackMap stack:
       107: aload 0
            dup
            putstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$TDSType:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
          35    36      37  Class java.lang.NoSuchFieldError
          38    39      40  Class java.lang.NoSuchFieldError
          41    42      43  Class java.lang.NoSuchFieldError
          44    45      46  Class java.lang.NoSuchFieldError
          47    48      49  Class java.lang.NoSuchFieldError
          50    51      52  Class java.lang.NoSuchFieldError
          53    54      55  Class java.lang.NoSuchFieldError
          56    57      58  Class java.lang.NoSuchFieldError
          59    60      61  Class java.lang.NoSuchFieldError
          62    63      64  Class java.lang.NoSuchFieldError
          65    66      67  Class java.lang.NoSuchFieldError
          68    69      70  Class java.lang.NoSuchFieldError
          71    72      73  Class java.lang.NoSuchFieldError
          74    75      76  Class java.lang.NoSuchFieldError
          77    78      79  Class java.lang.NoSuchFieldError
          80    81      82  Class java.lang.NoSuchFieldError
          83    84      85  Class java.lang.NoSuchFieldError
          86    87      88  Class java.lang.NoSuchFieldError
          89    90      91  Class java.lang.NoSuchFieldError
          92    93      94  Class java.lang.NoSuchFieldError
          95    96      97  Class java.lang.NoSuchFieldError
          98    99     100  Class java.lang.NoSuchFieldError
         101   102     103  Class java.lang.NoSuchFieldError
         104   105     106  Class java.lang.NoSuchFieldError

  static int[] $SWITCH_TABLE$com$microsoft$sqlserver$jdbc$JDBCType();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 65
            getstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$JDBCType:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.microsoft.sqlserver.jdbc.JDBCType.values:()[Lcom/microsoft/sqlserver/jdbc/JDBCType;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.ARRAY:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            iconst_2
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.BIGINT:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            iconst_3
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.BINARY:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            iconst_4
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.BIT:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            iconst_5
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.BLOB:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 6
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.BOOLEAN:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 7
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.CHAR:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 8
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.CLOB:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 9
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.DATALINK:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 10
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.DATE:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 11
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.DATETIME:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 44
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.DATETIMEOFFSET:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 12
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.DECIMAL:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 13
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.DISTINCT:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 14
            iastore
        42: goto 44
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        43: pop
      StackMap locals:
      StackMap stack:
        44: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.DOUBLE:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 15
            iastore
        45: goto 47
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        46: pop
      StackMap locals:
      StackMap stack:
        47: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.FLOAT:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 16
            iastore
        48: goto 50
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        49: pop
      StackMap locals:
      StackMap stack:
        50: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.GEOGRAPHY:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 49
            iastore
        51: goto 53
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        52: pop
      StackMap locals:
      StackMap stack:
        53: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.GEOMETRY:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 48
            iastore
        54: goto 56
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        55: pop
      StackMap locals:
      StackMap stack:
        56: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.GUID:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 46
            iastore
        57: goto 59
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        58: pop
      StackMap locals:
      StackMap stack:
        59: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.INTEGER:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 17
            iastore
        60: goto 62
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        61: pop
      StackMap locals:
      StackMap stack:
        62: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.JAVA_OBJECT:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 18
            iastore
        63: goto 65
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        64: pop
      StackMap locals:
      StackMap stack:
        65: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.LOCALDATETIME:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 50
            iastore
        66: goto 68
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        67: pop
      StackMap locals:
      StackMap stack:
        68: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.LONGNVARCHAR:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 19
            iastore
        69: goto 71
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        70: pop
      StackMap locals:
      StackMap stack:
        71: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.LONGVARBINARY:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 20
            iastore
        72: goto 74
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        73: pop
      StackMap locals:
      StackMap stack:
        74: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.LONGVARCHAR:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 21
            iastore
        75: goto 77
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        76: pop
      StackMap locals:
      StackMap stack:
        77: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.MONEY:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 41
            iastore
        78: goto 80
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        79: pop
      StackMap locals:
      StackMap stack:
        80: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.NCHAR:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 22
            iastore
        81: goto 83
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        82: pop
      StackMap locals:
      StackMap stack:
        83: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.NCLOB:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 23
            iastore
        84: goto 86
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        85: pop
      StackMap locals:
      StackMap stack:
        86: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.NULL:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 24
            iastore
        87: goto 89
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        88: pop
      StackMap locals:
      StackMap stack:
        89: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.NUMERIC:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 25
            iastore
        90: goto 92
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        91: pop
      StackMap locals:
      StackMap stack:
        92: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.NVARCHAR:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 26
            iastore
        93: goto 95
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        94: pop
      StackMap locals:
      StackMap stack:
        95: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.OTHER:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 27
            iastore
        96: goto 98
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        97: pop
      StackMap locals:
      StackMap stack:
        98: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.REAL:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 28
            iastore
        99: goto 101
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       100: pop
      StackMap locals:
      StackMap stack:
       101: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.REF:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 29
            iastore
       102: goto 104
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       103: pop
      StackMap locals:
      StackMap stack:
       104: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.ROWID:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 30
            iastore
       105: goto 107
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       106: pop
      StackMap locals:
      StackMap stack:
       107: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.SMALLDATETIME:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 45
            iastore
       108: goto 110
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       109: pop
      StackMap locals:
      StackMap stack:
       110: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.SMALLINT:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 31
            iastore
       111: goto 113
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       112: pop
      StackMap locals:
      StackMap stack:
       113: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.SMALLMONEY:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 42
            iastore
       114: goto 116
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       115: pop
      StackMap locals:
      StackMap stack:
       116: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.SQLXML:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 32
            iastore
       117: goto 119
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       118: pop
      StackMap locals:
      StackMap stack:
       119: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.SQL_VARIANT:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 47
            iastore
       120: goto 122
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       121: pop
      StackMap locals:
      StackMap stack:
       122: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.STRUCT:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 33
            iastore
       123: goto 125
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       124: pop
      StackMap locals:
      StackMap stack:
       125: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.TIME:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 34
            iastore
       126: goto 128
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       127: pop
      StackMap locals:
      StackMap stack:
       128: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.TIMESTAMP:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 36
            iastore
       129: goto 131
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       130: pop
      StackMap locals:
      StackMap stack:
       131: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.TIMESTAMP_WITH_TIMEZONE:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 37
            iastore
       132: goto 134
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       133: pop
      StackMap locals:
      StackMap stack:
       134: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.TIME_WITH_TIMEZONE:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 35
            iastore
       135: goto 137
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       136: pop
      StackMap locals:
      StackMap stack:
       137: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.TINYINT:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 38
            iastore
       138: goto 140
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       139: pop
      StackMap locals:
      StackMap stack:
       140: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.TVP:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 43
            iastore
       141: goto 143
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       142: pop
      StackMap locals:
      StackMap stack:
       143: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.UNKNOWN:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            iconst_1
            iastore
       144: goto 146
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       145: pop
      StackMap locals:
      StackMap stack:
       146: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.VARBINARY:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 39
            iastore
       147: goto 149
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       148: pop
      StackMap locals:
      StackMap stack:
       149: aload 0
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.VARCHAR:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.ordinal:()I
            bipush 40
            iastore
       150: goto 152
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       151: pop
      StackMap locals:
      StackMap stack:
       152: aload 0
            dup
            putstatic com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$JDBCType:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
          35    36      37  Class java.lang.NoSuchFieldError
          38    39      40  Class java.lang.NoSuchFieldError
          41    42      43  Class java.lang.NoSuchFieldError
          44    45      46  Class java.lang.NoSuchFieldError
          47    48      49  Class java.lang.NoSuchFieldError
          50    51      52  Class java.lang.NoSuchFieldError
          53    54      55  Class java.lang.NoSuchFieldError
          56    57      58  Class java.lang.NoSuchFieldError
          59    60      61  Class java.lang.NoSuchFieldError
          62    63      64  Class java.lang.NoSuchFieldError
          65    66      67  Class java.lang.NoSuchFieldError
          68    69      70  Class java.lang.NoSuchFieldError
          71    72      73  Class java.lang.NoSuchFieldError
          74    75      76  Class java.lang.NoSuchFieldError
          77    78      79  Class java.lang.NoSuchFieldError
          80    81      82  Class java.lang.NoSuchFieldError
          83    84      85  Class java.lang.NoSuchFieldError
          86    87      88  Class java.lang.NoSuchFieldError
          89    90      91  Class java.lang.NoSuchFieldError
          92    93      94  Class java.lang.NoSuchFieldError
          95    96      97  Class java.lang.NoSuchFieldError
          98    99     100  Class java.lang.NoSuchFieldError
         101   102     103  Class java.lang.NoSuchFieldError
         104   105     106  Class java.lang.NoSuchFieldError
         107   108     109  Class java.lang.NoSuchFieldError
         110   111     112  Class java.lang.NoSuchFieldError
         113   114     115  Class java.lang.NoSuchFieldError
         116   117     118  Class java.lang.NoSuchFieldError
         119   120     121  Class java.lang.NoSuchFieldError
         122   123     124  Class java.lang.NoSuchFieldError
         125   126     127  Class java.lang.NoSuchFieldError
         128   129     130  Class java.lang.NoSuchFieldError
         131   132     133  Class java.lang.NoSuchFieldError
         134   135     136  Class java.lang.NoSuchFieldError
         137   138     139  Class java.lang.NoSuchFieldError
         140   141     142  Class java.lang.NoSuchFieldError
         143   144     145  Class java.lang.NoSuchFieldError
         146   147     148  Class java.lang.NoSuchFieldError
         149   150     151  Class java.lang.NoSuchFieldError
}
SourceFile: "SQLServerBulkCopy.java"
NestMembers:
  com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$1InsertBulk  com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData  com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping
InnerClasses:
  final InsertBulk = com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$1InsertBulk
  BulkColumnMetaData = com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData of com.microsoft.sqlserver.jdbc.SQLServerBulkCopy
  private ColumnMapping = com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$ColumnMapping of com.microsoft.sqlserver.jdbc.SQLServerBulkCopy