class com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData
  super_class: java.lang.Object
{
  java.lang.String columnName;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  com.microsoft.sqlserver.jdbc.SSType ssType;
    descriptor: Lcom/microsoft/sqlserver/jdbc/SSType;
    flags: (0x0000) 

  int jdbcType;
    descriptor: I
    flags: (0x0000) 

  int precision;
    descriptor: I
    flags: (0x0000) 

  int scale;
    descriptor: I
    flags: (0x0000) 

  com.microsoft.sqlserver.jdbc.SQLCollation collation;
    descriptor: Lcom/microsoft/sqlserver/jdbc/SQLCollation;
    flags: (0x0000) 

  byte[] flags;
    descriptor: [B
    flags: (0x0000) 

  boolean isIdentity;
    descriptor: Z
    flags: (0x0000) 

  boolean isNullable;
    descriptor: Z
    flags: (0x0000) 

  java.lang.String collationName;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

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

  java.time.format.DateTimeFormatter dateTimeFormatter;
    descriptor: Ljava/time/format/DateTimeFormatter;
    flags: (0x0000) 

  java.lang.String encryptionType;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  final com.microsoft.sqlserver.jdbc.SQLServerBulkCopy this$0;
    descriptor: Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(com.microsoft.sqlserver.jdbc.SQLServerBulkCopy, com.microsoft.sqlserver.jdbc.Column);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;Lcom/microsoft/sqlserver/jdbc/Column;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData this
        start local 2 // com.microsoft.sqlserver.jdbc.Column column
         0: .line 192
            aload 0 /* this */
            aload 1
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.this$0:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 178
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.ssType:Lcom/microsoft/sqlserver/jdbc/SSType;
         2: .line 182
            aload 0 /* this */
            iconst_2
            newarray 8
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.flags:[B
         3: .line 183
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.isIdentity:Z
         4: .line 186
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
         5: .line 187
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.dateTimeFormatter:Ljava/time/format/DateTimeFormatter;
         6: .line 190
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.encryptionType:Ljava/lang/String;
         7: .line 193
            aload 0 /* this */
            aload 2 /* column */
            invokevirtual com.microsoft.sqlserver.jdbc.Column.getCryptoMetadata:()Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
         8: .line 194
            aload 2 /* column */
            invokevirtual com.microsoft.sqlserver.jdbc.Column.getTypeInfo:()Lcom/microsoft/sqlserver/jdbc/TypeInfo;
            astore 3 /* typeInfo */
        start local 3 // com.microsoft.sqlserver.jdbc.TypeInfo typeInfo
         9: .line 195
            aload 0 /* this */
            aload 2 /* column */
            invokevirtual com.microsoft.sqlserver.jdbc.Column.getColumnName:()Ljava/lang/String;
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.columnName:Ljava/lang/String;
        10: .line 196
            aload 0 /* this */
            aload 3 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSSType:()Lcom/microsoft/sqlserver/jdbc/SSType;
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.ssType:Lcom/microsoft/sqlserver/jdbc/SSType;
        11: .line 197
            aload 0 /* this */
            aload 3 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getFlags:()[B
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.flags:[B
        12: .line 198
            aload 0 /* this */
            aload 3 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.isIdentity:()Z
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.isIdentity:Z
        13: .line 199
            aload 0 /* this */
            aload 3 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.isNullable:()Z
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.isNullable:Z
        14: .line 200
            aload 0 /* this */
            aload 3 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getPrecision:()I
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.precision:I
        15: .line 201
            aload 0 /* this */
            aload 3 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getScale:()I
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.scale:I
        16: .line 202
            aload 0 /* this */
            aload 3 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSQLCollation:()Lcom/microsoft/sqlserver/jdbc/SQLCollation;
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.collation:Lcom/microsoft/sqlserver/jdbc/SQLCollation;
        17: .line 203
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.ssType:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.getJDBCType:()Lcom/microsoft/sqlserver/jdbc/JDBCType;
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.getIntValue:()I
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.jdbcType:I
        18: .line 204
            return
        end local 3 // com.microsoft.sqlserver.jdbc.TypeInfo typeInfo
        end local 2 // com.microsoft.sqlserver.jdbc.Column column
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   19     0      this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy$BulkColumnMetaData;
            0   19     2    column  Lcom/microsoft/sqlserver/jdbc/Column;
            9   19     3  typeInfo  Lcom/microsoft/sqlserver/jdbc/TypeInfo;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
        Name  Flags
      this$0  final
      column  

  void <init>(com.microsoft.sqlserver.jdbc.SQLServerBulkCopy, java.lang.String, boolean, int, int, int, java.time.format.DateTimeFormatter);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;Ljava/lang/String;ZIIILjava/time/format/DateTimeFormatter;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=8, args_size=8
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData this
        start local 2 // java.lang.String colName
        start local 3 // boolean isNullable
        start local 4 // int precision
        start local 5 // int scale
        start local 6 // int jdbcType
        start local 7 // java.time.format.DateTimeFormatter dateTimeFormatter
         0: .line 208
            aload 0 /* this */
            aload 1
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.this$0:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
         1: .line 207
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         2: .line 178
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.ssType:Lcom/microsoft/sqlserver/jdbc/SSType;
         3: .line 182
            aload 0 /* this */
            iconst_2
            newarray 8
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.flags:[B
         4: .line 183
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.isIdentity:Z
         5: .line 186
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
         6: .line 187
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.dateTimeFormatter:Ljava/time/format/DateTimeFormatter;
         7: .line 190
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.encryptionType:Ljava/lang/String;
         8: .line 209
            aload 0 /* this */
            aload 2 /* colName */
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.columnName:Ljava/lang/String;
         9: .line 210
            aload 0 /* this */
            iload 3 /* isNullable */
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.isNullable:Z
        10: .line 211
            aload 0 /* this */
            iload 4 /* precision */
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.precision:I
        11: .line 212
            aload 0 /* this */
            iload 5 /* scale */
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.scale:I
        12: .line 213
            aload 0 /* this */
            iload 6 /* jdbcType */
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.jdbcType:I
        13: .line 214
            aload 0 /* this */
            aload 7 /* dateTimeFormatter */
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.dateTimeFormatter:Ljava/time/format/DateTimeFormatter;
        14: .line 215
            return
        end local 7 // java.time.format.DateTimeFormatter dateTimeFormatter
        end local 6 // int jdbcType
        end local 5 // int scale
        end local 4 // int precision
        end local 3 // boolean isNullable
        end local 2 // java.lang.String colName
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   15     0               this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy$BulkColumnMetaData;
            0   15     2            colName  Ljava/lang/String;
            0   15     3         isNullable  Z
            0   15     4          precision  I
            0   15     5              scale  I
            0   15     6           jdbcType  I
            0   15     7  dateTimeFormatter  Ljava/time/format/DateTimeFormatter;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                   Name  Flags
      this$0             final
      colName            
      isNullable         
      precision          
      scale              
      jdbcType           
      dateTimeFormatter  

  void <init>(com.microsoft.sqlserver.jdbc.SQLServerBulkCopy, com.microsoft.sqlserver.jdbc.Column, java.lang.String, java.lang.String);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;Lcom/microsoft/sqlserver/jdbc/Column;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData this
        start local 2 // com.microsoft.sqlserver.jdbc.Column column
        start local 3 // java.lang.String collationName
        start local 4 // java.lang.String encryptionType
         0: .line 218
            aload 0 /* this */
            aload 1
            aload 2 /* column */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.<init>:(Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;Lcom/microsoft/sqlserver/jdbc/Column;)V
         1: .line 219
            aload 0 /* this */
            aload 3 /* collationName */
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.collationName:Ljava/lang/String;
         2: .line 220
            aload 0 /* this */
            aload 4 /* encryptionType */
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.encryptionType:Ljava/lang/String;
         3: .line 221
            return
        end local 4 // java.lang.String encryptionType
        end local 3 // java.lang.String collationName
        end local 2 // com.microsoft.sqlserver.jdbc.Column column
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy$BulkColumnMetaData;
            0    4     2          column  Lcom/microsoft/sqlserver/jdbc/Column;
            0    4     3   collationName  Ljava/lang/String;
            0    4     4  encryptionType  Ljava/lang/String;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                Name  Flags
      this$0          final
      column          
      collationName   
      encryptionType  

  void <init>(com.microsoft.sqlserver.jdbc.SQLServerBulkCopy, com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData, com.microsoft.sqlserver.jdbc.CryptoMetadata);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy$BulkColumnMetaData;Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData this
        start local 2 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData bulkColumnMetaData
        start local 3 // com.microsoft.sqlserver.jdbc.CryptoMetadata cryptoMeta
         0: .line 224
            aload 0 /* this */
            aload 1
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.this$0:Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 178
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.ssType:Lcom/microsoft/sqlserver/jdbc/SSType;
         2: .line 182
            aload 0 /* this */
            iconst_2
            newarray 8
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.flags:[B
         3: .line 183
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.isIdentity:Z
         4: .line 186
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
         5: .line 187
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.dateTimeFormatter:Ljava/time/format/DateTimeFormatter;
         6: .line 190
            aload 0 /* this */
            aconst_null
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.encryptionType:Ljava/lang/String;
         7: .line 225
            aload 0 /* this */
            aload 2 /* bulkColumnMetaData */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.columnName:Ljava/lang/String;
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.columnName:Ljava/lang/String;
         8: .line 226
            aload 0 /* this */
            aload 2 /* bulkColumnMetaData */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.isNullable:Z
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.isNullable:Z
         9: .line 227
            aload 0 /* this */
            aload 2 /* bulkColumnMetaData */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.precision:I
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.precision:I
        10: .line 228
            aload 0 /* this */
            aload 2 /* bulkColumnMetaData */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.scale:I
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.scale:I
        11: .line 229
            aload 0 /* this */
            aload 2 /* bulkColumnMetaData */
            getfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.jdbcType:I
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.jdbcType:I
        12: .line 230
            aload 0 /* this */
            aload 3 /* cryptoMeta */
            putfield com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData.cryptoMeta:Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
        13: .line 231
            return
        end local 3 // com.microsoft.sqlserver.jdbc.CryptoMetadata cryptoMeta
        end local 2 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData bulkColumnMetaData
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   14     0                this  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy$BulkColumnMetaData;
            0   14     2  bulkColumnMetaData  Lcom/microsoft/sqlserver/jdbc/SQLServerBulkCopy$BulkColumnMetaData;
            0   14     3          cryptoMeta  Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
    MethodParameters:
                    Name  Flags
      this$0              final
      bulkColumnMetaData  
      cryptoMeta          
}
SourceFile: "SQLServerBulkCopy.java"
NestHost: com.microsoft.sqlserver.jdbc.SQLServerBulkCopy
InnerClasses:
  BulkColumnMetaData = com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$BulkColumnMetaData of com.microsoft.sqlserver.jdbc.SQLServerBulkCopy