public final class com.google.gson.internal.bind.ObjectTypeAdapter extends com.google.gson.TypeAdapter<java.lang.Object>
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.google.gson.internal.bind.ObjectTypeAdapter
  super_class: com.google.gson.TypeAdapter
{
  public static final com.google.gson.TypeAdapterFactory FACTORY;
    descriptor: Lcom/google/gson/TypeAdapterFactory;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private final com.google.gson.Gson gson;
    descriptor: Lcom/google/gson/Gson;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static volatile int[] $SWITCH_TABLE$com$google$gson$stream$JsonToken;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 38
            new com.google.gson.internal.bind.ObjectTypeAdapter$1
            dup
            invokespecial com.google.gson.internal.bind.ObjectTypeAdapter$1.<init>:()V
            putstatic com.google.gson.internal.bind.ObjectTypeAdapter.FACTORY:Lcom/google/gson/TypeAdapterFactory;
         1: .line 46
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(com.google.gson.Gson);
    descriptor: (Lcom/google/gson/Gson;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.gson.internal.bind.ObjectTypeAdapter this
        start local 1 // com.google.gson.Gson gson
         0: .line 50
            aload 0 /* this */
            invokespecial com.google.gson.TypeAdapter.<init>:()V
         1: .line 51
            aload 0 /* this */
            aload 1 /* gson */
            putfield com.google.gson.internal.bind.ObjectTypeAdapter.gson:Lcom/google/gson/Gson;
         2: .line 52
            return
        end local 1 // com.google.gson.Gson gson
        end local 0 // com.google.gson.internal.bind.ObjectTypeAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/google/gson/internal/bind/ObjectTypeAdapter;
            0    3     1  gson  Lcom/google/gson/Gson;
    MethodParameters:
      Name  Flags
      gson  

  public java.lang.Object read(com.google.gson.stream.JsonReader);
    descriptor: (Lcom/google/gson/stream/JsonReader;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.google.gson.internal.bind.ObjectTypeAdapter this
        start local 1 // com.google.gson.stream.JsonReader in
         0: .line 55
            aload 1 /* in */
            invokevirtual com.google.gson.stream.JsonReader.peek:()Lcom/google/gson/stream/JsonToken;
            astore 2 /* token */
        start local 2 // com.google.gson.stream.JsonToken token
         1: .line 56
            invokestatic com.google.gson.internal.bind.ObjectTypeAdapter.$SWITCH_TABLE$com$google$gson$stream$JsonToken:()[I
            aload 2 /* token */
            invokevirtual com.google.gson.stream.JsonToken.ordinal:()I
            iaload
            tableswitch { // 1 - 9
                    1: 2
                    2: 21
                    3: 9
                    4: 21
                    5: 21
                    6: 16
                    7: 17
                    8: 18
                    9: 19
              default: 21
          }
         2: .line 58
      StackMap locals: com.google.gson.stream.JsonToken
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* list */
        start local 3 // java.util.List list
         3: .line 59
            aload 1 /* in */
            invokevirtual com.google.gson.stream.JsonReader.beginArray:()V
         4: .line 60
            goto 6
         5: .line 61
      StackMap locals: java.util.List
      StackMap stack:
            aload 3 /* list */
            aload 0 /* this */
            aload 1 /* in */
            invokevirtual com.google.gson.internal.bind.ObjectTypeAdapter.read:(Lcom/google/gson/stream/JsonReader;)Ljava/lang/Object;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 60
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokevirtual com.google.gson.stream.JsonReader.hasNext:()Z
            ifne 5
         7: .line 63
            aload 1 /* in */
            invokevirtual com.google.gson.stream.JsonReader.endArray:()V
         8: .line 64
            aload 3 /* list */
            areturn
        end local 3 // java.util.List list
         9: .line 67
      StackMap locals:
      StackMap stack:
            new com.google.gson.internal.LinkedTreeMap
            dup
            invokespecial com.google.gson.internal.LinkedTreeMap.<init>:()V
            astore 4 /* map */
        start local 4 // java.util.Map map
        10: .line 68
            aload 1 /* in */
            invokevirtual com.google.gson.stream.JsonReader.beginObject:()V
        11: .line 69
            goto 13
        12: .line 70
      StackMap locals: com.google.gson.internal.bind.ObjectTypeAdapter com.google.gson.stream.JsonReader com.google.gson.stream.JsonToken top java.util.Map
      StackMap stack:
            aload 4 /* map */
            aload 1 /* in */
            invokevirtual com.google.gson.stream.JsonReader.nextName:()Ljava/lang/String;
            aload 0 /* this */
            aload 1 /* in */
            invokevirtual com.google.gson.internal.bind.ObjectTypeAdapter.read:(Lcom/google/gson/stream/JsonReader;)Ljava/lang/Object;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 69
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokevirtual com.google.gson.stream.JsonReader.hasNext:()Z
            ifne 12
        14: .line 72
            aload 1 /* in */
            invokevirtual com.google.gson.stream.JsonReader.endObject:()V
        15: .line 73
            aload 4 /* map */
            areturn
        end local 4 // java.util.Map map
        16: .line 76
      StackMap locals: com.google.gson.internal.bind.ObjectTypeAdapter com.google.gson.stream.JsonReader com.google.gson.stream.JsonToken
      StackMap stack:
            aload 1 /* in */
            invokevirtual com.google.gson.stream.JsonReader.nextString:()Ljava/lang/String;
            areturn
        17: .line 79
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokevirtual com.google.gson.stream.JsonReader.nextDouble:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
        18: .line 82
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokevirtual com.google.gson.stream.JsonReader.nextBoolean:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        19: .line 85
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokevirtual com.google.gson.stream.JsonReader.nextNull:()V
        20: .line 86
            aconst_null
            areturn
        21: .line 89
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            invokespecial java.lang.IllegalStateException.<init>:()V
            athrow
        end local 2 // com.google.gson.stream.JsonToken token
        end local 1 // com.google.gson.stream.JsonReader in
        end local 0 // com.google.gson.internal.bind.ObjectTypeAdapter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   22     0   this  Lcom/google/gson/internal/bind/ObjectTypeAdapter;
            0   22     1     in  Lcom/google/gson/stream/JsonReader;
            1   22     2  token  Lcom/google/gson/stream/JsonToken;
            3    9     3   list  Ljava/util/List<Ljava/lang/Object;>;
           10   16     4    map  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      in    

  public void write(com.google.gson.stream.JsonWriter, java.lang.Object);
    descriptor: (Lcom/google/gson/stream/JsonWriter;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.google.gson.internal.bind.ObjectTypeAdapter this
        start local 1 // com.google.gson.stream.JsonWriter out
        start local 2 // java.lang.Object value
         0: .line 95
            aload 2 /* value */
            ifnonnull 3
         1: .line 96
            aload 1 /* out */
            invokevirtual com.google.gson.stream.JsonWriter.nullValue:()Lcom/google/gson/stream/JsonWriter;
            pop
         2: .line 97
            return
         3: .line 100
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.google.gson.internal.bind.ObjectTypeAdapter.gson:Lcom/google/gson/Gson;
            aload 2 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual com.google.gson.Gson.getAdapter:(Ljava/lang/Class;)Lcom/google/gson/TypeAdapter;
            astore 3 /* typeAdapter */
        start local 3 // com.google.gson.TypeAdapter typeAdapter
         4: .line 101
            aload 3 /* typeAdapter */
            instanceof com.google.gson.internal.bind.ObjectTypeAdapter
            ifeq 8
         5: .line 102
            aload 1 /* out */
            invokevirtual com.google.gson.stream.JsonWriter.beginObject:()Lcom/google/gson/stream/JsonWriter;
            pop
         6: .line 103
            aload 1 /* out */
            invokevirtual com.google.gson.stream.JsonWriter.endObject:()Lcom/google/gson/stream/JsonWriter;
            pop
         7: .line 104
            return
         8: .line 107
      StackMap locals: com.google.gson.TypeAdapter
      StackMap stack:
            aload 3 /* typeAdapter */
            aload 1 /* out */
            aload 2 /* value */
            invokevirtual com.google.gson.TypeAdapter.write:(Lcom/google/gson/stream/JsonWriter;Ljava/lang/Object;)V
         9: .line 108
            return
        end local 3 // com.google.gson.TypeAdapter typeAdapter
        end local 2 // java.lang.Object value
        end local 1 // com.google.gson.stream.JsonWriter out
        end local 0 // com.google.gson.internal.bind.ObjectTypeAdapter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lcom/google/gson/internal/bind/ObjectTypeAdapter;
            0   10     1          out  Lcom/google/gson/stream/JsonWriter;
            0   10     2        value  Ljava/lang/Object;
            4   10     3  typeAdapter  Lcom/google/gson/TypeAdapter<Ljava/lang/Object;>;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      out    
      value  

  static int[] $SWITCH_TABLE$com$google$gson$stream$JsonToken();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 37
            getstatic com.google.gson.internal.bind.ObjectTypeAdapter.$SWITCH_TABLE$com$google$gson$stream$JsonToken:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.google.gson.stream.JsonToken.values:()[Lcom/google/gson/stream/JsonToken;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.google.gson.stream.JsonToken.BEGIN_ARRAY:Lcom/google/gson/stream/JsonToken;
            invokevirtual com.google.gson.stream.JsonToken.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 com.google.gson.stream.JsonToken.BEGIN_OBJECT:Lcom/google/gson/stream/JsonToken;
            invokevirtual com.google.gson.stream.JsonToken.ordinal:()I
            iconst_3
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic com.google.gson.stream.JsonToken.BOOLEAN:Lcom/google/gson/stream/JsonToken;
            invokevirtual com.google.gson.stream.JsonToken.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 com.google.gson.stream.JsonToken.END_ARRAY:Lcom/google/gson/stream/JsonToken;
            invokevirtual com.google.gson.stream.JsonToken.ordinal:()I
            iconst_2
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic com.google.gson.stream.JsonToken.END_DOCUMENT:Lcom/google/gson/stream/JsonToken;
            invokevirtual com.google.gson.stream.JsonToken.ordinal:()I
            bipush 10
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic com.google.gson.stream.JsonToken.END_OBJECT:Lcom/google/gson/stream/JsonToken;
            invokevirtual com.google.gson.stream.JsonToken.ordinal:()I
            iconst_4
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic com.google.gson.stream.JsonToken.NAME:Lcom/google/gson/stream/JsonToken;
            invokevirtual com.google.gson.stream.JsonToken.ordinal:()I
            iconst_5
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic com.google.gson.stream.JsonToken.NULL:Lcom/google/gson/stream/JsonToken;
            invokevirtual com.google.gson.stream.JsonToken.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 com.google.gson.stream.JsonToken.NUMBER:Lcom/google/gson/stream/JsonToken;
            invokevirtual com.google.gson.stream.JsonToken.ordinal:()I
            bipush 7
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic com.google.gson.stream.JsonToken.STRING:Lcom/google/gson/stream/JsonToken;
            invokevirtual com.google.gson.stream.JsonToken.ordinal:()I
            bipush 6
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            dup
            putstatic com.google.gson.internal.bind.ObjectTypeAdapter.$SWITCH_TABLE$com$google$gson$stream$JsonToken:[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
}
Signature: Lcom/google/gson/TypeAdapter<Ljava/lang/Object;>;
SourceFile: "ObjectTypeAdapter.java"
NestMembers:
  com.google.gson.internal.bind.ObjectTypeAdapter$1
InnerClasses:
  com.google.gson.internal.bind.ObjectTypeAdapter$1