public class org.apache.avro.Conversions$DecimalConversion extends org.apache.avro.Conversion<java.math.BigDecimal>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.avro.Conversions$DecimalConversion
  super_class: org.apache.avro.Conversion
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.avro.Conversions$DecimalConversion this
         0: .line 62
            aload 0 /* this */
            invokespecial org.apache.avro.Conversion.<init>:()V
            return
        end local 0 // org.apache.avro.Conversions$DecimalConversion this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/avro/Conversions$DecimalConversion;

  public java.lang.Class<java.math.BigDecimal> getConvertedType();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.avro.Conversions$DecimalConversion this
         0: .line 65
            ldc Ljava/math/BigDecimal;
            areturn
        end local 0 // org.apache.avro.Conversions$DecimalConversion this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/avro/Conversions$DecimalConversion;
    Signature: ()Ljava/lang/Class<Ljava/math/BigDecimal;>;

  public org.apache.avro.Schema getRecommendedSchema();
    descriptor: ()Lorg/apache/avro/Schema;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.avro.Conversions$DecimalConversion this
         0: .line 70
            new java.lang.UnsupportedOperationException
            dup
            ldc "No recommended schema for decimal (scale is required)"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.apache.avro.Conversions$DecimalConversion this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/avro/Conversions$DecimalConversion;

  public java.lang.String getLogicalTypeName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.avro.Conversions$DecimalConversion this
         0: .line 75
            ldc "decimal"
            areturn
        end local 0 // org.apache.avro.Conversions$DecimalConversion this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/avro/Conversions$DecimalConversion;

  public java.math.BigDecimal fromBytes(java.nio.ByteBuffer, org.apache.avro.Schema, org.apache.avro.LogicalType);
    descriptor: (Ljava/nio/ByteBuffer;Lorg/apache/avro/Schema;Lorg/apache/avro/LogicalType;)Ljava/math/BigDecimal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.apache.avro.Conversions$DecimalConversion this
        start local 1 // java.nio.ByteBuffer value
        start local 2 // org.apache.avro.Schema schema
        start local 3 // org.apache.avro.LogicalType type
         0: .line 80
            aload 3 /* type */
            checkcast org.apache.avro.LogicalTypes$Decimal
            invokevirtual org.apache.avro.LogicalTypes$Decimal.getScale:()I
            istore 4 /* scale */
        start local 4 // int scale
         1: .line 82
            aload 1 /* value */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            newarray 8
            astore 5 /* bytes */
        start local 5 // byte[] bytes
         2: .line 83
            aload 1 /* value */
            aload 5 /* bytes */
            invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
            pop
         3: .line 84
            new java.math.BigDecimal
            dup
            new java.math.BigInteger
            dup
            aload 5 /* bytes */
            invokespecial java.math.BigInteger.<init>:([B)V
            iload 4 /* scale */
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;I)V
            areturn
        end local 5 // byte[] bytes
        end local 4 // int scale
        end local 3 // org.apache.avro.LogicalType type
        end local 2 // org.apache.avro.Schema schema
        end local 1 // java.nio.ByteBuffer value
        end local 0 // org.apache.avro.Conversions$DecimalConversion this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/apache/avro/Conversions$DecimalConversion;
            0    4     1   value  Ljava/nio/ByteBuffer;
            0    4     2  schema  Lorg/apache/avro/Schema;
            0    4     3    type  Lorg/apache/avro/LogicalType;
            1    4     4   scale  I
            2    4     5   bytes  [B
    MethodParameters:
        Name  Flags
      value   
      schema  
      type    

  public java.nio.ByteBuffer toBytes(java.math.BigDecimal, org.apache.avro.Schema, org.apache.avro.LogicalType);
    descriptor: (Ljava/math/BigDecimal;Lorg/apache/avro/Schema;Lorg/apache/avro/LogicalType;)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.apache.avro.Conversions$DecimalConversion this
        start local 1 // java.math.BigDecimal value
        start local 2 // org.apache.avro.Schema schema
        start local 3 // org.apache.avro.LogicalType type
         0: .line 89
            aload 3 /* type */
            checkcast org.apache.avro.LogicalTypes$Decimal
            invokevirtual org.apache.avro.LogicalTypes$Decimal.getScale:()I
            istore 4 /* scale */
        start local 4 // int scale
         1: .line 90
            iload 4 /* scale */
            aload 1 /* value */
            invokevirtual java.math.BigDecimal.scale:()I
            if_icmpeq 3
         2: .line 91
            new org.apache.avro.AvroTypeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot encode decimal with scale "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* value */
            invokevirtual java.math.BigDecimal.scale:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " as scale "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 4 /* scale */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.apache.avro.AvroTypeException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 93
      StackMap locals: int
      StackMap stack:
            aload 1 /* value */
            invokevirtual java.math.BigDecimal.unscaledValue:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.toByteArray:()[B
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            areturn
        end local 4 // int scale
        end local 3 // org.apache.avro.LogicalType type
        end local 2 // org.apache.avro.Schema schema
        end local 1 // java.math.BigDecimal value
        end local 0 // org.apache.avro.Conversions$DecimalConversion this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/apache/avro/Conversions$DecimalConversion;
            0    4     1   value  Ljava/math/BigDecimal;
            0    4     2  schema  Lorg/apache/avro/Schema;
            0    4     3    type  Lorg/apache/avro/LogicalType;
            1    4     4   scale  I
    MethodParameters:
        Name  Flags
      value   
      schema  
      type    

  public java.math.BigDecimal fromFixed(org.apache.avro.generic.GenericFixed, org.apache.avro.Schema, org.apache.avro.LogicalType);
    descriptor: (Lorg/apache/avro/generic/GenericFixed;Lorg/apache/avro/Schema;Lorg/apache/avro/LogicalType;)Ljava/math/BigDecimal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.apache.avro.Conversions$DecimalConversion this
        start local 1 // org.apache.avro.generic.GenericFixed value
        start local 2 // org.apache.avro.Schema schema
        start local 3 // org.apache.avro.LogicalType type
         0: .line 98
            aload 3 /* type */
            checkcast org.apache.avro.LogicalTypes$Decimal
            invokevirtual org.apache.avro.LogicalTypes$Decimal.getScale:()I
            istore 4 /* scale */
        start local 4 // int scale
         1: .line 99
            new java.math.BigDecimal
            dup
            new java.math.BigInteger
            dup
            aload 1 /* value */
            invokeinterface org.apache.avro.generic.GenericFixed.bytes:()[B
            invokespecial java.math.BigInteger.<init>:([B)V
            iload 4 /* scale */
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;I)V
            areturn
        end local 4 // int scale
        end local 3 // org.apache.avro.LogicalType type
        end local 2 // org.apache.avro.Schema schema
        end local 1 // org.apache.avro.generic.GenericFixed value
        end local 0 // org.apache.avro.Conversions$DecimalConversion this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/avro/Conversions$DecimalConversion;
            0    2     1   value  Lorg/apache/avro/generic/GenericFixed;
            0    2     2  schema  Lorg/apache/avro/Schema;
            0    2     3    type  Lorg/apache/avro/LogicalType;
            1    2     4   scale  I
    MethodParameters:
        Name  Flags
      value   
      schema  
      type    

  public org.apache.avro.generic.GenericFixed toFixed(java.math.BigDecimal, org.apache.avro.Schema, org.apache.avro.LogicalType);
    descriptor: (Ljava/math/BigDecimal;Lorg/apache/avro/Schema;Lorg/apache/avro/LogicalType;)Lorg/apache/avro/generic/GenericFixed;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=4
        start local 0 // org.apache.avro.Conversions$DecimalConversion this
        start local 1 // java.math.BigDecimal value
        start local 2 // org.apache.avro.Schema schema
        start local 3 // org.apache.avro.LogicalType type
         0: .line 104
            aload 3 /* type */
            checkcast org.apache.avro.LogicalTypes$Decimal
            invokevirtual org.apache.avro.LogicalTypes$Decimal.getScale:()I
            istore 4 /* scale */
        start local 4 // int scale
         1: .line 105
            iload 4 /* scale */
            aload 1 /* value */
            invokevirtual java.math.BigDecimal.scale:()I
            if_icmpeq 3
         2: .line 106
            new org.apache.avro.AvroTypeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot encode decimal with scale "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* value */
            invokevirtual java.math.BigDecimal.scale:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " as scale "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 4 /* scale */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.apache.avro.AvroTypeException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 109
      StackMap locals: int
      StackMap stack:
            aload 1 /* value */
            invokevirtual java.math.BigDecimal.signum:()I
            ifge 4
            sipush 255
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: i2b
            istore 5 /* fillByte */
        start local 5 // byte fillByte
         6: .line 110
            aload 1 /* value */
            invokevirtual java.math.BigDecimal.unscaledValue:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.toByteArray:()[B
            astore 6 /* unscaled */
        start local 6 // byte[] unscaled
         7: .line 111
            aload 2 /* schema */
            invokevirtual org.apache.avro.Schema.getFixedSize:()I
            newarray 8
            astore 7 /* bytes */
        start local 7 // byte[] bytes
         8: .line 112
            aload 7 /* bytes */
            arraylength
            aload 6 /* unscaled */
            arraylength
            isub
            istore 8 /* offset */
        start local 8 // int offset
         9: .line 115
            aload 7 /* bytes */
            iconst_0
            iload 8 /* offset */
            iload 5 /* fillByte */
            invokestatic java.util.Arrays.fill:([BIIB)V
        10: .line 116
            aload 6 /* unscaled */
            iconst_0
            aload 7 /* bytes */
            iload 8 /* offset */
            aload 7 /* bytes */
            arraylength
            iload 8 /* offset */
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        11: .line 118
            new org.apache.avro.generic.GenericData$Fixed
            dup
            aload 2 /* schema */
            aload 7 /* bytes */
            invokespecial org.apache.avro.generic.GenericData$Fixed.<init>:(Lorg/apache/avro/Schema;[B)V
            areturn
        end local 8 // int offset
        end local 7 // byte[] bytes
        end local 6 // byte[] unscaled
        end local 5 // byte fillByte
        end local 4 // int scale
        end local 3 // org.apache.avro.LogicalType type
        end local 2 // org.apache.avro.Schema schema
        end local 1 // java.math.BigDecimal value
        end local 0 // org.apache.avro.Conversions$DecimalConversion this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lorg/apache/avro/Conversions$DecimalConversion;
            0   12     1     value  Ljava/math/BigDecimal;
            0   12     2    schema  Lorg/apache/avro/Schema;
            0   12     3      type  Lorg/apache/avro/LogicalType;
            1   12     4     scale  I
            6   12     5  fillByte  B
            7   12     6  unscaled  [B
            8   12     7     bytes  [B
            9   12     8    offset  I
    MethodParameters:
        Name  Flags
      value   
      schema  
      type    

  public java.lang.Object fromBytes(java.nio.ByteBuffer, org.apache.avro.Schema, org.apache.avro.LogicalType);
    descriptor: (Ljava/nio/ByteBuffer;Lorg/apache/avro/Schema;Lorg/apache/avro/LogicalType;)Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            aload 2
            aload 3
            invokevirtual org.apache.avro.Conversions$DecimalConversion.fromBytes:(Ljava/nio/ByteBuffer;Lorg/apache/avro/Schema;Lorg/apache/avro/LogicalType;)Ljava/math/BigDecimal;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.Object fromFixed(org.apache.avro.generic.GenericFixed, org.apache.avro.Schema, org.apache.avro.LogicalType);
    descriptor: (Lorg/apache/avro/generic/GenericFixed;Lorg/apache/avro/Schema;Lorg/apache/avro/LogicalType;)Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            aload 2
            aload 3
            invokevirtual org.apache.avro.Conversions$DecimalConversion.fromFixed:(Lorg/apache/avro/generic/GenericFixed;Lorg/apache/avro/Schema;Lorg/apache/avro/LogicalType;)Ljava/math/BigDecimal;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.nio.ByteBuffer toBytes(java.lang.Object, org.apache.avro.Schema, org.apache.avro.LogicalType);
    descriptor: (Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/LogicalType;)Ljava/nio/ByteBuffer;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            checkcast java.math.BigDecimal
            aload 2
            aload 3
            invokevirtual org.apache.avro.Conversions$DecimalConversion.toBytes:(Ljava/math/BigDecimal;Lorg/apache/avro/Schema;Lorg/apache/avro/LogicalType;)Ljava/nio/ByteBuffer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.apache.avro.generic.GenericFixed toFixed(java.lang.Object, org.apache.avro.Schema, org.apache.avro.LogicalType);
    descriptor: (Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/LogicalType;)Lorg/apache/avro/generic/GenericFixed;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            checkcast java.math.BigDecimal
            aload 2
            aload 3
            invokevirtual org.apache.avro.Conversions$DecimalConversion.toFixed:(Ljava/math/BigDecimal;Lorg/apache/avro/Schema;Lorg/apache/avro/LogicalType;)Lorg/apache/avro/generic/GenericFixed;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Lorg/apache/avro/Conversion<Ljava/math/BigDecimal;>;
SourceFile: "Conversions.java"
NestHost: org.apache.avro.Conversions
InnerClasses:
  public DecimalConversion = org.apache.avro.Conversions$DecimalConversion of org.apache.avro.Conversions
  public Decimal = org.apache.avro.LogicalTypes$Decimal of org.apache.avro.LogicalTypes
  public Fixed = org.apache.avro.generic.GenericData$Fixed of org.apache.avro.generic.GenericData