public class com.fasterxml.jackson.dataformat.avro.ser.NonBSGenericDatumWriter<D> extends org.apache.avro.generic.GenericDatumWriter<D>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.fasterxml.jackson.dataformat.avro.ser.NonBSGenericDatumWriter
  super_class: org.apache.avro.generic.GenericDatumWriter
{
  private static final org.apache.avro.generic.GenericData GENERIC_DATA;
    descriptor: Lorg/apache/avro/generic/GenericData;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.Class<?> CLS_STRING;
    descriptor: Ljava/lang/Class;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  private static final java.lang.Class<?> CLS_BIG_DECIMAL;
    descriptor: Ljava/lang/Class;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  private static final java.lang.Class<?> CLS_BIG_INTEGER;
    descriptor: Ljava/lang/Class;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  private static volatile int[] $SWITCH_TABLE$org$apache$avro$Schema$Type;
    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 23
            invokestatic org.apache.avro.generic.GenericData.get:()Lorg/apache/avro/generic/GenericData;
            putstatic com.fasterxml.jackson.dataformat.avro.ser.NonBSGenericDatumWriter.GENERIC_DATA:Lorg/apache/avro/generic/GenericData;
         1: .line 25
            ldc Ljava/lang/String;
            putstatic com.fasterxml.jackson.dataformat.avro.ser.NonBSGenericDatumWriter.CLS_STRING:Ljava/lang/Class;
         2: .line 26
            ldc Ljava/math/BigDecimal;
            putstatic com.fasterxml.jackson.dataformat.avro.ser.NonBSGenericDatumWriter.CLS_BIG_DECIMAL:Ljava/lang/Class;
         3: .line 27
            ldc Ljava/math/BigInteger;
            putstatic com.fasterxml.jackson.dataformat.avro.ser.NonBSGenericDatumWriter.CLS_BIG_INTEGER:Ljava/lang/Class;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.apache.avro.Schema);
    descriptor: (Lorg/apache/avro/Schema;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.fasterxml.jackson.dataformat.avro.ser.NonBSGenericDatumWriter this
        start local 1 // org.apache.avro.Schema root
         0: .line 30
            aload 0 /* this */
            aload 1 /* root */
            invokespecial org.apache.avro.generic.GenericDatumWriter.<init>:(Lorg/apache/avro/Schema;)V
         1: .line 31
            return
        end local 1 // org.apache.avro.Schema root
        end local 0 // com.fasterxml.jackson.dataformat.avro.ser.NonBSGenericDatumWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/fasterxml/jackson/dataformat/avro/ser/NonBSGenericDatumWriter<TD;>;
            0    2     1  root  Lorg/apache/avro/Schema;
    MethodParameters:
      Name  Flags
      root  

  public int resolveUnion(org.apache.avro.Schema, java.lang.Object);
    descriptor: (Lorg/apache/avro/Schema;Ljava/lang/Object;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.fasterxml.jackson.dataformat.avro.ser.NonBSGenericDatumWriter this
        start local 1 // org.apache.avro.Schema union
        start local 2 // java.lang.Object datum
         0: .line 35
            aload 1 /* union */
            aload 2 /* datum */
            invokestatic com.fasterxml.jackson.dataformat.avro.ser.AvroWriteContext.resolveUnionIndex:(Lorg/apache/avro/Schema;Ljava/lang/Object;)I
            ireturn
        end local 2 // java.lang.Object datum
        end local 1 // org.apache.avro.Schema union
        end local 0 // com.fasterxml.jackson.dataformat.avro.ser.NonBSGenericDatumWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/fasterxml/jackson/dataformat/avro/ser/NonBSGenericDatumWriter<TD;>;
            0    1     1  union  Lorg/apache/avro/Schema;
            0    1     2  datum  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      union  
      datum  

  protected void write(org.apache.avro.Schema, java.lang.Object, org.apache.avro.io.Encoder);
    descriptor: (Lorg/apache/avro/Schema;Ljava/lang/Object;Lorg/apache/avro/io/Encoder;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // com.fasterxml.jackson.dataformat.avro.ser.NonBSGenericDatumWriter this
        start local 1 // org.apache.avro.Schema schema
        start local 2 // java.lang.Object datum
        start local 3 // org.apache.avro.io.Encoder out
         0: .line 41
            aload 2 /* datum */
            ifnonnull 3
         1: .line 42
            aload 0 /* this */
            aload 1 /* schema */
            aload 2 /* datum */
            aload 3 /* out */
            invokespecial org.apache.avro.generic.GenericDatumWriter.writeWithoutConversion:(Lorg/apache/avro/Schema;Ljava/lang/Object;Lorg/apache/avro/io/Encoder;)V
         2: .line 43
            return
         3: .line 45
      StackMap locals:
      StackMap stack:
            invokestatic com.fasterxml.jackson.dataformat.avro.ser.NonBSGenericDatumWriter.$SWITCH_TABLE$org$apache$avro$Schema$Type:()[I
            aload 1 /* schema */
            invokevirtual org.apache.avro.Schema.getType:()Lorg/apache/avro/Schema$Type;
            invokevirtual org.apache.avro.Schema$Type.ordinal:()I
            iaload
            tableswitch { // 2 - 12
                    2: 11
                    3: 25
                    4: 37
                    5: 37
                    6: 37
                    7: 4
                    8: 37
                    9: 13
                   10: 19
                   11: 37
                   12: 22
              default: 37
          }
         4: .line 47
      StackMap locals:
      StackMap stack:
            aload 2 /* datum */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 4 /* raw */
        start local 4 // java.lang.Class raw
         5: .line 48
            aload 4 /* raw */
            getstatic com.fasterxml.jackson.dataformat.avro.ser.NonBSGenericDatumWriter.CLS_STRING:Ljava/lang/Class;
            if_acmpne 8
         6: .line 49
            aload 0 /* this */
            aload 2 /* datum */
            aload 3 /* out */
            invokevirtual com.fasterxml.jackson.dataformat.avro.ser.NonBSGenericDatumWriter.writeString:(Ljava/lang/Object;Lorg/apache/avro/io/Encoder;)V
         7: .line 50
            return
         8: .line 52
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 4 /* raw */
            getstatic com.fasterxml.jackson.dataformat.avro.ser.NonBSGenericDatumWriter.CLS_BIG_DECIMAL:Ljava/lang/Class;
            if_acmpeq 9
            aload 4 /* raw */
            getstatic com.fasterxml.jackson.dataformat.avro.ser.NonBSGenericDatumWriter.CLS_BIG_INTEGER:Ljava/lang/Class;
            if_acmpne 37
         9: .line 53
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* datum */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aload 3 /* out */
            invokevirtual com.fasterxml.jackson.dataformat.avro.ser.NonBSGenericDatumWriter.writeString:(Ljava/lang/Object;Lorg/apache/avro/io/Encoder;)V
        10: .line 54
            return
        end local 4 // java.lang.Class raw
        11: .line 58
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* schema */
            getstatic com.fasterxml.jackson.dataformat.avro.ser.NonBSGenericDatumWriter.GENERIC_DATA:Lorg/apache/avro/generic/GenericData;
            aload 2 /* datum */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aload 1 /* schema */
            invokevirtual org.apache.avro.generic.GenericData.createEnum:(Ljava/lang/String;Lorg/apache/avro/Schema;)Ljava/lang/Object;
            aload 3 /* out */
            invokespecial org.apache.avro.generic.GenericDatumWriter.writeWithoutConversion:(Lorg/apache/avro/Schema;Ljava/lang/Object;Lorg/apache/avro/io/Encoder;)V
        12: .line 59
            return
        13: .line 61
      StackMap locals:
      StackMap stack:
            aload 2 /* datum */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            getstatic com.fasterxml.jackson.dataformat.avro.ser.NonBSGenericDatumWriter.CLS_STRING:Ljava/lang/Class;
            if_acmpne 37
        14: .line 62
            aload 2 /* datum */
            checkcast java.lang.String
            astore 5 /* str */
        start local 5 // java.lang.String str
        15: .line 63
            aload 5 /* str */
            invokevirtual java.lang.String.length:()I
            istore 6 /* len */
        start local 6 // int len
        16: .line 64
            iload 6 /* len */
            iconst_1
            if_icmpne 37
        17: .line 65
            aload 0 /* this */
            aload 1 /* schema */
            aload 5 /* str */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 3 /* out */
            invokespecial org.apache.avro.generic.GenericDatumWriter.writeWithoutConversion:(Lorg/apache/avro/Schema;Ljava/lang/Object;Lorg/apache/avro/io/Encoder;)V
        18: .line 66
            return
        end local 6 // int len
        end local 5 // java.lang.String str
        19: .line 71
      StackMap locals:
      StackMap stack:
            aload 2 /* datum */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            getstatic com.fasterxml.jackson.dataformat.avro.ser.NonBSGenericDatumWriter.CLS_BIG_INTEGER:Ljava/lang/Class;
            if_acmpne 37
        20: .line 72
            aload 2 /* datum */
            checkcast java.math.BigInteger
            invokevirtual java.math.BigInteger.longValue:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            astore 2 /* datum */
        21: .line 74
            goto 37
        22: .line 76
      StackMap locals:
      StackMap stack:
            aload 2 /* datum */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            getstatic com.fasterxml.jackson.dataformat.avro.ser.NonBSGenericDatumWriter.CLS_BIG_DECIMAL:Ljava/lang/Class;
            if_acmpne 37
        23: .line 77
            aload 2 /* datum */
            checkcast java.math.BigDecimal
            invokevirtual java.math.BigDecimal.doubleValue:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            astore 2 /* datum */
        24: .line 79
            goto 37
        25: .line 81
      StackMap locals:
      StackMap stack:
            aload 2 /* datum */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            getstatic com.fasterxml.jackson.dataformat.avro.ser.NonBSGenericDatumWriter.CLS_STRING:Ljava/lang/Class;
            if_acmpne 37
        26: .line 82
            aload 1 /* schema */
            invokevirtual org.apache.avro.Schema.getElementType:()Lorg/apache/avro/Schema;
            invokevirtual org.apache.avro.Schema.getType:()Lorg/apache/avro/Schema$Type;
            getstatic org.apache.avro.Schema$Type.INT:Lorg/apache/avro/Schema$Type;
            if_acmpne 37
        27: .line 83
            aload 2 /* datum */
            checkcast java.lang.String
            astore 5 /* str */
        start local 5 // java.lang.String str
        28: .line 84
            aload 5 /* str */
            invokevirtual java.lang.String.length:()I
            istore 6 /* len */
        start local 6 // int len
        29: .line 85
            new java.util.ArrayList
            dup
            iload 6 /* len */
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 7 /* chars */
        start local 7 // java.util.ArrayList chars
        30: .line 86
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        31: goto 34
        32: .line 87
      StackMap locals: com.fasterxml.jackson.dataformat.avro.ser.NonBSGenericDatumWriter org.apache.avro.Schema java.lang.Object org.apache.avro.io.Encoder top java.lang.String int java.util.ArrayList int
      StackMap stack:
            aload 7 /* chars */
            aload 5 /* str */
            iload 8 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        33: .line 86
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        34: iload 8 /* i */
            iload 6 /* len */
            if_icmplt 32
        end local 8 // int i
        35: .line 89
            aload 0 /* this */
            aload 1 /* schema */
            aload 7 /* chars */
            aload 3 /* out */
            invokespecial org.apache.avro.generic.GenericDatumWriter.writeWithoutConversion:(Lorg/apache/avro/Schema;Ljava/lang/Object;Lorg/apache/avro/io/Encoder;)V
        36: .line 90
            return
        end local 7 // java.util.ArrayList chars
        end local 6 // int len
        end local 5 // java.lang.String str
        37: .line 97
      StackMap locals: com.fasterxml.jackson.dataformat.avro.ser.NonBSGenericDatumWriter org.apache.avro.Schema java.lang.Object org.apache.avro.io.Encoder
      StackMap stack:
            aload 2 /* datum */
            instanceof com.fasterxml.jackson.dataformat.avro.ser.EncodedDatum
            ifeq 40
        38: .line 98
            aload 2 /* datum */
            checkcast com.fasterxml.jackson.dataformat.avro.ser.EncodedDatum
            aload 3 /* out */
            invokeinterface com.fasterxml.jackson.dataformat.avro.ser.EncodedDatum.write:(Lorg/apache/avro/io/Encoder;)V
        39: .line 99
            return
        40: .line 101
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* schema */
            aload 2 /* datum */
            aload 3 /* out */
            invokespecial org.apache.avro.generic.GenericDatumWriter.writeWithoutConversion:(Lorg/apache/avro/Schema;Ljava/lang/Object;Lorg/apache/avro/io/Encoder;)V
        41: .line 103
            return
        end local 3 // org.apache.avro.io.Encoder out
        end local 2 // java.lang.Object datum
        end local 1 // org.apache.avro.Schema schema
        end local 0 // com.fasterxml.jackson.dataformat.avro.ser.NonBSGenericDatumWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   42     0    this  Lcom/fasterxml/jackson/dataformat/avro/ser/NonBSGenericDatumWriter<TD;>;
            0   42     1  schema  Lorg/apache/avro/Schema;
            0   42     2   datum  Ljava/lang/Object;
            0   42     3     out  Lorg/apache/avro/io/Encoder;
            5   11     4     raw  Ljava/lang/Class<*>;
           15   19     5     str  Ljava/lang/String;
           16   19     6     len  I
           28   37     5     str  Ljava/lang/String;
           29   37     6     len  I
           30   37     7   chars  Ljava/util/ArrayList<Ljava/lang/Integer;>;
           31   35     8       i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      schema  
      datum   
      out     

  static int[] $SWITCH_TABLE$org$apache$avro$Schema$Type();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 20
            getstatic com.fasterxml.jackson.dataformat.avro.ser.NonBSGenericDatumWriter.$SWITCH_TABLE$org$apache$avro$Schema$Type:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.apache.avro.Schema$Type.values:()[Lorg/apache/avro/Schema$Type;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.apache.avro.Schema$Type.ARRAY:Lorg/apache/avro/Schema$Type;
            invokevirtual org.apache.avro.Schema$Type.ordinal:()I
            iconst_3
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.apache.avro.Schema$Type.BOOLEAN:Lorg/apache/avro/Schema$Type;
            invokevirtual org.apache.avro.Schema$Type.ordinal:()I
            bipush 13
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.apache.avro.Schema$Type.BYTES:Lorg/apache/avro/Schema$Type;
            invokevirtual org.apache.avro.Schema$Type.ordinal:()I
            bipush 8
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.apache.avro.Schema$Type.DOUBLE:Lorg/apache/avro/Schema$Type;
            invokevirtual org.apache.avro.Schema$Type.ordinal:()I
            bipush 12
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic org.apache.avro.Schema$Type.ENUM:Lorg/apache/avro/Schema$Type;
            invokevirtual org.apache.avro.Schema$Type.ordinal:()I
            iconst_2
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic org.apache.avro.Schema$Type.FIXED:Lorg/apache/avro/Schema$Type;
            invokevirtual org.apache.avro.Schema$Type.ordinal:()I
            bipush 6
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic org.apache.avro.Schema$Type.FLOAT:Lorg/apache/avro/Schema$Type;
            invokevirtual org.apache.avro.Schema$Type.ordinal:()I
            bipush 11
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic org.apache.avro.Schema$Type.INT:Lorg/apache/avro/Schema$Type;
            invokevirtual org.apache.avro.Schema$Type.ordinal:()I
            bipush 9
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic org.apache.avro.Schema$Type.LONG:Lorg/apache/avro/Schema$Type;
            invokevirtual org.apache.avro.Schema$Type.ordinal:()I
            bipush 10
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic org.apache.avro.Schema$Type.MAP:Lorg/apache/avro/Schema$Type;
            invokevirtual org.apache.avro.Schema$Type.ordinal:()I
            iconst_4
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic org.apache.avro.Schema$Type.NULL:Lorg/apache/avro/Schema$Type;
            invokevirtual org.apache.avro.Schema$Type.ordinal:()I
            bipush 14
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic org.apache.avro.Schema$Type.RECORD:Lorg/apache/avro/Schema$Type;
            invokevirtual org.apache.avro.Schema$Type.ordinal:()I
            iconst_1
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic org.apache.avro.Schema$Type.STRING:Lorg/apache/avro/Schema$Type;
            invokevirtual org.apache.avro.Schema$Type.ordinal:()I
            bipush 7
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            getstatic org.apache.avro.Schema$Type.UNION:Lorg/apache/avro/Schema$Type;
            invokevirtual org.apache.avro.Schema$Type.ordinal:()I
            iconst_5
            iastore
        42: goto 44
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        43: pop
      StackMap locals:
      StackMap stack:
        44: aload 0
            dup
            putstatic com.fasterxml.jackson.dataformat.avro.ser.NonBSGenericDatumWriter.$SWITCH_TABLE$org$apache$avro$Schema$Type:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
          35    36      37  Class java.lang.NoSuchFieldError
          38    39      40  Class java.lang.NoSuchFieldError
          41    42      43  Class java.lang.NoSuchFieldError
}
Signature: <D:Ljava/lang/Object;>Lorg/apache/avro/generic/GenericDatumWriter<TD;>;
SourceFile: "NonBSGenericDatumWriter.java"
InnerClasses:
  public final Type = org.apache.avro.Schema$Type of org.apache.avro.Schema