public class org.apache.avro.generic.GenericDatumReader<D> implements org.apache.avro.io.DatumReader<D>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.avro.generic.GenericDatumReader
  super_class: java.lang.Object
{
  private final org.apache.avro.generic.GenericData data;
    descriptor: Lorg/apache/avro/generic/GenericData;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.apache.avro.Schema actual;
    descriptor: Lorg/apache/avro/Schema;
    flags: (0x0002) ACC_PRIVATE

  private org.apache.avro.Schema expected;
    descriptor: Lorg/apache/avro/Schema;
    flags: (0x0002) ACC_PRIVATE

  private org.apache.avro.io.ResolvingDecoder creatorResolver;
    descriptor: Lorg/apache/avro/io/ResolvingDecoder;
    flags: (0x0002) ACC_PRIVATE

  private final java.lang.Thread creator;
    descriptor: Ljava/lang/Thread;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final java.lang.ThreadLocal<java.util.Map<org.apache.avro.Schema, java.util.Map<org.apache.avro.Schema, org.apache.avro.io.ResolvingDecoder>>> RESOLVER_CACHE;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/ThreadLocal<Ljava/util/Map<Lorg/apache/avro/Schema;Ljava/util/Map<Lorg/apache/avro/Schema;Lorg/apache/avro/io/ResolvingDecoder;>;>;>;

  private java.util.Map<org.apache.avro.Schema, java.lang.Class> stringClassCache;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Lorg/apache/avro/Schema;Ljava/lang/Class;>;

  private final java.util.Map<java.lang.Class, java.lang.reflect.Constructor> stringCtorCache;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class;Ljava/lang/reflect/Constructor;>;

  private static volatile int[] $SWITCH_TABLE$org$apache$avro$Schema$Type;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$org$apache$avro$generic$GenericData$StringType;
    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 107
            invokedynamic get()Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/apache/avro/util/WeakIdentityHashMap.<init>()V (8)
                  ()Ljava/util/Map;
            invokestatic java.lang.ThreadLocal.withInitial:(Ljava/util/function/Supplier;)Ljava/lang/ThreadLocal;
         1: .line 106
            putstatic org.apache.avro.generic.GenericDatumReader.RESOLVER_CACHE:Ljava/lang/ThreadLocal;
         2: .line 107
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.avro.generic.GenericDatumReader this
         0: .line 52
            aload 0 /* this */
            aconst_null
            aconst_null
            invokestatic org.apache.avro.generic.GenericData.get:()Lorg/apache/avro/generic/GenericData;
            invokespecial org.apache.avro.generic.GenericDatumReader.<init>:(Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Lorg/apache/avro/generic/GenericData;)V
         1: .line 53
            return
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;

  public void <init>(org.apache.avro.Schema);
    descriptor: (Lorg/apache/avro/Schema;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // org.apache.avro.Schema schema
         0: .line 57
            aload 0 /* this */
            aload 1 /* schema */
            aload 1 /* schema */
            invokestatic org.apache.avro.generic.GenericData.get:()Lorg/apache/avro/generic/GenericData;
            invokespecial org.apache.avro.generic.GenericDatumReader.<init>:(Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Lorg/apache/avro/generic/GenericData;)V
         1: .line 58
            return
        end local 1 // org.apache.avro.Schema schema
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0    2     1  schema  Lorg/apache/avro/Schema;
    MethodParameters:
        Name  Flags
      schema  

  public void <init>(org.apache.avro.Schema, org.apache.avro.Schema);
    descriptor: (Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // org.apache.avro.Schema writer
        start local 2 // org.apache.avro.Schema reader
         0: .line 62
            aload 0 /* this */
            aload 1 /* writer */
            aload 2 /* reader */
            invokestatic org.apache.avro.generic.GenericData.get:()Lorg/apache/avro/generic/GenericData;
            invokespecial org.apache.avro.generic.GenericDatumReader.<init>:(Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Lorg/apache/avro/generic/GenericData;)V
         1: .line 63
            return
        end local 2 // org.apache.avro.Schema reader
        end local 1 // org.apache.avro.Schema writer
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0    2     1  writer  Lorg/apache/avro/Schema;
            0    2     2  reader  Lorg/apache/avro/Schema;
    MethodParameters:
        Name  Flags
      writer  
      reader  

  public void <init>(org.apache.avro.Schema, org.apache.avro.Schema, org.apache.avro.generic.GenericData);
    descriptor: (Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Lorg/apache/avro/generic/GenericData;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // org.apache.avro.Schema writer
        start local 2 // org.apache.avro.Schema reader
        start local 3 // org.apache.avro.generic.GenericData data
         0: .line 66
            aload 0 /* this */
            aload 3 /* data */
            invokespecial org.apache.avro.generic.GenericDatumReader.<init>:(Lorg/apache/avro/generic/GenericData;)V
         1: .line 67
            aload 0 /* this */
            aload 1 /* writer */
            putfield org.apache.avro.generic.GenericDatumReader.actual:Lorg/apache/avro/Schema;
         2: .line 68
            aload 0 /* this */
            aload 2 /* reader */
            putfield org.apache.avro.generic.GenericDatumReader.expected:Lorg/apache/avro/Schema;
         3: .line 69
            return
        end local 3 // org.apache.avro.generic.GenericData data
        end local 2 // org.apache.avro.Schema reader
        end local 1 // org.apache.avro.Schema writer
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0    4     1  writer  Lorg/apache/avro/Schema;
            0    4     2  reader  Lorg/apache/avro/Schema;
            0    4     3    data  Lorg/apache/avro/generic/GenericData;
    MethodParameters:
        Name  Flags
      writer  
      reader  
      data    

  protected void <init>(org.apache.avro.generic.GenericData);
    descriptor: (Lorg/apache/avro/generic/GenericData;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // org.apache.avro.generic.GenericData data
         0: .line 71
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 48
            aload 0 /* this */
            aconst_null
            putfield org.apache.avro.generic.GenericDatumReader.creatorResolver:Lorg/apache/avro/io/ResolvingDecoder;
         2: .line 498
            aload 0 /* this */
            new java.util.IdentityHashMap
            dup
            invokespecial java.util.IdentityHashMap.<init>:()V
            putfield org.apache.avro.generic.GenericDatumReader.stringClassCache:Ljava/util/Map;
         3: .line 509
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.avro.generic.GenericDatumReader.stringCtorCache:Ljava/util/Map;
         4: .line 72
            aload 0 /* this */
            aload 1 /* data */
            putfield org.apache.avro.generic.GenericDatumReader.data:Lorg/apache/avro/generic/GenericData;
         5: .line 73
            aload 0 /* this */
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            putfield org.apache.avro.generic.GenericDatumReader.creator:Ljava/lang/Thread;
         6: .line 74
            return
        end local 1 // org.apache.avro.generic.GenericData data
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0    7     1  data  Lorg/apache/avro/generic/GenericData;
    MethodParameters:
      Name  Flags
      data  

  public org.apache.avro.generic.GenericData getData();
    descriptor: ()Lorg/apache/avro/generic/GenericData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.avro.generic.GenericDatumReader this
         0: .line 78
            aload 0 /* this */
            getfield org.apache.avro.generic.GenericDatumReader.data:Lorg/apache/avro/generic/GenericData;
            areturn
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;

  public org.apache.avro.Schema getSchema();
    descriptor: ()Lorg/apache/avro/Schema;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.avro.generic.GenericDatumReader this
         0: .line 83
            aload 0 /* this */
            getfield org.apache.avro.generic.GenericDatumReader.actual:Lorg/apache/avro/Schema;
            areturn
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;

  public void setSchema(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 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // org.apache.avro.Schema writer
         0: .line 88
            aload 0 /* this */
            aload 1 /* writer */
            putfield org.apache.avro.generic.GenericDatumReader.actual:Lorg/apache/avro/Schema;
         1: .line 89
            aload 0 /* this */
            getfield org.apache.avro.generic.GenericDatumReader.expected:Lorg/apache/avro/Schema;
            ifnonnull 3
         2: .line 90
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.avro.generic.GenericDatumReader.actual:Lorg/apache/avro/Schema;
            putfield org.apache.avro.generic.GenericDatumReader.expected:Lorg/apache/avro/Schema;
         3: .line 92
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.apache.avro.generic.GenericDatumReader.creatorResolver:Lorg/apache/avro/io/ResolvingDecoder;
         4: .line 93
            return
        end local 1 // org.apache.avro.Schema writer
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0    5     1  writer  Lorg/apache/avro/Schema;
    MethodParameters:
        Name  Flags
      writer  

  public org.apache.avro.Schema getExpected();
    descriptor: ()Lorg/apache/avro/Schema;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.avro.generic.GenericDatumReader this
         0: .line 97
            aload 0 /* this */
            getfield org.apache.avro.generic.GenericDatumReader.expected:Lorg/apache/avro/Schema;
            areturn
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;

  public void setExpected(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 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // org.apache.avro.Schema reader
         0: .line 102
            aload 0 /* this */
            aload 1 /* reader */
            putfield org.apache.avro.generic.GenericDatumReader.expected:Lorg/apache/avro/Schema;
         1: .line 103
            aload 0 /* this */
            aconst_null
            putfield org.apache.avro.generic.GenericDatumReader.creatorResolver:Lorg/apache/avro/io/ResolvingDecoder;
         2: .line 104
            return
        end local 1 // org.apache.avro.Schema reader
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0    3     1  reader  Lorg/apache/avro/Schema;
    MethodParameters:
        Name  Flags
      reader  

  protected final org.apache.avro.io.ResolvingDecoder getResolver(org.apache.avro.Schema, org.apache.avro.Schema);
    descriptor: (Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;)Lorg/apache/avro/io/ResolvingDecoder;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // org.apache.avro.Schema actual
        start local 2 // org.apache.avro.Schema expected
         0: .line 115
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            astore 3 /* currThread */
        start local 3 // java.lang.Thread currThread
         1: .line 117
            aload 3 /* currThread */
            aload 0 /* this */
            getfield org.apache.avro.generic.GenericDatumReader.creator:Ljava/lang/Thread;
            if_acmpne 3
            aload 0 /* this */
            getfield org.apache.avro.generic.GenericDatumReader.creatorResolver:Lorg/apache/avro/io/ResolvingDecoder;
            ifnull 3
         2: .line 118
            aload 0 /* this */
            getfield org.apache.avro.generic.GenericDatumReader.creatorResolver:Lorg/apache/avro/io/ResolvingDecoder;
            areturn
         3: .line 121
      StackMap locals: java.lang.Thread
      StackMap stack:
            getstatic org.apache.avro.generic.GenericDatumReader.RESOLVER_CACHE:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast java.util.Map
            aload 1 /* actual */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 5 /* cache */
        start local 5 // java.util.Map cache
         4: .line 122
            aload 5 /* cache */
            ifnonnull 7
         5: .line 123
            new org.apache.avro.util.WeakIdentityHashMap
            dup
            invokespecial org.apache.avro.util.WeakIdentityHashMap.<init>:()V
            astore 5 /* cache */
         6: .line 124
            getstatic org.apache.avro.generic.GenericDatumReader.RESOLVER_CACHE:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast java.util.Map
            aload 1 /* actual */
            aload 5 /* cache */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 126
      StackMap locals: org.apache.avro.generic.GenericDatumReader org.apache.avro.Schema org.apache.avro.Schema java.lang.Thread top java.util.Map
      StackMap stack:
            aload 5 /* cache */
            aload 2 /* expected */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.avro.io.ResolvingDecoder
            astore 4 /* resolver */
        start local 4 // org.apache.avro.io.ResolvingDecoder resolver
         8: .line 127
            aload 4 /* resolver */
            ifnonnull 11
         9: .line 128
            invokestatic org.apache.avro.io.DecoderFactory.get:()Lorg/apache/avro/io/DecoderFactory;
            aload 1 /* actual */
            aload 2 /* expected */
            invokestatic org.apache.avro.Schema.applyAliases:(Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;)Lorg/apache/avro/Schema;
            aload 2 /* expected */
            aconst_null
            invokevirtual org.apache.avro.io.DecoderFactory.resolvingDecoder:(Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;Lorg/apache/avro/io/Decoder;)Lorg/apache/avro/io/ResolvingDecoder;
            astore 4 /* resolver */
        10: .line 129
            aload 5 /* cache */
            aload 2 /* expected */
            aload 4 /* resolver */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 132
      StackMap locals: org.apache.avro.generic.GenericDatumReader org.apache.avro.Schema org.apache.avro.Schema java.lang.Thread org.apache.avro.io.ResolvingDecoder java.util.Map
      StackMap stack:
            aload 3 /* currThread */
            aload 0 /* this */
            getfield org.apache.avro.generic.GenericDatumReader.creator:Ljava/lang/Thread;
            if_acmpne 13
        12: .line 133
            aload 0 /* this */
            aload 4 /* resolver */
            putfield org.apache.avro.generic.GenericDatumReader.creatorResolver:Lorg/apache/avro/io/ResolvingDecoder;
        13: .line 136
      StackMap locals:
      StackMap stack:
            aload 4 /* resolver */
            areturn
        end local 5 // java.util.Map cache
        end local 4 // org.apache.avro.io.ResolvingDecoder resolver
        end local 3 // java.lang.Thread currThread
        end local 2 // org.apache.avro.Schema expected
        end local 1 // org.apache.avro.Schema actual
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0   14     1      actual  Lorg/apache/avro/Schema;
            0   14     2    expected  Lorg/apache/avro/Schema;
            1   14     3  currThread  Ljava/lang/Thread;
            8   14     4    resolver  Lorg/apache/avro/io/ResolvingDecoder;
            4   14     5       cache  Ljava/util/Map<Lorg/apache/avro/Schema;Lorg/apache/avro/io/ResolvingDecoder;>;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      actual    
      expected  

  public D read(D, org.apache.avro.io.Decoder);
    descriptor: (Ljava/lang/Object;Lorg/apache/avro/io/Decoder;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // java.lang.Object reuse
        start local 2 // org.apache.avro.io.Decoder in
         0: .line 142
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.avro.generic.GenericDatumReader.actual:Lorg/apache/avro/Schema;
            aload 0 /* this */
            getfield org.apache.avro.generic.GenericDatumReader.expected:Lorg/apache/avro/Schema;
            invokevirtual org.apache.avro.generic.GenericDatumReader.getResolver:(Lorg/apache/avro/Schema;Lorg/apache/avro/Schema;)Lorg/apache/avro/io/ResolvingDecoder;
            astore 3 /* resolver */
        start local 3 // org.apache.avro.io.ResolvingDecoder resolver
         1: .line 143
            aload 3 /* resolver */
            aload 2 /* in */
            invokevirtual org.apache.avro.io.ResolvingDecoder.configure:(Lorg/apache/avro/io/Decoder;)Lorg/apache/avro/io/ValidatingDecoder;
            pop
         2: .line 144
            aload 0 /* this */
            aload 1 /* reuse */
            aload 0 /* this */
            getfield org.apache.avro.generic.GenericDatumReader.expected:Lorg/apache/avro/Schema;
            aload 3 /* resolver */
            invokevirtual org.apache.avro.generic.GenericDatumReader.read:(Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/io/ResolvingDecoder;)Ljava/lang/Object;
            astore 4 /* result */
        start local 4 // java.lang.Object result
         3: .line 145
            aload 3 /* resolver */
            invokevirtual org.apache.avro.io.ResolvingDecoder.drain:()V
         4: .line 146
            aload 4 /* result */
            areturn
        end local 4 // java.lang.Object result
        end local 3 // org.apache.avro.io.ResolvingDecoder resolver
        end local 2 // org.apache.avro.io.Decoder in
        end local 1 // java.lang.Object reuse
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0    5     1     reuse  TD;
            0    5     2        in  Lorg/apache/avro/io/Decoder;
            1    5     3  resolver  Lorg/apache/avro/io/ResolvingDecoder;
            3    5     4    result  TD;
    Exceptions:
      throws java.io.IOException
    Signature: (TD;Lorg/apache/avro/io/Decoder;)TD;
    MethodParameters:
       Name  Flags
      reuse  
      in     

  protected java.lang.Object read(java.lang.Object, org.apache.avro.Schema, org.apache.avro.io.ResolvingDecoder);
    descriptor: (Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/io/ResolvingDecoder;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // java.lang.Object old
        start local 2 // org.apache.avro.Schema expected
        start local 3 // org.apache.avro.io.ResolvingDecoder in
         0: .line 151
            aload 0 /* this */
            aload 1 /* old */
            aload 2 /* expected */
            aload 3 /* in */
            invokevirtual org.apache.avro.generic.GenericDatumReader.readWithoutConversion:(Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/io/ResolvingDecoder;)Ljava/lang/Object;
            astore 4 /* datum */
        start local 4 // java.lang.Object datum
         1: .line 152
            aload 2 /* expected */
            invokevirtual org.apache.avro.Schema.getLogicalType:()Lorg/apache/avro/LogicalType;
            astore 5 /* logicalType */
        start local 5 // org.apache.avro.LogicalType logicalType
         2: .line 153
            aload 5 /* logicalType */
            ifnull 6
         3: .line 154
            aload 0 /* this */
            invokevirtual org.apache.avro.generic.GenericDatumReader.getData:()Lorg/apache/avro/generic/GenericData;
            aload 5 /* logicalType */
            invokevirtual org.apache.avro.generic.GenericData.getConversionFor:(Lorg/apache/avro/LogicalType;)Lorg/apache/avro/Conversion;
            astore 6 /* conversion */
        start local 6 // org.apache.avro.Conversion conversion
         4: .line 155
            aload 6 /* conversion */
            ifnull 6
         5: .line 156
            aload 0 /* this */
            aload 4 /* datum */
            aload 2 /* expected */
            aload 5 /* logicalType */
            aload 6 /* conversion */
            invokevirtual org.apache.avro.generic.GenericDatumReader.convert:(Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/LogicalType;Lorg/apache/avro/Conversion;)Ljava/lang/Object;
            areturn
        end local 6 // org.apache.avro.Conversion conversion
         6: .line 159
      StackMap locals: java.lang.Object org.apache.avro.LogicalType
      StackMap stack:
            aload 4 /* datum */
            areturn
        end local 5 // org.apache.avro.LogicalType logicalType
        end local 4 // java.lang.Object datum
        end local 3 // org.apache.avro.io.ResolvingDecoder in
        end local 2 // org.apache.avro.Schema expected
        end local 1 // java.lang.Object old
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0    7     1          old  Ljava/lang/Object;
            0    7     2     expected  Lorg/apache/avro/Schema;
            0    7     3           in  Lorg/apache/avro/io/ResolvingDecoder;
            1    7     4        datum  Ljava/lang/Object;
            2    7     5  logicalType  Lorg/apache/avro/LogicalType;
            4    6     6   conversion  Lorg/apache/avro/Conversion<*>;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      old       
      expected  
      in        

  protected  readWithConversion(, org.apache.avro.Schema, org.apache.avro.LogicalType, org.apache.avro.Conversion<?>, org.apache.avro.io.ResolvingDecoder);
    descriptor: (Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/LogicalType;Lorg/apache/avro/Conversion;Lorg/apache/avro/io/ResolvingDecoder;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // java.lang.Object old
        start local 2 // org.apache.avro.Schema expected
        start local 3 // org.apache.avro.LogicalType logicalType
        start local 4 // org.apache.avro.Conversion conversion
        start local 5 // org.apache.avro.io.ResolvingDecoder in
         0: .line 164
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* old */
            aload 2 /* expected */
            aload 5 /* in */
            invokevirtual org.apache.avro.generic.GenericDatumReader.readWithoutConversion:(Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/io/ResolvingDecoder;)Ljava/lang/Object;
            aload 2 /* expected */
            aload 3 /* logicalType */
            aload 4 /* conversion */
            invokevirtual org.apache.avro.generic.GenericDatumReader.convert:(Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/LogicalType;Lorg/apache/avro/Conversion;)Ljava/lang/Object;
            areturn
        end local 5 // org.apache.avro.io.ResolvingDecoder in
        end local 4 // org.apache.avro.Conversion conversion
        end local 3 // org.apache.avro.LogicalType logicalType
        end local 2 // org.apache.avro.Schema expected
        end local 1 // java.lang.Object old
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0    1     1          old  Ljava/lang/Object;
            0    1     2     expected  Lorg/apache/avro/Schema;
            0    1     3  logicalType  Lorg/apache/avro/LogicalType;
            0    1     4   conversion  Lorg/apache/avro/Conversion<*>;
            0    1     5           in  Lorg/apache/avro/io/ResolvingDecoder;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/LogicalType;Lorg/apache/avro/Conversion<*>;Lorg/apache/avro/io/ResolvingDecoder;)Ljava/lang/Object;
    MethodParameters:
             Name  Flags
      old          
      expected     
      logicalType  
      conversion   
      in           

  protected java.lang.Object readWithoutConversion(java.lang.Object, org.apache.avro.Schema, org.apache.avro.io.ResolvingDecoder);
    descriptor: (Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/io/ResolvingDecoder;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // java.lang.Object old
        start local 2 // org.apache.avro.Schema expected
        start local 3 // org.apache.avro.io.ResolvingDecoder in
         0: .line 168
            invokestatic org.apache.avro.generic.GenericDatumReader.$SWITCH_TABLE$org$apache$avro$Schema$Type:()[I
            aload 2 /* expected */
            invokevirtual org.apache.avro.Schema.getType:()Lorg/apache/avro/Schema$Type;
            invokevirtual org.apache.avro.Schema$Type.ordinal:()I
            iaload
            tableswitch { // 1 - 14
                    1: 1
                    2: 2
                    3: 3
                    4: 4
                    5: 5
                    6: 6
                    7: 7
                    8: 8
                    9: 9
                   10: 10
                   11: 11
                   12: 12
                   13: 13
                   14: 14
              default: 16
          }
         1: .line 170
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* old */
            aload 2 /* expected */
            aload 3 /* in */
            invokevirtual org.apache.avro.generic.GenericDatumReader.readRecord:(Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/io/ResolvingDecoder;)Ljava/lang/Object;
            areturn
         2: .line 172
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* expected */
            aload 3 /* in */
            invokevirtual org.apache.avro.generic.GenericDatumReader.readEnum:(Lorg/apache/avro/Schema;Lorg/apache/avro/io/Decoder;)Ljava/lang/Object;
            areturn
         3: .line 174
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* old */
            aload 2 /* expected */
            aload 3 /* in */
            invokevirtual org.apache.avro.generic.GenericDatumReader.readArray:(Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/io/ResolvingDecoder;)Ljava/lang/Object;
            areturn
         4: .line 176
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* old */
            aload 2 /* expected */
            aload 3 /* in */
            invokevirtual org.apache.avro.generic.GenericDatumReader.readMap:(Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/io/ResolvingDecoder;)Ljava/lang/Object;
            areturn
         5: .line 178
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* old */
            aload 2 /* expected */
            invokevirtual org.apache.avro.Schema.getTypes:()Ljava/util/List;
            aload 3 /* in */
            invokevirtual org.apache.avro.io.ResolvingDecoder.readIndex:()I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.avro.Schema
            aload 3 /* in */
            invokevirtual org.apache.avro.generic.GenericDatumReader.read:(Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/io/ResolvingDecoder;)Ljava/lang/Object;
            areturn
         6: .line 180
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* old */
            aload 2 /* expected */
            aload 3 /* in */
            invokevirtual org.apache.avro.generic.GenericDatumReader.readFixed:(Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/io/Decoder;)Ljava/lang/Object;
            areturn
         7: .line 182
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* old */
            aload 2 /* expected */
            aload 3 /* in */
            invokevirtual org.apache.avro.generic.GenericDatumReader.readString:(Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/io/Decoder;)Ljava/lang/Object;
            areturn
         8: .line 184
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* old */
            aload 2 /* expected */
            aload 3 /* in */
            invokevirtual org.apache.avro.generic.GenericDatumReader.readBytes:(Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/io/Decoder;)Ljava/lang/Object;
            areturn
         9: .line 186
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* old */
            aload 2 /* expected */
            aload 3 /* in */
            invokevirtual org.apache.avro.generic.GenericDatumReader.readInt:(Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/io/Decoder;)Ljava/lang/Object;
            areturn
        10: .line 188
      StackMap locals:
      StackMap stack:
            aload 3 /* in */
            invokevirtual org.apache.avro.io.ResolvingDecoder.readLong:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
        11: .line 190
      StackMap locals:
      StackMap stack:
            aload 3 /* in */
            invokevirtual org.apache.avro.io.ResolvingDecoder.readFloat:()F
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            areturn
        12: .line 192
      StackMap locals:
      StackMap stack:
            aload 3 /* in */
            invokevirtual org.apache.avro.io.ResolvingDecoder.readDouble:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
        13: .line 194
      StackMap locals:
      StackMap stack:
            aload 3 /* in */
            invokevirtual org.apache.avro.io.ResolvingDecoder.readBoolean:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        14: .line 196
      StackMap locals:
      StackMap stack:
            aload 3 /* in */
            invokevirtual org.apache.avro.io.ResolvingDecoder.readNull:()V
        15: .line 197
            aconst_null
            areturn
        16: .line 199
      StackMap locals:
      StackMap stack:
            new org.apache.avro.AvroRuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* expected */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.apache.avro.AvroRuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // org.apache.avro.io.ResolvingDecoder in
        end local 2 // org.apache.avro.Schema expected
        end local 1 // java.lang.Object old
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   17     0      this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0   17     1       old  Ljava/lang/Object;
            0   17     2  expected  Lorg/apache/avro/Schema;
            0   17     3        in  Lorg/apache/avro/io/ResolvingDecoder;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      old       
      expected  
      in        

  protected  convert(, org.apache.avro.Schema, org.apache.avro.LogicalType, org.apache.avro.Conversion<?>);
    descriptor: (Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/LogicalType;Lorg/apache/avro/Conversion;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // java.lang.Object datum
        start local 2 // org.apache.avro.Schema schema
        start local 3 // org.apache.avro.LogicalType type
        start local 4 // org.apache.avro.Conversion conversion
         0: .line 219
            aload 1 /* datum */
            aload 2 /* schema */
            aload 3 /* type */
            aload 4 /* conversion */
            invokestatic org.apache.avro.Conversions.convertToLogicalType:(Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/LogicalType;Lorg/apache/avro/Conversion;)Ljava/lang/Object;
            areturn
        end local 4 // org.apache.avro.Conversion conversion
        end local 3 // org.apache.avro.LogicalType type
        end local 2 // org.apache.avro.Schema schema
        end local 1 // java.lang.Object datum
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0    1     1       datum  Ljava/lang/Object;
            0    1     2      schema  Lorg/apache/avro/Schema;
            0    1     3        type  Lorg/apache/avro/LogicalType;
            0    1     4  conversion  Lorg/apache/avro/Conversion<*>;
    Signature: (Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/LogicalType;Lorg/apache/avro/Conversion<*>;)Ljava/lang/Object;
    MethodParameters:
            Name  Flags
      datum       
      schema      
      type        
      conversion  

  protected java.lang.Object readRecord(java.lang.Object, org.apache.avro.Schema, org.apache.avro.io.ResolvingDecoder);
    descriptor: (Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/io/ResolvingDecoder;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=13, args_size=4
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // java.lang.Object old
        start local 2 // org.apache.avro.Schema expected
        start local 3 // org.apache.avro.io.ResolvingDecoder in
         0: .line 227
            aload 0 /* this */
            getfield org.apache.avro.generic.GenericDatumReader.data:Lorg/apache/avro/generic/GenericData;
            aload 1 /* old */
            aload 2 /* expected */
            invokevirtual org.apache.avro.generic.GenericData.newRecord:(Ljava/lang/Object;Lorg/apache/avro/Schema;)Ljava/lang/Object;
            astore 4 /* r */
        start local 4 // java.lang.Object r
         1: .line 228
            aload 0 /* this */
            getfield org.apache.avro.generic.GenericDatumReader.data:Lorg/apache/avro/generic/GenericData;
            aload 4 /* r */
            aload 2 /* expected */
            invokevirtual org.apache.avro.generic.GenericData.getRecordState:(Ljava/lang/Object;Lorg/apache/avro/Schema;)Ljava/lang/Object;
            astore 5 /* state */
        start local 5 // java.lang.Object state
         2: .line 230
            aload 3 /* in */
            invokevirtual org.apache.avro.io.ResolvingDecoder.readFieldOrder:()[Lorg/apache/avro/Schema$Field;
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 11
      StackMap locals: org.apache.avro.generic.GenericDatumReader java.lang.Object org.apache.avro.Schema org.apache.avro.io.ResolvingDecoder java.lang.Object java.lang.Object top int int org.apache.avro.Schema$Field[]
      StackMap stack:
         3: aload 9
            iload 7
            aaload
            astore 6 /* f */
        start local 6 // org.apache.avro.Schema$Field f
         4: .line 231
            aload 6 /* f */
            invokevirtual org.apache.avro.Schema$Field.pos:()I
            istore 10 /* pos */
        start local 10 // int pos
         5: .line 232
            aload 6 /* f */
            invokevirtual org.apache.avro.Schema$Field.name:()Ljava/lang/String;
            astore 11 /* name */
        start local 11 // java.lang.String name
         6: .line 233
            aconst_null
            astore 12 /* oldDatum */
        start local 12 // java.lang.Object oldDatum
         7: .line 234
            aload 1 /* old */
            ifnull 9
         8: .line 235
            aload 0 /* this */
            getfield org.apache.avro.generic.GenericDatumReader.data:Lorg/apache/avro/generic/GenericData;
            aload 4 /* r */
            aload 11 /* name */
            iload 10 /* pos */
            aload 5 /* state */
            invokevirtual org.apache.avro.generic.GenericData.getField:(Ljava/lang/Object;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/Object;
            astore 12 /* oldDatum */
         9: .line 237
      StackMap locals: org.apache.avro.generic.GenericDatumReader java.lang.Object org.apache.avro.Schema org.apache.avro.io.ResolvingDecoder java.lang.Object java.lang.Object org.apache.avro.Schema$Field int int org.apache.avro.Schema$Field[] int java.lang.String java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 4 /* r */
            aload 6 /* f */
            aload 12 /* oldDatum */
            aload 3 /* in */
            aload 5 /* state */
            invokevirtual org.apache.avro.generic.GenericDatumReader.readField:(Ljava/lang/Object;Lorg/apache/avro/Schema$Field;Ljava/lang/Object;Lorg/apache/avro/io/ResolvingDecoder;Ljava/lang/Object;)V
        end local 12 // java.lang.Object oldDatum
        end local 11 // java.lang.String name
        end local 10 // int pos
        end local 6 // org.apache.avro.Schema$Field f
        10: .line 230
            iinc 7 1
      StackMap locals: org.apache.avro.generic.GenericDatumReader java.lang.Object org.apache.avro.Schema org.apache.avro.io.ResolvingDecoder java.lang.Object java.lang.Object top int int org.apache.avro.Schema$Field[]
      StackMap stack:
        11: iload 7
            iload 8
            if_icmplt 3
        12: .line 240
            aload 4 /* r */
            areturn
        end local 5 // java.lang.Object state
        end local 4 // java.lang.Object r
        end local 3 // org.apache.avro.io.ResolvingDecoder in
        end local 2 // org.apache.avro.Schema expected
        end local 1 // java.lang.Object old
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0   13     1       old  Ljava/lang/Object;
            0   13     2  expected  Lorg/apache/avro/Schema;
            0   13     3        in  Lorg/apache/avro/io/ResolvingDecoder;
            1   13     4         r  Ljava/lang/Object;
            2   13     5     state  Ljava/lang/Object;
            4   10     6         f  Lorg/apache/avro/Schema$Field;
            5   10    10       pos  I
            6   10    11      name  Ljava/lang/String;
            7   10    12  oldDatum  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      old       
      expected  
      in        

  protected void readField(java.lang.Object, org.apache.avro.Schema$Field, java.lang.Object, org.apache.avro.io.ResolvingDecoder, java.lang.Object);
    descriptor: (Ljava/lang/Object;Lorg/apache/avro/Schema$Field;Ljava/lang/Object;Lorg/apache/avro/io/ResolvingDecoder;Ljava/lang/Object;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=6, args_size=6
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // java.lang.Object r
        start local 2 // org.apache.avro.Schema$Field f
        start local 3 // java.lang.Object oldDatum
        start local 4 // org.apache.avro.io.ResolvingDecoder in
        start local 5 // java.lang.Object state
         0: .line 248
            aload 0 /* this */
            getfield org.apache.avro.generic.GenericDatumReader.data:Lorg/apache/avro/generic/GenericData;
            aload 1 /* r */
            aload 2 /* f */
            invokevirtual org.apache.avro.Schema$Field.name:()Ljava/lang/String;
            aload 2 /* f */
            invokevirtual org.apache.avro.Schema$Field.pos:()I
            aload 0 /* this */
            aload 3 /* oldDatum */
            aload 2 /* f */
            invokevirtual org.apache.avro.Schema$Field.schema:()Lorg/apache/avro/Schema;
            aload 4 /* in */
            invokevirtual org.apache.avro.generic.GenericDatumReader.read:(Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/io/ResolvingDecoder;)Ljava/lang/Object;
            aload 5 /* state */
            invokevirtual org.apache.avro.generic.GenericData.setField:(Ljava/lang/Object;Ljava/lang/String;ILjava/lang/Object;Ljava/lang/Object;)V
         1: .line 249
            return
        end local 5 // java.lang.Object state
        end local 4 // org.apache.avro.io.ResolvingDecoder in
        end local 3 // java.lang.Object oldDatum
        end local 2 // org.apache.avro.Schema$Field f
        end local 1 // java.lang.Object r
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0    2     1         r  Ljava/lang/Object;
            0    2     2         f  Lorg/apache/avro/Schema$Field;
            0    2     3  oldDatum  Ljava/lang/Object;
            0    2     4        in  Lorg/apache/avro/io/ResolvingDecoder;
            0    2     5     state  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      r         
      f         
      oldDatum  
      in        
      state     

  protected java.lang.Object readEnum(org.apache.avro.Schema, org.apache.avro.io.Decoder);
    descriptor: (Lorg/apache/avro/Schema;Lorg/apache/avro/io/Decoder;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // org.apache.avro.Schema expected
        start local 2 // org.apache.avro.io.Decoder in
         0: .line 256
            aload 0 /* this */
            aload 1 /* expected */
            invokevirtual org.apache.avro.Schema.getEnumSymbols:()Ljava/util/List;
            aload 2 /* in */
            invokevirtual org.apache.avro.io.Decoder.readEnum:()I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            aload 1 /* expected */
            invokevirtual org.apache.avro.generic.GenericDatumReader.createEnum:(Ljava/lang/String;Lorg/apache/avro/Schema;)Ljava/lang/Object;
            areturn
        end local 2 // org.apache.avro.io.Decoder in
        end local 1 // org.apache.avro.Schema expected
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0    1     1  expected  Lorg/apache/avro/Schema;
            0    1     2        in  Lorg/apache/avro/io/Decoder;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      expected  
      in        

  protected java.lang.Object createEnum(java.lang.String, org.apache.avro.Schema);
    descriptor: (Ljava/lang/String;Lorg/apache/avro/Schema;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // java.lang.String symbol
        start local 2 // org.apache.avro.Schema schema
         0: .line 264
            aload 0 /* this */
            getfield org.apache.avro.generic.GenericDatumReader.data:Lorg/apache/avro/generic/GenericData;
            aload 1 /* symbol */
            aload 2 /* schema */
            invokevirtual org.apache.avro.generic.GenericData.createEnum:(Ljava/lang/String;Lorg/apache/avro/Schema;)Ljava/lang/Object;
            areturn
        end local 2 // org.apache.avro.Schema schema
        end local 1 // java.lang.String symbol
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0    1     1  symbol  Ljava/lang/String;
            0    1     2  schema  Lorg/apache/avro/Schema;
    MethodParameters:
        Name  Flags
      symbol  
      schema  

  protected java.lang.Object readArray(java.lang.Object, org.apache.avro.Schema, org.apache.avro.io.ResolvingDecoder);
    descriptor: (Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/io/ResolvingDecoder;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=10, locals=14, args_size=4
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // java.lang.Object old
        start local 2 // org.apache.avro.Schema expected
        start local 3 // org.apache.avro.io.ResolvingDecoder in
         0: .line 272
            aload 2 /* expected */
            invokevirtual org.apache.avro.Schema.getElementType:()Lorg/apache/avro/Schema;
            astore 4 /* expectedType */
        start local 4 // org.apache.avro.Schema expectedType
         1: .line 273
            aload 3 /* in */
            invokevirtual org.apache.avro.io.ResolvingDecoder.readArrayStart:()J
            lstore 5 /* l */
        start local 5 // long l
         2: .line 274
            lconst_0
            lstore 7 /* base */
        start local 7 // long base
         3: .line 275
            lload 5 /* l */
            lconst_0
            lcmp
            ifle 25
         4: .line 276
            aload 4 /* expectedType */
            invokevirtual org.apache.avro.Schema.getLogicalType:()Lorg/apache/avro/LogicalType;
            astore 9 /* logicalType */
        start local 9 // org.apache.avro.LogicalType logicalType
         5: .line 277
            aload 0 /* this */
            invokevirtual org.apache.avro.generic.GenericDatumReader.getData:()Lorg/apache/avro/generic/GenericData;
            aload 9 /* logicalType */
            invokevirtual org.apache.avro.generic.GenericData.getConversionFor:(Lorg/apache/avro/LogicalType;)Lorg/apache/avro/Conversion;
            astore 10 /* conversion */
        start local 10 // org.apache.avro.Conversion conversion
         6: .line 278
            aload 0 /* this */
            aload 1 /* old */
            lload 5 /* l */
            l2i
            aload 2 /* expected */
            invokevirtual org.apache.avro.generic.GenericDatumReader.newArray:(Ljava/lang/Object;ILorg/apache/avro/Schema;)Ljava/lang/Object;
            astore 11 /* array */
        start local 11 // java.lang.Object array
         7: .line 280
      StackMap locals: org.apache.avro.generic.GenericDatumReader java.lang.Object org.apache.avro.Schema org.apache.avro.io.ResolvingDecoder org.apache.avro.Schema long long org.apache.avro.LogicalType org.apache.avro.Conversion java.lang.Object
      StackMap stack:
            aload 9 /* logicalType */
            ifnull 16
            aload 10 /* conversion */
            ifnull 16
         8: .line 281
            lconst_0
            lstore 12 /* i */
        start local 12 // long i
         9: goto 14
        10: .line 282
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            aload 11 /* array */
            lload 7 /* base */
            lload 12 /* i */
            ladd
        11: .line 283
            aload 0 /* this */
            aload 0 /* this */
            aload 11 /* array */
            invokevirtual org.apache.avro.generic.GenericDatumReader.peekArray:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 4 /* expectedType */
            aload 9 /* logicalType */
            aload 10 /* conversion */
            aload 3 /* in */
            invokevirtual org.apache.avro.generic.GenericDatumReader.readWithConversion:(Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/LogicalType;Lorg/apache/avro/Conversion;Lorg/apache/avro/io/ResolvingDecoder;)Ljava/lang/Object;
        12: .line 282
            invokevirtual org.apache.avro.generic.GenericDatumReader.addToArray:(Ljava/lang/Object;JLjava/lang/Object;)V
        13: .line 281
            lload 12 /* i */
            lconst_1
            ladd
            lstore 12 /* i */
      StackMap locals:
      StackMap stack:
        14: lload 12 /* i */
            lload 5 /* l */
            lcmp
            iflt 10
        end local 12 // long i
        15: .line 285
            goto 21
        16: .line 286
      StackMap locals:
      StackMap stack:
            lconst_0
            lstore 12 /* i */
        start local 12 // long i
        17: goto 20
        18: .line 287
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            aload 11 /* array */
            lload 7 /* base */
            lload 12 /* i */
            ladd
            aload 0 /* this */
            aload 0 /* this */
            aload 11 /* array */
            invokevirtual org.apache.avro.generic.GenericDatumReader.peekArray:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 4 /* expectedType */
            aload 3 /* in */
            invokevirtual org.apache.avro.generic.GenericDatumReader.readWithoutConversion:(Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/io/ResolvingDecoder;)Ljava/lang/Object;
            invokevirtual org.apache.avro.generic.GenericDatumReader.addToArray:(Ljava/lang/Object;JLjava/lang/Object;)V
        19: .line 286
            lload 12 /* i */
            lconst_1
            ladd
            lstore 12 /* i */
      StackMap locals:
      StackMap stack:
        20: lload 12 /* i */
            lload 5 /* l */
            lcmp
            iflt 18
        end local 12 // long i
        21: .line 290
      StackMap locals:
      StackMap stack:
            lload 7 /* base */
            lload 5 /* l */
            ladd
            lstore 7 /* base */
        22: .line 291
            aload 3 /* in */
            invokevirtual org.apache.avro.io.ResolvingDecoder.arrayNext:()J
            dup2
            lstore 5 /* l */
            lconst_0
        23: .line 279
            lcmp
            ifgt 7
        24: .line 292
            aload 0 /* this */
            aload 11 /* array */
            invokevirtual org.apache.avro.generic.GenericDatumReader.pruneArray:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 11 // java.lang.Object array
        end local 10 // org.apache.avro.Conversion conversion
        end local 9 // org.apache.avro.LogicalType logicalType
        25: .line 294
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* old */
            iconst_0
            aload 2 /* expected */
            invokevirtual org.apache.avro.generic.GenericDatumReader.newArray:(Ljava/lang/Object;ILorg/apache/avro/Schema;)Ljava/lang/Object;
            invokevirtual org.apache.avro.generic.GenericDatumReader.pruneArray:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 7 // long base
        end local 5 // long l
        end local 4 // org.apache.avro.Schema expectedType
        end local 3 // org.apache.avro.io.ResolvingDecoder in
        end local 2 // org.apache.avro.Schema expected
        end local 1 // java.lang.Object old
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   26     0          this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0   26     1           old  Ljava/lang/Object;
            0   26     2      expected  Lorg/apache/avro/Schema;
            0   26     3            in  Lorg/apache/avro/io/ResolvingDecoder;
            1   26     4  expectedType  Lorg/apache/avro/Schema;
            2   26     5             l  J
            3   26     7          base  J
            5   25     9   logicalType  Lorg/apache/avro/LogicalType;
            6   25    10    conversion  Lorg/apache/avro/Conversion<*>;
            7   25    11         array  Ljava/lang/Object;
            9   15    12             i  J
           17   21    12             i  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      old       
      expected  
      in        

  private java.lang.Object pruneArray(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // java.lang.Object object
         0: .line 299
            aload 1 /* object */
            instanceof org.apache.avro.generic.GenericArray
            ifeq 2
         1: .line 300
            aload 1 /* object */
            checkcast org.apache.avro.generic.GenericArray
            invokeinterface org.apache.avro.generic.GenericArray.prune:()V
         2: .line 302
      StackMap locals:
      StackMap stack:
            aload 1 /* object */
            areturn
        end local 1 // java.lang.Object object
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0    3     1  object  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      object  

  protected java.lang.Object peekArray(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // java.lang.Object array
         0: .line 312
            aload 1 /* array */
            instanceof org.apache.avro.generic.GenericArray
            ifeq 1
            aload 1 /* array */
            checkcast org.apache.avro.generic.GenericArray
            invokeinterface org.apache.avro.generic.GenericArray.peek:()Ljava/lang/Object;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: java.lang.Object
         2: areturn
        end local 1 // java.lang.Object array
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0    3     1  array  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      array  

  protected void addToArray(java.lang.Object, long, java.lang.Object);
    descriptor: (Ljava/lang/Object;JLjava/lang/Object;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=4
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // java.lang.Object array
        start local 2 // long pos
        start local 4 // java.lang.Object e
         0: .line 321
            aload 1 /* array */
            checkcast java.util.Collection
            aload 4 /* e */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         1: .line 322
            return
        end local 4 // java.lang.Object e
        end local 2 // long pos
        end local 1 // java.lang.Object array
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0    2     1  array  Ljava/lang/Object;
            0    2     2    pos  J
            0    2     4      e  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      array  
      pos    
      e      

  protected java.lang.Object readMap(java.lang.Object, org.apache.avro.Schema, org.apache.avro.io.ResolvingDecoder);
    descriptor: (Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/io/ResolvingDecoder;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=11, args_size=4
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // java.lang.Object old
        start local 2 // org.apache.avro.Schema expected
        start local 3 // org.apache.avro.io.ResolvingDecoder in
         0: .line 329
            aload 2 /* expected */
            invokevirtual org.apache.avro.Schema.getValueType:()Lorg/apache/avro/Schema;
            astore 4 /* eValue */
        start local 4 // org.apache.avro.Schema eValue
         1: .line 330
            aload 3 /* in */
            invokevirtual org.apache.avro.io.ResolvingDecoder.readMapStart:()J
            lstore 5 /* l */
        start local 5 // long l
         2: .line 331
            aload 4 /* eValue */
            invokevirtual org.apache.avro.Schema.getLogicalType:()Lorg/apache/avro/LogicalType;
            astore 7 /* logicalType */
        start local 7 // org.apache.avro.LogicalType logicalType
         3: .line 332
            aload 0 /* this */
            invokevirtual org.apache.avro.generic.GenericDatumReader.getData:()Lorg/apache/avro/generic/GenericData;
            aload 7 /* logicalType */
            invokevirtual org.apache.avro.generic.GenericData.getConversionFor:(Lorg/apache/avro/LogicalType;)Lorg/apache/avro/Conversion;
            astore 8 /* conversion */
        start local 8 // org.apache.avro.Conversion conversion
         4: .line 333
            aload 0 /* this */
            aload 1 /* old */
            lload 5 /* l */
            l2i
            invokevirtual org.apache.avro.generic.GenericDatumReader.newMap:(Ljava/lang/Object;I)Ljava/lang/Object;
            astore 9 /* map */
        start local 9 // java.lang.Object map
         5: .line 334
            lload 5 /* l */
            lconst_0
            lcmp
            ifle 22
         6: .line 336
      StackMap locals: org.apache.avro.generic.GenericDatumReader java.lang.Object org.apache.avro.Schema org.apache.avro.io.ResolvingDecoder org.apache.avro.Schema long org.apache.avro.LogicalType org.apache.avro.Conversion java.lang.Object
      StackMap stack:
            aload 7 /* logicalType */
            ifnull 15
            aload 8 /* conversion */
            ifnull 15
         7: .line 337
            iconst_0
            istore 10 /* i */
        start local 10 // int i
         8: goto 13
         9: .line 338
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 9 /* map */
            aload 0 /* this */
            aconst_null
            aload 2 /* expected */
            aload 3 /* in */
            invokevirtual org.apache.avro.generic.GenericDatumReader.readMapKey:(Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/io/Decoder;)Ljava/lang/Object;
        10: .line 339
            aload 0 /* this */
            aconst_null
            aload 4 /* eValue */
            aload 7 /* logicalType */
            aload 8 /* conversion */
            aload 3 /* in */
            invokevirtual org.apache.avro.generic.GenericDatumReader.readWithConversion:(Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/LogicalType;Lorg/apache/avro/Conversion;Lorg/apache/avro/io/ResolvingDecoder;)Ljava/lang/Object;
        11: .line 338
            invokevirtual org.apache.avro.generic.GenericDatumReader.addToMap:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
        12: .line 337
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 10 /* i */
            i2l
            lload 5 /* l */
            lcmp
            iflt 9
        end local 10 // int i
        14: .line 341
            goto 20
        15: .line 342
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        16: goto 19
        17: .line 343
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 9 /* map */
            aload 0 /* this */
            aconst_null
            aload 2 /* expected */
            aload 3 /* in */
            invokevirtual org.apache.avro.generic.GenericDatumReader.readMapKey:(Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/io/Decoder;)Ljava/lang/Object;
            aload 0 /* this */
            aconst_null
            aload 4 /* eValue */
            aload 3 /* in */
            invokevirtual org.apache.avro.generic.GenericDatumReader.readWithoutConversion:(Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/io/ResolvingDecoder;)Ljava/lang/Object;
            invokevirtual org.apache.avro.generic.GenericDatumReader.addToMap:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
        18: .line 342
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 10 /* i */
            i2l
            lload 5 /* l */
            lcmp
            iflt 17
        end local 10 // int i
        20: .line 346
      StackMap locals:
      StackMap stack:
            aload 3 /* in */
            invokevirtual org.apache.avro.io.ResolvingDecoder.mapNext:()J
            dup2
            lstore 5 /* l */
            lconst_0
        21: .line 335
            lcmp
            ifgt 6
        22: .line 348
      StackMap locals:
      StackMap stack:
            aload 9 /* map */
            areturn
        end local 9 // java.lang.Object map
        end local 8 // org.apache.avro.Conversion conversion
        end local 7 // org.apache.avro.LogicalType logicalType
        end local 5 // long l
        end local 4 // org.apache.avro.Schema eValue
        end local 3 // org.apache.avro.io.ResolvingDecoder in
        end local 2 // org.apache.avro.Schema expected
        end local 1 // java.lang.Object old
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   23     0         this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0   23     1          old  Ljava/lang/Object;
            0   23     2     expected  Lorg/apache/avro/Schema;
            0   23     3           in  Lorg/apache/avro/io/ResolvingDecoder;
            1   23     4       eValue  Lorg/apache/avro/Schema;
            2   23     5            l  J
            3   23     7  logicalType  Lorg/apache/avro/LogicalType;
            4   23     8   conversion  Lorg/apache/avro/Conversion<*>;
            5   23     9          map  Ljava/lang/Object;
            8   14    10            i  I
           16   20    10            i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      old       
      expected  
      in        

  protected java.lang.Object readMapKey(java.lang.Object, org.apache.avro.Schema, org.apache.avro.io.Decoder);
    descriptor: (Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/io/Decoder;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // java.lang.Object old
        start local 2 // org.apache.avro.Schema expected
        start local 3 // org.apache.avro.io.Decoder in
         0: .line 357
            aload 0 /* this */
            aload 1 /* old */
            aload 2 /* expected */
            aload 3 /* in */
            invokevirtual org.apache.avro.generic.GenericDatumReader.readString:(Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/io/Decoder;)Ljava/lang/Object;
            areturn
        end local 3 // org.apache.avro.io.Decoder in
        end local 2 // org.apache.avro.Schema expected
        end local 1 // java.lang.Object old
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0    1     1       old  Ljava/lang/Object;
            0    1     2  expected  Lorg/apache/avro/Schema;
            0    1     3        in  Lorg/apache/avro/io/Decoder;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      old       
      expected  
      in        

  protected void addToMap(java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // java.lang.Object map
        start local 2 // java.lang.Object key
        start local 3 // java.lang.Object value
         0: .line 366
            aload 1 /* map */
            checkcast java.util.Map
            aload 2 /* key */
            aload 3 /* value */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 367
            return
        end local 3 // java.lang.Object value
        end local 2 // java.lang.Object key
        end local 1 // java.lang.Object map
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0    2     1    map  Ljava/lang/Object;
            0    2     2    key  Ljava/lang/Object;
            0    2     3  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      map    
      key    
      value  

  protected java.lang.Object readFixed(java.lang.Object, org.apache.avro.Schema, org.apache.avro.io.Decoder);
    descriptor: (Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/io/Decoder;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // java.lang.Object old
        start local 2 // org.apache.avro.Schema expected
        start local 3 // org.apache.avro.io.Decoder in
         0: .line 374
            aload 0 /* this */
            getfield org.apache.avro.generic.GenericDatumReader.data:Lorg/apache/avro/generic/GenericData;
            aload 1 /* old */
            aload 2 /* expected */
            invokevirtual org.apache.avro.generic.GenericData.createFixed:(Ljava/lang/Object;Lorg/apache/avro/Schema;)Ljava/lang/Object;
            checkcast org.apache.avro.generic.GenericFixed
            astore 4 /* fixed */
        start local 4 // org.apache.avro.generic.GenericFixed fixed
         1: .line 375
            aload 3 /* in */
            aload 4 /* fixed */
            invokeinterface org.apache.avro.generic.GenericFixed.bytes:()[B
            iconst_0
            aload 2 /* expected */
            invokevirtual org.apache.avro.Schema.getFixedSize:()I
            invokevirtual org.apache.avro.io.Decoder.readFixed:([BII)V
         2: .line 376
            aload 4 /* fixed */
            areturn
        end local 4 // org.apache.avro.generic.GenericFixed fixed
        end local 3 // org.apache.avro.io.Decoder in
        end local 2 // org.apache.avro.Schema expected
        end local 1 // java.lang.Object old
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0    3     1       old  Ljava/lang/Object;
            0    3     2  expected  Lorg/apache/avro/Schema;
            0    3     3        in  Lorg/apache/avro/io/Decoder;
            1    3     4     fixed  Lorg/apache/avro/generic/GenericFixed;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      old       
      expected  
      in        

  protected java.lang.Object createFixed(java.lang.Object, org.apache.avro.Schema);
    descriptor: (Ljava/lang/Object;Lorg/apache/avro/Schema;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // java.lang.Object old
        start local 2 // org.apache.avro.Schema schema
         0: .line 388
            aload 0 /* this */
            getfield org.apache.avro.generic.GenericDatumReader.data:Lorg/apache/avro/generic/GenericData;
            aload 1 /* old */
            aload 2 /* schema */
            invokevirtual org.apache.avro.generic.GenericData.createFixed:(Ljava/lang/Object;Lorg/apache/avro/Schema;)Ljava/lang/Object;
            areturn
        end local 2 // org.apache.avro.Schema schema
        end local 1 // java.lang.Object old
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0    1     1     old  Ljava/lang/Object;
            0    1     2  schema  Lorg/apache/avro/Schema;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
        Name  Flags
      old     
      schema  

  protected java.lang.Object createFixed(java.lang.Object, byte[], org.apache.avro.Schema);
    descriptor: (Ljava/lang/Object;[BLorg/apache/avro/Schema;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // java.lang.Object old
        start local 2 // byte[] bytes
        start local 3 // org.apache.avro.Schema schema
         0: .line 400
            aload 0 /* this */
            getfield org.apache.avro.generic.GenericDatumReader.data:Lorg/apache/avro/generic/GenericData;
            aload 1 /* old */
            aload 2 /* bytes */
            aload 3 /* schema */
            invokevirtual org.apache.avro.generic.GenericData.createFixed:(Ljava/lang/Object;[BLorg/apache/avro/Schema;)Ljava/lang/Object;
            areturn
        end local 3 // org.apache.avro.Schema schema
        end local 2 // byte[] bytes
        end local 1 // java.lang.Object old
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0    1     1     old  Ljava/lang/Object;
            0    1     2   bytes  [B
            0    1     3  schema  Lorg/apache/avro/Schema;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
        Name  Flags
      old     
      bytes   
      schema  

  protected java.lang.Object newRecord(java.lang.Object, org.apache.avro.Schema);
    descriptor: (Ljava/lang/Object;Lorg/apache/avro/Schema;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // java.lang.Object old
        start local 2 // org.apache.avro.Schema schema
         0: .line 416
            aload 0 /* this */
            getfield org.apache.avro.generic.GenericDatumReader.data:Lorg/apache/avro/generic/GenericData;
            aload 1 /* old */
            aload 2 /* schema */
            invokevirtual org.apache.avro.generic.GenericData.newRecord:(Ljava/lang/Object;Lorg/apache/avro/Schema;)Ljava/lang/Object;
            areturn
        end local 2 // org.apache.avro.Schema schema
        end local 1 // java.lang.Object old
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0    1     1     old  Ljava/lang/Object;
            0    1     2  schema  Lorg/apache/avro/Schema;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
        Name  Flags
      old     
      schema  

  protected java.lang.Object newArray(java.lang.Object, int, org.apache.avro.Schema);
    descriptor: (Ljava/lang/Object;ILorg/apache/avro/Schema;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // java.lang.Object old
        start local 2 // int size
        start local 3 // org.apache.avro.Schema schema
         0: .line 426
            aload 1 /* old */
            instanceof org.apache.avro.generic.GenericArray
            ifeq 3
         1: .line 427
            aload 1 /* old */
            checkcast org.apache.avro.generic.GenericArray
            invokeinterface org.apache.avro.generic.GenericArray.reset:()V
         2: .line 428
            aload 1 /* old */
            areturn
         3: .line 429
      StackMap locals:
      StackMap stack:
            aload 1 /* old */
            instanceof java.util.Collection
            ifeq 6
         4: .line 430
            aload 1 /* old */
            checkcast java.util.Collection
            invokeinterface java.util.Collection.clear:()V
         5: .line 431
            aload 1 /* old */
            areturn
         6: .line 433
      StackMap locals:
      StackMap stack:
            new org.apache.avro.generic.GenericData$Array
            dup
            iload 2 /* size */
            aload 3 /* schema */
            invokespecial org.apache.avro.generic.GenericData$Array.<init>:(ILorg/apache/avro/Schema;)V
            areturn
        end local 3 // org.apache.avro.Schema schema
        end local 2 // int size
        end local 1 // java.lang.Object old
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0    7     1     old  Ljava/lang/Object;
            0    7     2    size  I
            0    7     3  schema  Lorg/apache/avro/Schema;
    MethodParameters:
        Name  Flags
      old     
      size    
      schema  

  protected java.lang.Object newMap(java.lang.Object, int);
    descriptor: (Ljava/lang/Object;I)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // java.lang.Object old
        start local 2 // int size
         0: .line 442
            aload 1 /* old */
            instanceof java.util.Map
            ifeq 3
         1: .line 443
            aload 1 /* old */
            checkcast java.util.Map
            invokeinterface java.util.Map.clear:()V
         2: .line 444
            aload 1 /* old */
            areturn
         3: .line 446
      StackMap locals:
      StackMap stack:
            new java.util.HashMap
            dup
            iload 2 /* size */
            invokespecial java.util.HashMap.<init>:(I)V
            areturn
        end local 2 // int size
        end local 1 // java.lang.Object old
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0    4     1   old  Ljava/lang/Object;
            0    4     2  size  I
    MethodParameters:
      Name  Flags
      old   
      size  

  protected java.lang.Object readString(java.lang.Object, org.apache.avro.Schema, org.apache.avro.io.Decoder);
    descriptor: (Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/io/Decoder;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // java.lang.Object old
        start local 2 // org.apache.avro.Schema expected
        start local 3 // org.apache.avro.io.Decoder in
         0: .line 454
            aload 0 /* this */
            aload 2 /* expected */
            invokevirtual org.apache.avro.generic.GenericDatumReader.getStringClass:(Lorg/apache/avro/Schema;)Ljava/lang/Class;
            astore 4 /* stringClass */
        start local 4 // java.lang.Class stringClass
         1: .line 455
            aload 4 /* stringClass */
            ldc Ljava/lang/String;
            if_acmpne 3
         2: .line 456
            aload 3 /* in */
            invokevirtual org.apache.avro.io.Decoder.readString:()Ljava/lang/String;
            areturn
         3: .line 457
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 4 /* stringClass */
            ldc Ljava/lang/CharSequence;
            if_acmpne 5
         4: .line 458
            aload 0 /* this */
            aload 1 /* old */
            aload 3 /* in */
            invokevirtual org.apache.avro.generic.GenericDatumReader.readString:(Ljava/lang/Object;Lorg/apache/avro/io/Decoder;)Ljava/lang/Object;
            areturn
         5: .line 459
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* stringClass */
            aload 3 /* in */
            invokevirtual org.apache.avro.io.Decoder.readString:()Ljava/lang/String;
            invokevirtual org.apache.avro.generic.GenericDatumReader.newInstanceFromString:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
            areturn
        end local 4 // java.lang.Class stringClass
        end local 3 // org.apache.avro.io.Decoder in
        end local 2 // org.apache.avro.Schema expected
        end local 1 // java.lang.Object old
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0    6     1          old  Ljava/lang/Object;
            0    6     2     expected  Lorg/apache/avro/Schema;
            0    6     3           in  Lorg/apache/avro/io/Decoder;
            1    6     4  stringClass  Ljava/lang/Class;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      old       
      expected  
      in        

  protected java.lang.Object readString(java.lang.Object, org.apache.avro.io.Decoder);
    descriptor: (Ljava/lang/Object;Lorg/apache/avro/io/Decoder;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // java.lang.Object old
        start local 2 // org.apache.avro.io.Decoder in
         0: .line 467
            aload 2 /* in */
            aload 1 /* old */
            instanceof org.apache.avro.util.Utf8
            ifeq 1
            aload 1 /* old */
            checkcast org.apache.avro.util.Utf8
            goto 2
      StackMap locals:
      StackMap stack: org.apache.avro.io.Decoder
         1: aconst_null
      StackMap locals: org.apache.avro.generic.GenericDatumReader java.lang.Object org.apache.avro.io.Decoder
      StackMap stack: org.apache.avro.io.Decoder org.apache.avro.util.Utf8
         2: invokevirtual org.apache.avro.io.Decoder.readString:(Lorg/apache/avro/util/Utf8;)Lorg/apache/avro/util/Utf8;
            areturn
        end local 2 // org.apache.avro.io.Decoder in
        end local 1 // java.lang.Object old
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0    3     1   old  Ljava/lang/Object;
            0    3     2    in  Lorg/apache/avro/io/Decoder;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      old   
      in    

  protected java.lang.Object createString(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // java.lang.String value
         0: .line 476
            new org.apache.avro.util.Utf8
            dup
            aload 1 /* value */
            invokespecial org.apache.avro.util.Utf8.<init>:(Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String value
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0    1     1  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      value  

  protected java.lang.Class findStringClass(org.apache.avro.Schema);
    descriptor: (Lorg/apache/avro/Schema;)Ljava/lang/Class;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // org.apache.avro.Schema schema
         0: .line 486
            aload 1 /* schema */
            ldc "avro.java.string"
            invokevirtual org.apache.avro.Schema.getProp:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         1: .line 487
            aload 2 /* name */
            ifnonnull 3
         2: .line 488
            ldc Ljava/lang/CharSequence;
            areturn
         3: .line 490
      StackMap locals: java.lang.String
      StackMap stack:
            invokestatic org.apache.avro.generic.GenericDatumReader.$SWITCH_TABLE$org$apache$avro$generic$GenericData$StringType:()[I
            aload 2 /* name */
            invokestatic org.apache.avro.generic.GenericData$StringType.valueOf:(Ljava/lang/String;)Lorg/apache/avro/generic/GenericData$StringType;
            invokevirtual org.apache.avro.generic.GenericData$StringType.ordinal:()I
            iaload
            tableswitch { // 2 - 2
                    2: 4
              default: 5
          }
         4: .line 492
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/String;
            areturn
         5: .line 494
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/CharSequence;
            areturn
        end local 2 // java.lang.String name
        end local 1 // org.apache.avro.Schema schema
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0    6     1  schema  Lorg/apache/avro/Schema;
            1    6     2    name  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      schema  

  private java.lang.Class getStringClass(org.apache.avro.Schema);
    descriptor: (Lorg/apache/avro/Schema;)Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // org.apache.avro.Schema s
         0: .line 501
            aload 0 /* this */
            getfield org.apache.avro.generic.GenericDatumReader.stringClassCache:Ljava/util/Map;
            aload 1 /* s */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Class
            astore 2 /* c */
        start local 2 // java.lang.Class c
         1: .line 502
            aload 2 /* c */
            ifnonnull 4
         2: .line 503
            aload 0 /* this */
            aload 1 /* s */
            invokevirtual org.apache.avro.generic.GenericDatumReader.findStringClass:(Lorg/apache/avro/Schema;)Ljava/lang/Class;
            astore 2 /* c */
         3: .line 504
            aload 0 /* this */
            getfield org.apache.avro.generic.GenericDatumReader.stringClassCache:Ljava/util/Map;
            aload 1 /* s */
            aload 2 /* c */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 506
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 2 /* c */
            areturn
        end local 2 // java.lang.Class c
        end local 1 // org.apache.avro.Schema s
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0    5     1     s  Lorg/apache/avro/Schema;
            1    5     2     c  Ljava/lang/Class;
    MethodParameters:
      Name  Flags
      s     

  protected java.lang.Object newInstanceFromString(java.lang.Class, java.lang.String);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // java.lang.Class c
        start local 2 // java.lang.String s
         0: .line 514
            aload 0 /* this */
            getfield org.apache.avro.generic.GenericDatumReader.stringCtorCache:Ljava/util/Map;
            aload 1 /* c */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.reflect.Constructor
            astore 3 /* ctor */
        start local 3 // java.lang.reflect.Constructor ctor
         1: .line 515
            aload 3 /* ctor */
            ifnonnull 5
         2: .line 516
            aload 1 /* c */
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/String;
            aastore
            invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 3 /* ctor */
         3: .line 517
            aload 3 /* ctor */
            iconst_1
            invokevirtual java.lang.reflect.Constructor.setAccessible:(Z)V
         4: .line 518
            aload 0 /* this */
            getfield org.apache.avro.generic.GenericDatumReader.stringCtorCache:Ljava/util/Map;
            aload 1 /* c */
            aload 3 /* ctor */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 520
      StackMap locals: java.lang.reflect.Constructor
      StackMap stack:
            aload 3 /* ctor */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* s */
            aastore
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
         6: areturn
        end local 3 // java.lang.reflect.Constructor ctor
         7: .line 521
      StackMap locals: org.apache.avro.generic.GenericDatumReader java.lang.Class java.lang.String
      StackMap stack: java.lang.ReflectiveOperationException
            astore 3 /* e */
        start local 3 // java.lang.ReflectiveOperationException e
         8: .line 522
            new org.apache.avro.AvroRuntimeException
            dup
            aload 3 /* e */
            invokespecial org.apache.avro.AvroRuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.ReflectiveOperationException e
        end local 2 // java.lang.String s
        end local 1 // java.lang.Class c
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0    9     1     c  Ljava/lang/Class;
            0    9     2     s  Ljava/lang/String;
            1    7     3  ctor  Ljava/lang/reflect/Constructor;
            8    9     3     e  Ljava/lang/ReflectiveOperationException;
      Exception table:
        from    to  target  type
           0     6       7  Class java.lang.NoSuchMethodException
           0     6       7  Class java.lang.reflect.InvocationTargetException
           0     6       7  Class java.lang.IllegalAccessException
           0     6       7  Class java.lang.InstantiationException
    MethodParameters:
      Name  Flags
      c     
      s     

  protected java.lang.Object readBytes(java.lang.Object, org.apache.avro.Schema, org.apache.avro.io.Decoder);
    descriptor: (Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/io/Decoder;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // java.lang.Object old
        start local 2 // org.apache.avro.Schema s
        start local 3 // org.apache.avro.io.Decoder in
         0: .line 532
            aload 0 /* this */
            aload 1 /* old */
            aload 3 /* in */
            invokevirtual org.apache.avro.generic.GenericDatumReader.readBytes:(Ljava/lang/Object;Lorg/apache/avro/io/Decoder;)Ljava/lang/Object;
            areturn
        end local 3 // org.apache.avro.io.Decoder in
        end local 2 // org.apache.avro.Schema s
        end local 1 // java.lang.Object old
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0    1     1   old  Ljava/lang/Object;
            0    1     2     s  Lorg/apache/avro/Schema;
            0    1     3    in  Lorg/apache/avro/io/Decoder;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      old   
      s     
      in    

  protected java.lang.Object readBytes(java.lang.Object, org.apache.avro.io.Decoder);
    descriptor: (Ljava/lang/Object;Lorg/apache/avro/io/Decoder;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // java.lang.Object old
        start local 2 // org.apache.avro.io.Decoder in
         0: .line 541
            aload 2 /* in */
            aload 1 /* old */
            instanceof java.nio.ByteBuffer
            ifeq 1
            aload 1 /* old */
            checkcast java.nio.ByteBuffer
            goto 2
      StackMap locals:
      StackMap stack: org.apache.avro.io.Decoder
         1: aconst_null
      StackMap locals: org.apache.avro.generic.GenericDatumReader java.lang.Object org.apache.avro.io.Decoder
      StackMap stack: org.apache.avro.io.Decoder java.nio.ByteBuffer
         2: invokevirtual org.apache.avro.io.Decoder.readBytes:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
            areturn
        end local 2 // org.apache.avro.io.Decoder in
        end local 1 // java.lang.Object old
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0    3     1   old  Ljava/lang/Object;
            0    3     2    in  Lorg/apache/avro/io/Decoder;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      old   
      in    

  protected java.lang.Object readInt(java.lang.Object, org.apache.avro.Schema, org.apache.avro.io.Decoder);
    descriptor: (Ljava/lang/Object;Lorg/apache/avro/Schema;Lorg/apache/avro/io/Decoder;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // java.lang.Object old
        start local 2 // org.apache.avro.Schema expected
        start local 3 // org.apache.avro.io.Decoder in
         0: .line 549
            aload 3 /* in */
            invokevirtual org.apache.avro.io.Decoder.readInt:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        end local 3 // org.apache.avro.io.Decoder in
        end local 2 // org.apache.avro.Schema expected
        end local 1 // java.lang.Object old
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0    1     1       old  Ljava/lang/Object;
            0    1     2  expected  Lorg/apache/avro/Schema;
            0    1     3        in  Lorg/apache/avro/io/Decoder;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      old       
      expected  
      in        

  protected java.lang.Object createBytes(byte[]);
    descriptor: ([B)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.apache.avro.generic.GenericDatumReader this
        start local 1 // byte[] value
         0: .line 558
            aload 1 /* value */
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            areturn
        end local 1 // byte[] value
        end local 0 // org.apache.avro.generic.GenericDatumReader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/apache/avro/generic/GenericDatumReader<TD;>;
            0    1     1  value  [B
    MethodParameters:
       Name  Flags
      value  

  public static void skip(org.apache.avro.Schema, org.apache.avro.io.Decoder);
    descriptor: (Lorg/apache/avro/Schema;Lorg/apache/avro/io/Decoder;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.apache.avro.Schema schema
        start local 1 // org.apache.avro.io.Decoder in
         0: .line 563
            invokestatic org.apache.avro.generic.GenericDatumReader.$SWITCH_TABLE$org$apache$avro$Schema$Type:()[I
            aload 0 /* schema */
            invokevirtual org.apache.avro.Schema.getType:()Lorg/apache/avro/Schema$Type;
            invokevirtual org.apache.avro.Schema$Type.ordinal:()I
            iaload
            tableswitch { // 1 - 14
                    1: 1
                    2: 6
                    3: 8
                    4: 19
                    5: 31
                    6: 33
                    7: 35
                    8: 37
                    9: 39
                   10: 41
                   11: 43
                   12: 45
                   13: 47
                   14: 49
              default: 50
          }
         1: .line 565
      StackMap locals:
      StackMap stack:
            aload 0 /* schema */
            invokevirtual org.apache.avro.Schema.getFields:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: org.apache.avro.Schema org.apache.avro.io.Decoder top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.avro.Schema$Field
            astore 2 /* field */
        start local 2 // org.apache.avro.Schema$Field field
         3: .line 566
            aload 2 /* field */
            invokevirtual org.apache.avro.Schema$Field.schema:()Lorg/apache/avro/Schema;
            aload 1 /* in */
            invokestatic org.apache.avro.generic.GenericDatumReader.skip:(Lorg/apache/avro/Schema;Lorg/apache/avro/io/Decoder;)V
        end local 2 // org.apache.avro.Schema$Field field
         4: .line 565
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 567
            goto 51
         6: .line 569
      StackMap locals: org.apache.avro.Schema org.apache.avro.io.Decoder
      StackMap stack:
            aload 1 /* in */
            invokevirtual org.apache.avro.io.Decoder.readInt:()I
            pop
         7: .line 570
            goto 51
         8: .line 572
      StackMap locals:
      StackMap stack:
            aload 0 /* schema */
            invokevirtual org.apache.avro.Schema.getElementType:()Lorg/apache/avro/Schema;
            astore 2 /* elementType */
        start local 2 // org.apache.avro.Schema elementType
         9: .line 573
            aload 1 /* in */
            invokevirtual org.apache.avro.io.Decoder.skipArray:()J
            lstore 3 /* l */
        start local 3 // long l
        10: goto 17
        11: .line 574
      StackMap locals: org.apache.avro.Schema long
      StackMap stack:
            lconst_0
            lstore 5 /* i */
        start local 5 // long i
        12: goto 15
        13: .line 575
      StackMap locals: long
      StackMap stack:
            aload 2 /* elementType */
            aload 1 /* in */
            invokestatic org.apache.avro.generic.GenericDatumReader.skip:(Lorg/apache/avro/Schema;Lorg/apache/avro/io/Decoder;)V
        14: .line 574
            lload 5 /* i */
            lconst_1
            ladd
            lstore 5 /* i */
      StackMap locals:
      StackMap stack:
        15: lload 5 /* i */
            lload 3 /* l */
            lcmp
            iflt 13
        end local 5 // long i
        16: .line 573
            aload 1 /* in */
            invokevirtual org.apache.avro.io.Decoder.skipArray:()J
            lstore 3 /* l */
      StackMap locals:
      StackMap stack:
        17: lload 3 /* l */
            lconst_0
            lcmp
            ifgt 11
        end local 3 // long l
        18: .line 578
            goto 51
        end local 2 // org.apache.avro.Schema elementType
        19: .line 580
      StackMap locals:
      StackMap stack:
            aload 0 /* schema */
            invokevirtual org.apache.avro.Schema.getValueType:()Lorg/apache/avro/Schema;
            astore 3 /* value */
        start local 3 // org.apache.avro.Schema value
        20: .line 581
            aload 1 /* in */
            invokevirtual org.apache.avro.io.Decoder.skipMap:()J
            lstore 4 /* l */
        start local 4 // long l
        21: goto 29
        22: .line 582
      StackMap locals: org.apache.avro.Schema org.apache.avro.io.Decoder top org.apache.avro.Schema long
      StackMap stack:
            lconst_0
            lstore 6 /* i */
        start local 6 // long i
        23: goto 27
        24: .line 583
      StackMap locals: long
      StackMap stack:
            aload 1 /* in */
            invokevirtual org.apache.avro.io.Decoder.skipString:()V
        25: .line 584
            aload 3 /* value */
            aload 1 /* in */
            invokestatic org.apache.avro.generic.GenericDatumReader.skip:(Lorg/apache/avro/Schema;Lorg/apache/avro/io/Decoder;)V
        26: .line 582
            lload 6 /* i */
            lconst_1
            ladd
            lstore 6 /* i */
      StackMap locals:
      StackMap stack:
        27: lload 6 /* i */
            lload 4 /* l */
            lcmp
            iflt 24
        end local 6 // long i
        28: .line 581
            aload 1 /* in */
            invokevirtual org.apache.avro.io.Decoder.skipMap:()J
            lstore 4 /* l */
      StackMap locals:
      StackMap stack:
        29: lload 4 /* l */
            lconst_0
            lcmp
            ifgt 22
        end local 4 // long l
        30: .line 587
            goto 51
        end local 3 // org.apache.avro.Schema value
        31: .line 589
      StackMap locals: org.apache.avro.Schema org.apache.avro.io.Decoder
      StackMap stack:
            aload 0 /* schema */
            invokevirtual org.apache.avro.Schema.getTypes:()Ljava/util/List;
            aload 1 /* in */
            invokevirtual org.apache.avro.io.Decoder.readIndex:()I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.avro.Schema
            aload 1 /* in */
            invokestatic org.apache.avro.generic.GenericDatumReader.skip:(Lorg/apache/avro/Schema;Lorg/apache/avro/io/Decoder;)V
        32: .line 590
            goto 51
        33: .line 592
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            aload 0 /* schema */
            invokevirtual org.apache.avro.Schema.getFixedSize:()I
            invokevirtual org.apache.avro.io.Decoder.skipFixed:(I)V
        34: .line 593
            goto 51
        35: .line 595
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokevirtual org.apache.avro.io.Decoder.skipString:()V
        36: .line 596
            goto 51
        37: .line 598
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokevirtual org.apache.avro.io.Decoder.skipBytes:()V
        38: .line 599
            goto 51
        39: .line 601
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokevirtual org.apache.avro.io.Decoder.readInt:()I
            pop
        40: .line 602
            goto 51
        41: .line 604
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokevirtual org.apache.avro.io.Decoder.readLong:()J
            pop2
        42: .line 605
            goto 51
        43: .line 607
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokevirtual org.apache.avro.io.Decoder.readFloat:()F
            pop
        44: .line 608
            goto 51
        45: .line 610
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokevirtual org.apache.avro.io.Decoder.readDouble:()D
            pop2
        46: .line 611
            goto 51
        47: .line 613
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokevirtual org.apache.avro.io.Decoder.readBoolean:()Z
            pop
        48: .line 614
            goto 51
        49: .line 616
      StackMap locals:
      StackMap stack:
            goto 51
        50: .line 618
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* schema */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        51: .line 620
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.avro.io.Decoder in
        end local 0 // org.apache.avro.Schema schema
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   52     0       schema  Lorg/apache/avro/Schema;
            0   52     1           in  Lorg/apache/avro/io/Decoder;
            3    4     2        field  Lorg/apache/avro/Schema$Field;
            9   19     2  elementType  Lorg/apache/avro/Schema;
           10   18     3            l  J
           12   16     5            i  J
           20   31     3        value  Lorg/apache/avro/Schema;
           21   30     4            l  J
           23   28     6            i  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      schema  
      in      

  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 43
            getstatic org.apache.avro.generic.GenericDatumReader.$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 org.apache.avro.generic.GenericDatumReader.$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

  static int[] $SWITCH_TABLE$org$apache$avro$generic$GenericData$StringType();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 43
            getstatic org.apache.avro.generic.GenericDatumReader.$SWITCH_TABLE$org$apache$avro$generic$GenericData$StringType:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.apache.avro.generic.GenericData$StringType.values:()[Lorg/apache/avro/generic/GenericData$StringType;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.apache.avro.generic.GenericData$StringType.CharSequence:Lorg/apache/avro/generic/GenericData$StringType;
            invokevirtual org.apache.avro.generic.GenericData$StringType.ordinal:()I
            iconst_1
            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.generic.GenericData$StringType.String:Lorg/apache/avro/generic/GenericData$StringType;
            invokevirtual org.apache.avro.generic.GenericData$StringType.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.apache.avro.generic.GenericData$StringType.Utf8:Lorg/apache/avro/generic/GenericData$StringType;
            invokevirtual org.apache.avro.generic.GenericData$StringType.ordinal:()I
            iconst_3
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            dup
            putstatic org.apache.avro.generic.GenericDatumReader.$SWITCH_TABLE$org$apache$avro$generic$GenericData$StringType:[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
}
Signature: <D:Ljava/lang/Object;>Ljava/lang/Object;Lorg/apache/avro/io/DatumReader<TD;>;
SourceFile: "GenericDatumReader.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public Field = org.apache.avro.Schema$Field of org.apache.avro.Schema
  public final Type = org.apache.avro.Schema$Type of org.apache.avro.Schema
  public Array = org.apache.avro.generic.GenericData$Array of org.apache.avro.generic.GenericData
  public final StringType = org.apache.avro.generic.GenericData$StringType of org.apache.avro.generic.GenericData