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 */