public class java.io.ObjectStreamClass implements java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: java.io.ObjectStreamClass
  super_class: java.lang.Object
{
  public static final java.io.ObjectStreamField[] NO_FIELDS;
    descriptor: [Ljava/io/ObjectStreamField;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -6120832682080437368

  private static final java.io.ObjectStreamField[] serialPersistentFields;
    descriptor: [Ljava/io/ObjectStreamField;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static boolean disableSerialConstructorChecks;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final sun.reflect.ReflectionFactory reflFactory;
    descriptor: Lsun/reflect/ReflectionFactory;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private java.lang.Class<?> cl;
    descriptor: Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/lang/Class<*>;

  private java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private volatile java.lang.Long suid;
    descriptor: Ljava/lang/Long;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private boolean isProxy;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean isEnum;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean serializable;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean externalizable;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean hasWriteObjectData;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean hasBlockExternalData;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.lang.ClassNotFoundException resolveEx;
    descriptor: Ljava/lang/ClassNotFoundException;
    flags: (0x0002) ACC_PRIVATE

  private java.io.ObjectStreamClass$ExceptionInfo deserializeEx;
    descriptor: Ljava/io/ObjectStreamClass$ExceptionInfo;
    flags: (0x0002) ACC_PRIVATE

  private java.io.ObjectStreamClass$ExceptionInfo serializeEx;
    descriptor: Ljava/io/ObjectStreamClass$ExceptionInfo;
    flags: (0x0002) ACC_PRIVATE

  private java.io.ObjectStreamClass$ExceptionInfo defaultSerializeEx;
    descriptor: Ljava/io/ObjectStreamClass$ExceptionInfo;
    flags: (0x0002) ACC_PRIVATE

  private java.io.ObjectStreamField[] fields;
    descriptor: [Ljava/io/ObjectStreamField;
    flags: (0x0002) ACC_PRIVATE

  private int primDataSize;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int numObjFields;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.io.ObjectStreamClass$FieldReflector fieldRefl;
    descriptor: Ljava/io/ObjectStreamClass$FieldReflector;
    flags: (0x0002) ACC_PRIVATE

  private volatile java.io.ObjectStreamClass$ClassDataSlot[] dataLayout;
    descriptor: [Ljava/io/ObjectStreamClass$ClassDataSlot;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private java.lang.reflect.Constructor<?> cons;
    descriptor: Ljava/lang/reflect/Constructor;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/lang/reflect/Constructor<*>;

  private java.security.ProtectionDomain[] domains;
    descriptor: [Ljava/security/ProtectionDomain;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.reflect.Method writeObjectMethod;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.reflect.Method readObjectMethod;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.reflect.Method readObjectNoDataMethod;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.reflect.Method writeReplaceMethod;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.reflect.Method readResolveMethod;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x0002) ACC_PRIVATE

  private java.io.ObjectStreamClass localDesc;
    descriptor: Ljava/io/ObjectStreamClass;
    flags: (0x0002) ACC_PRIVATE

  private java.io.ObjectStreamClass superDesc;
    descriptor: Ljava/io/ObjectStreamClass;
    flags: (0x0002) ACC_PRIVATE

  private boolean initialized;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 79
            ldc Ljava/io/ObjectStreamClass;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic java.io.ObjectStreamClass.$assertionsDisabled:Z
         3: .line 83
            iconst_0
            anewarray java.io.ObjectStreamField
         4: .line 82
            putstatic java.io.ObjectStreamClass.NO_FIELDS:[Ljava/io/ObjectStreamField;
         5: .line 87
            getstatic java.io.ObjectStreamClass.NO_FIELDS:[Ljava/io/ObjectStreamField;
         6: .line 86
            putstatic java.io.ObjectStreamClass.serialPersistentFields:[Ljava/io/ObjectStreamField;
         7: .line 92
            new java.io.ObjectStreamClass$1
            dup
            invokespecial java.io.ObjectStreamClass$1.<init>:()V
         8: .line 91
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Boolean
         9: .line 99
            invokevirtual java.lang.Boolean.booleanValue:()Z
        10: .line 90
            putstatic java.io.ObjectStreamClass.disableSerialConstructorChecks:Z
        11: .line 104
            new sun.reflect.ReflectionFactory$GetReflectionFactoryAction
            dup
            invokespecial sun.reflect.ReflectionFactory$GetReflectionFactoryAction.<init>:()V
        12: .line 103
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast sun.reflect.ReflectionFactory
        13: .line 102
            putstatic java.io.ObjectStreamClass.reflFactory:Lsun/reflect/ReflectionFactory;
        14: .line 222
            invokestatic java.io.ObjectStreamClass.initNative:()V
        15: .line 223
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static native void initNative();
    descriptor: ()V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  public static java.io.ObjectStreamClass lookup(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/io/ObjectStreamClass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class cl
         0: .line 235
            aload 0 /* cl */
            iconst_0
            invokestatic java.io.ObjectStreamClass.lookup:(Ljava/lang/Class;Z)Ljava/io/ObjectStreamClass;
            areturn
        end local 0 // java.lang.Class cl
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    cl  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Ljava/io/ObjectStreamClass;
    MethodParameters:
      Name  Flags
      cl    

  public static java.io.ObjectStreamClass lookupAny(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/io/ObjectStreamClass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class cl
         0: .line 247
            aload 0 /* cl */
            iconst_1
            invokestatic java.io.ObjectStreamClass.lookup:(Ljava/lang/Class;Z)Ljava/io/ObjectStreamClass;
            areturn
        end local 0 // java.lang.Class cl
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    cl  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Ljava/io/ObjectStreamClass;
    MethodParameters:
      Name  Flags
      cl    

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 258
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
            areturn
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectStreamClass;

  public long getSerialVersionUID();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 271
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.suid:Ljava/lang/Long;
            ifnonnull 4
         1: .line 272
            aload 0 /* this */
         2: .line 273
            new java.io.ObjectStreamClass$2
            dup
            aload 0 /* this */
            invokespecial java.io.ObjectStreamClass$2.<init>:(Ljava/io/ObjectStreamClass;)V
         3: .line 272
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Long
            putfield java.io.ObjectStreamClass.suid:Ljava/lang/Long;
         4: .line 280
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.suid:Ljava/lang/Long;
            invokevirtual java.lang.Long.longValue:()J
            lreturn
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/io/ObjectStreamClass;

  public java.lang.Class<?> forClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 291
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.cl:Ljava/lang/Class;
            ifnonnull 2
         1: .line 292
            aconst_null
            areturn
         2: .line 294
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         3: .line 295
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            ifnull 7
         4: .line 296
            invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            astore 1 /* caller */
        start local 1 // java.lang.Class caller
         5: .line 297
            aload 1 /* caller */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.cl:Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            invokestatic sun.reflect.misc.ReflectUtil.needsPackageAccessCheck:(Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)Z
            ifeq 7
         6: .line 298
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.cl:Ljava/lang/Class;
            invokestatic sun.reflect.misc.ReflectUtil.checkPackageAccess:(Ljava/lang/Class;)V
        end local 1 // java.lang.Class caller
         7: .line 301
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.cl:Ljava/lang/Class;
            areturn
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Ljava/io/ObjectStreamClass;
            5    7     1  caller  Ljava/lang/Class<*>;
    Signature: ()Ljava/lang/Class<*>;
    RuntimeVisibleAnnotations: 
      sun.reflect.CallerSensitive()

  public java.io.ObjectStreamField[] getFields();
    descriptor: ()[Ljava/io/ObjectStreamField;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 313
            aload 0 /* this */
            iconst_1
            invokevirtual java.io.ObjectStreamClass.getFields:(Z)[Ljava/io/ObjectStreamField;
            areturn
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectStreamClass;

  public java.io.ObjectStreamField getField(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/io/ObjectStreamField;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.io.ObjectStreamClass this
        start local 1 // java.lang.String name
         0: .line 324
            aload 0 /* this */
            aload 1 /* name */
            aconst_null
            invokevirtual java.io.ObjectStreamClass.getField:(Ljava/lang/String;Ljava/lang/Class;)Ljava/io/ObjectStreamField;
            areturn
        end local 1 // java.lang.String name
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectStreamClass;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 331
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": static final long serialVersionUID = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 332
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.getSerialVersionUID:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc "L;"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 331
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/io/ObjectStreamClass;

  static java.io.ObjectStreamClass lookup(java.lang.Class<?>, boolean);
    descriptor: (Ljava/lang/Class;Z)Ljava/io/ObjectStreamClass;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // java.lang.Class cl
        start local 1 // boolean all
         0: .line 344
            iload 1 /* all */
            ifne 2
            ldc Ljava/io/Serializable;
            aload 0 /* cl */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 2
         1: .line 345
            aconst_null
            areturn
         2: .line 347
      StackMap locals:
      StackMap stack:
            getstatic java.io.ObjectStreamClass$Caches.localDescsQueue:Ljava/lang/ref/ReferenceQueue;
            getstatic java.io.ObjectStreamClass$Caches.localDescs:Ljava/util/concurrent/ConcurrentMap;
            invokestatic java.io.ObjectStreamClass.processQueue:(Ljava/lang/ref/ReferenceQueue;Ljava/util/concurrent/ConcurrentMap;)V
         3: .line 348
            new java.io.ObjectStreamClass$WeakClassKey
            dup
            aload 0 /* cl */
            getstatic java.io.ObjectStreamClass$Caches.localDescsQueue:Ljava/lang/ref/ReferenceQueue;
            invokespecial java.io.ObjectStreamClass$WeakClassKey.<init>:(Ljava/lang/Class;Ljava/lang/ref/ReferenceQueue;)V
            astore 2 /* key */
        start local 2 // java.io.ObjectStreamClass$WeakClassKey key
         4: .line 349
            getstatic java.io.ObjectStreamClass$Caches.localDescs:Ljava/util/concurrent/ConcurrentMap;
            aload 2 /* key */
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.ref.Reference
            astore 3 /* ref */
        start local 3 // java.lang.ref.Reference ref
         5: .line 350
            aconst_null
            astore 4 /* entry */
        start local 4 // java.lang.Object entry
         6: .line 351
            aload 3 /* ref */
            ifnull 8
         7: .line 352
            aload 3 /* ref */
            invokevirtual java.lang.ref.Reference.get:()Ljava/lang/Object;
            astore 4 /* entry */
         8: .line 354
      StackMap locals: java.io.ObjectStreamClass$WeakClassKey java.lang.ref.Reference java.lang.Object
      StackMap stack:
            aconst_null
            astore 5 /* future */
        start local 5 // java.io.ObjectStreamClass$EntryFuture future
         9: .line 355
            aload 4 /* entry */
            ifnonnull 20
        10: .line 356
            new java.io.ObjectStreamClass$EntryFuture
            dup
            invokespecial java.io.ObjectStreamClass$EntryFuture.<init>:()V
            astore 6 /* newEntry */
        start local 6 // java.io.ObjectStreamClass$EntryFuture newEntry
        11: .line 357
            new java.lang.ref.SoftReference
            dup
            aload 6 /* newEntry */
            invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
            astore 7 /* newRef */
        start local 7 // java.lang.ref.Reference newRef
        12: .line 359
      StackMap locals: java.io.ObjectStreamClass$EntryFuture java.io.ObjectStreamClass$EntryFuture java.lang.ref.Reference
      StackMap stack:
            aload 3 /* ref */
            ifnull 14
        13: .line 360
            getstatic java.io.ObjectStreamClass$Caches.localDescs:Ljava/util/concurrent/ConcurrentMap;
            aload 2 /* key */
            aload 3 /* ref */
            invokeinterface java.util.concurrent.ConcurrentMap.remove:(Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
        14: .line 362
      StackMap locals:
      StackMap stack:
            getstatic java.io.ObjectStreamClass$Caches.localDescs:Ljava/util/concurrent/ConcurrentMap;
            aload 2 /* key */
            aload 7 /* newRef */
            invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.ref.Reference
            astore 3 /* ref */
        15: .line 363
            aload 3 /* ref */
            ifnull 17
        16: .line 364
            aload 3 /* ref */
            invokevirtual java.lang.ref.Reference.get:()Ljava/lang/Object;
            astore 4 /* entry */
        17: .line 366
      StackMap locals:
      StackMap stack:
            aload 3 /* ref */
            ifnull 18
            aload 4 /* entry */
            ifnull 12
        18: .line 367
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            ifnonnull 20
        19: .line 368
            aload 6 /* newEntry */
            astore 5 /* future */
        end local 7 // java.lang.ref.Reference newRef
        end local 6 // java.io.ObjectStreamClass$EntryFuture newEntry
        20: .line 372
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            instanceof java.io.ObjectStreamClass
            ifeq 22
        21: .line 373
            aload 4 /* entry */
            checkcast java.io.ObjectStreamClass
            areturn
        22: .line 375
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            instanceof java.io.ObjectStreamClass$EntryFuture
            ifeq 28
        23: .line 376
            aload 4 /* entry */
            checkcast java.io.ObjectStreamClass$EntryFuture
            astore 5 /* future */
        24: .line 377
            aload 5 /* future */
            invokevirtual java.io.ObjectStreamClass$EntryFuture.getOwner:()Ljava/lang/Thread;
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            if_acmpne 27
        25: .line 384
            aconst_null
            astore 4 /* entry */
        26: .line 385
            goto 28
        27: .line 386
      StackMap locals:
      StackMap stack:
            aload 5 /* future */
            invokevirtual java.io.ObjectStreamClass$EntryFuture.get:()Ljava/lang/Object;
            astore 4 /* entry */
        28: .line 389
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            ifnonnull 37
        29: .line 391
            new java.io.ObjectStreamClass
            dup
            aload 0 /* cl */
            invokespecial java.io.ObjectStreamClass.<init>:(Ljava/lang/Class;)V
            astore 4 /* entry */
        30: .line 392
            goto 33
      StackMap locals:
      StackMap stack: java.lang.Throwable
        31: astore 6 /* th */
        start local 6 // java.lang.Throwable th
        32: .line 393
            aload 6 /* th */
            astore 4 /* entry */
        end local 6 // java.lang.Throwable th
        33: .line 395
      StackMap locals:
      StackMap stack:
            aload 5 /* future */
            aload 4 /* entry */
            invokevirtual java.io.ObjectStreamClass$EntryFuture.set:(Ljava/lang/Object;)Z
            ifeq 36
        34: .line 396
            getstatic java.io.ObjectStreamClass$Caches.localDescs:Ljava/util/concurrent/ConcurrentMap;
            aload 2 /* key */
            new java.lang.ref.SoftReference
            dup
            aload 4 /* entry */
            invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        35: .line 397
            goto 37
        36: .line 399
      StackMap locals:
      StackMap stack:
            aload 5 /* future */
            invokevirtual java.io.ObjectStreamClass$EntryFuture.get:()Ljava/lang/Object;
            astore 4 /* entry */
        37: .line 403
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            instanceof java.io.ObjectStreamClass
            ifeq 39
        38: .line 404
            aload 4 /* entry */
            checkcast java.io.ObjectStreamClass
            areturn
        39: .line 405
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            instanceof java.lang.RuntimeException
            ifeq 41
        40: .line 406
            aload 4 /* entry */
            checkcast java.lang.RuntimeException
            athrow
        41: .line 407
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            instanceof java.lang.Error
            ifeq 43
        42: .line 408
            aload 4 /* entry */
            checkcast java.lang.Error
            athrow
        43: .line 410
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "unexpected entry: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* entry */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.io.ObjectStreamClass$EntryFuture future
        end local 4 // java.lang.Object entry
        end local 3 // java.lang.ref.Reference ref
        end local 2 // java.io.ObjectStreamClass$WeakClassKey key
        end local 1 // boolean all
        end local 0 // java.lang.Class cl
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   44     0        cl  Ljava/lang/Class<*>;
            0   44     1       all  Z
            4   44     2       key  Ljava/io/ObjectStreamClass$WeakClassKey;
            5   44     3       ref  Ljava/lang/ref/Reference<*>;
            6   44     4     entry  Ljava/lang/Object;
            9   44     5    future  Ljava/io/ObjectStreamClass$EntryFuture;
           11   20     6  newEntry  Ljava/io/ObjectStreamClass$EntryFuture;
           12   20     7    newRef  Ljava/lang/ref/Reference<*>;
           32   33     6        th  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          29    30      31  Class java.lang.Throwable
    Signature: (Ljava/lang/Class<*>;Z)Ljava/io/ObjectStreamClass;
    MethodParameters:
      Name  Flags
      cl    
      all   

  private void <init>(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // java.io.ObjectStreamClass this
        start local 1 // java.lang.Class cl
         0: .line 481
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 146
            aload 0 /* this */
            iconst_1
            putfield java.io.ObjectStreamClass.hasBlockExternalData:Z
         2: .line 482
            aload 0 /* this */
            aload 1 /* cl */
            putfield java.io.ObjectStreamClass.cl:Ljava/lang/Class;
         3: .line 483
            aload 0 /* this */
            aload 1 /* cl */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            putfield java.io.ObjectStreamClass.name:Ljava/lang/String;
         4: .line 484
            aload 0 /* this */
            aload 1 /* cl */
            invokestatic java.lang.reflect.Proxy.isProxyClass:(Ljava/lang/Class;)Z
            putfield java.io.ObjectStreamClass.isProxy:Z
         5: .line 485
            aload 0 /* this */
            ldc Ljava/lang/Enum;
            aload 1 /* cl */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            putfield java.io.ObjectStreamClass.isEnum:Z
         6: .line 486
            aload 0 /* this */
            ldc Ljava/io/Serializable;
            aload 1 /* cl */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            putfield java.io.ObjectStreamClass.serializable:Z
         7: .line 487
            aload 0 /* this */
            ldc Ljava/io/Externalizable;
            aload 1 /* cl */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            putfield java.io.ObjectStreamClass.externalizable:Z
         8: .line 489
            aload 1 /* cl */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            astore 2 /* superCl */
        start local 2 // java.lang.Class superCl
         9: .line 490
            aload 0 /* this */
            aload 2 /* superCl */
            ifnull 10
            aload 2 /* superCl */
            iconst_0
            invokestatic java.io.ObjectStreamClass.lookup:(Ljava/lang/Class;Z)Ljava/io/ObjectStreamClass;
            goto 11
      StackMap locals: java.io.ObjectStreamClass java.lang.Class java.lang.Class
      StackMap stack: java.io.ObjectStreamClass
        10: aconst_null
      StackMap locals: java.io.ObjectStreamClass java.lang.Class java.lang.Class
      StackMap stack: java.io.ObjectStreamClass java.io.ObjectStreamClass
        11: putfield java.io.ObjectStreamClass.superDesc:Ljava/io/ObjectStreamClass;
        12: .line 491
            aload 0 /* this */
            aload 0 /* this */
            putfield java.io.ObjectStreamClass.localDesc:Ljava/io/ObjectStreamClass;
        13: .line 493
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.serializable:Z
            ifeq 16
        14: .line 494
            new java.io.ObjectStreamClass$3
            dup
            aload 0 /* this */
            aload 1 /* cl */
            invokespecial java.io.ObjectStreamClass$3.<init>:(Ljava/io/ObjectStreamClass;Ljava/lang/Class;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
        15: .line 538
            goto 18
        16: .line 539
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lconst_0
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            putfield java.io.ObjectStreamClass.suid:Ljava/lang/Long;
        17: .line 540
            aload 0 /* this */
            getstatic java.io.ObjectStreamClass.NO_FIELDS:[Ljava/io/ObjectStreamField;
            putfield java.io.ObjectStreamClass.fields:[Ljava/io/ObjectStreamField;
        18: .line 544
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.fields:[Ljava/io/ObjectStreamField;
            aload 0 /* this */
            invokestatic java.io.ObjectStreamClass.getReflector:([Ljava/io/ObjectStreamField;Ljava/io/ObjectStreamClass;)Ljava/io/ObjectStreamClass$FieldReflector;
            putfield java.io.ObjectStreamClass.fieldRefl:Ljava/io/ObjectStreamClass$FieldReflector;
        19: .line 545
            goto 22
      StackMap locals:
      StackMap stack: java.io.InvalidClassException
        20: astore 3 /* ex */
        start local 3 // java.io.InvalidClassException ex
        21: .line 547
            new java.lang.InternalError
            dup
            aload 3 /* ex */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.io.InvalidClassException ex
        22: .line 550
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.deserializeEx:Ljava/io/ObjectStreamClass$ExceptionInfo;
            ifnonnull 28
        23: .line 551
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.isEnum:Z
            ifeq 26
        24: .line 552
            aload 0 /* this */
            new java.io.ObjectStreamClass$ExceptionInfo
            dup
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
            ldc "enum type"
            invokespecial java.io.ObjectStreamClass$ExceptionInfo.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            putfield java.io.ObjectStreamClass.deserializeEx:Ljava/io/ObjectStreamClass$ExceptionInfo;
        25: .line 553
            goto 28
      StackMap locals:
      StackMap stack:
        26: aload 0 /* this */
            getfield java.io.ObjectStreamClass.cons:Ljava/lang/reflect/Constructor;
            ifnonnull 28
        27: .line 554
            aload 0 /* this */
            new java.io.ObjectStreamClass$ExceptionInfo
            dup
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
            ldc "no valid constructor"
            invokespecial java.io.ObjectStreamClass$ExceptionInfo.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            putfield java.io.ObjectStreamClass.deserializeEx:Ljava/io/ObjectStreamClass$ExceptionInfo;
        28: .line 557
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        29: goto 35
        30: .line 558
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.fields:[Ljava/io/ObjectStreamField;
            iload 3 /* i */
            aaload
            invokevirtual java.io.ObjectStreamField.getField:()Ljava/lang/reflect/Field;
            ifnonnull 34
        31: .line 559
            aload 0 /* this */
            new java.io.ObjectStreamClass$ExceptionInfo
            dup
        32: .line 560
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
            ldc "unmatched serializable field(s) declared"
            invokespecial java.io.ObjectStreamClass$ExceptionInfo.<init>:(Ljava/lang/String;Ljava/lang/String;)V
        33: .line 559
            putfield java.io.ObjectStreamClass.defaultSerializeEx:Ljava/io/ObjectStreamClass$ExceptionInfo;
        34: .line 557
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        35: iload 3 /* i */
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.fields:[Ljava/io/ObjectStreamField;
            arraylength
            if_icmplt 30
        end local 3 // int i
        36: .line 563
            aload 0 /* this */
            iconst_1
            putfield java.io.ObjectStreamClass.initialized:Z
        37: .line 564
            return
        end local 2 // java.lang.Class superCl
        end local 1 // java.lang.Class cl
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   38     0     this  Ljava/io/ObjectStreamClass;
            0   38     1       cl  Ljava/lang/Class<*>;
            9   38     2  superCl  Ljava/lang/Class<*>;
           21   22     3       ex  Ljava/io/InvalidClassException;
           29   36     3        i  I
      Exception table:
        from    to  target  type
          18    19      20  Class java.io.InvalidClassException
    Signature: (Ljava/lang/Class<*>;)V
    MethodParameters:
      Name  Flags
      cl    final

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 570
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 146
            aload 0 /* this */
            iconst_1
            putfield java.io.ObjectStreamClass.hasBlockExternalData:Z
         2: .line 571
            return
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/io/ObjectStreamClass;

  private java.security.ProtectionDomain noPermissionsDomain();
    descriptor: ()Ljava/security/ProtectionDomain;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 577
            new java.security.Permissions
            dup
            invokespecial java.security.Permissions.<init>:()V
            astore 1 /* perms */
        start local 1 // java.security.PermissionCollection perms
         1: .line 578
            aload 1 /* perms */
            invokevirtual java.security.PermissionCollection.setReadOnly:()V
         2: .line 579
            new java.security.ProtectionDomain
            dup
            aconst_null
            aload 1 /* perms */
            invokespecial java.security.ProtectionDomain.<init>:(Ljava/security/CodeSource;Ljava/security/PermissionCollection;)V
            areturn
        end local 1 // java.security.PermissionCollection perms
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljava/io/ObjectStreamClass;
            1    3     1  perms  Ljava/security/PermissionCollection;

  private java.security.ProtectionDomain[] getProtectionDomains(java.lang.reflect.Constructor<?>, java.lang.Class<?>);
    descriptor: (Ljava/lang/reflect/Constructor;Ljava/lang/Class;)[Ljava/security/ProtectionDomain;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=8, args_size=3
        start local 0 // java.io.ObjectStreamClass this
        start local 1 // java.lang.reflect.Constructor cons
        start local 2 // java.lang.Class cl
         0: .line 602
            aconst_null
            astore 3 /* domains */
        start local 3 // java.security.ProtectionDomain[] domains
         1: .line 603
            aload 1 /* cons */
            ifnull 20
            aload 2 /* cl */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            ifnull 20
         2: .line 604
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            ifnull 20
         3: .line 605
            aload 2 /* cl */
            astore 4 /* cls */
        start local 4 // java.lang.Class cls
         4: .line 606
            aload 1 /* cons */
            invokevirtual java.lang.reflect.Constructor.getDeclaringClass:()Ljava/lang/Class;
            astore 5 /* fnscl */
        start local 5 // java.lang.Class fnscl
         5: .line 607
            aconst_null
            astore 6 /* pds */
        start local 6 // java.util.Set pds
         6: .line 608
            goto 17
         7: .line 609
      StackMap locals: java.io.ObjectStreamClass java.lang.reflect.Constructor java.lang.Class java.security.ProtectionDomain[] java.lang.Class java.lang.Class java.util.Set
      StackMap stack:
            aload 4 /* cls */
            invokevirtual java.lang.Class.getProtectionDomain:()Ljava/security/ProtectionDomain;
            astore 7 /* pd */
        start local 7 // java.security.ProtectionDomain pd
         8: .line 610
            aload 7 /* pd */
            ifnull 11
         9: .line 611
            aload 6 /* pds */
            ifnonnull 10
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 6 /* pds */
        10: .line 612
      StackMap locals: java.security.ProtectionDomain
      StackMap stack:
            aload 6 /* pds */
            aload 7 /* pd */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        11: .line 614
      StackMap locals:
      StackMap stack:
            aload 4 /* cls */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            astore 4 /* cls */
        12: .line 615
            aload 4 /* cls */
            ifnonnull 17
        13: .line 619
            aload 6 /* pds */
            ifnonnull 14
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 6 /* pds */
            goto 15
        14: .line 620
      StackMap locals:
      StackMap stack:
            aload 6 /* pds */
            invokeinterface java.util.Set.clear:()V
        15: .line 621
      StackMap locals:
      StackMap stack:
            aload 6 /* pds */
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.noPermissionsDomain:()Ljava/security/ProtectionDomain;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        16: .line 622
            goto 18
        end local 7 // java.security.ProtectionDomain pd
        17: .line 608
      StackMap locals:
      StackMap stack:
            aload 4 /* cls */
            aload 5 /* fnscl */
            if_acmpne 7
        18: .line 625
      StackMap locals:
      StackMap stack:
            aload 6 /* pds */
            ifnull 20
        19: .line 626
            aload 6 /* pds */
            iconst_0
            anewarray java.security.ProtectionDomain
            invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.security.ProtectionDomain[]
            astore 3 /* domains */
        end local 6 // java.util.Set pds
        end local 5 // java.lang.Class fnscl
        end local 4 // java.lang.Class cls
        20: .line 629
      StackMap locals:
      StackMap stack:
            aload 3 /* domains */
            areturn
        end local 3 // java.security.ProtectionDomain[] domains
        end local 2 // java.lang.Class cl
        end local 1 // java.lang.reflect.Constructor cons
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   21     0     this  Ljava/io/ObjectStreamClass;
            0   21     1     cons  Ljava/lang/reflect/Constructor<*>;
            0   21     2       cl  Ljava/lang/Class<*>;
            1   21     3  domains  [Ljava/security/ProtectionDomain;
            4   20     4      cls  Ljava/lang/Class<*>;
            5   20     5    fnscl  Ljava/lang/Class<*>;
            6   20     6      pds  Ljava/util/Set<Ljava/security/ProtectionDomain;>;
            8   17     7       pd  Ljava/security/ProtectionDomain;
    Signature: (Ljava/lang/reflect/Constructor<*>;Ljava/lang/Class<*>;)[Ljava/security/ProtectionDomain;
    MethodParameters:
      Name  Flags
      cons  
      cl    

  void initProxy(java.lang.Class<?>, java.lang.ClassNotFoundException, java.io.ObjectStreamClass);
    descriptor: (Ljava/lang/Class;Ljava/lang/ClassNotFoundException;Ljava/io/ObjectStreamClass;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // java.io.ObjectStreamClass this
        start local 1 // java.lang.Class cl
        start local 2 // java.lang.ClassNotFoundException resolveEx
        start local 3 // java.io.ObjectStreamClass superDesc
         0: .line 640
            aconst_null
            astore 4 /* osc */
        start local 4 // java.io.ObjectStreamClass osc
         1: .line 641
            aload 1 /* cl */
            ifnull 7
         2: .line 642
            aload 1 /* cl */
            iconst_1
            invokestatic java.io.ObjectStreamClass.lookup:(Ljava/lang/Class;Z)Ljava/io/ObjectStreamClass;
            astore 4 /* osc */
         3: .line 643
            aload 4 /* osc */
            getfield java.io.ObjectStreamClass.isProxy:Z
            ifne 7
         4: .line 644
            new java.io.InvalidClassException
            dup
         5: .line 645
            ldc "cannot bind proxy descriptor to a non-proxy class"
         6: .line 644
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 648
      StackMap locals: java.io.ObjectStreamClass
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cl */
            putfield java.io.ObjectStreamClass.cl:Ljava/lang/Class;
         8: .line 649
            aload 0 /* this */
            aload 2 /* resolveEx */
            putfield java.io.ObjectStreamClass.resolveEx:Ljava/lang/ClassNotFoundException;
         9: .line 650
            aload 0 /* this */
            aload 3 /* superDesc */
            putfield java.io.ObjectStreamClass.superDesc:Ljava/io/ObjectStreamClass;
        10: .line 651
            aload 0 /* this */
            iconst_1
            putfield java.io.ObjectStreamClass.isProxy:Z
        11: .line 652
            aload 0 /* this */
            iconst_1
            putfield java.io.ObjectStreamClass.serializable:Z
        12: .line 653
            aload 0 /* this */
            lconst_0
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            putfield java.io.ObjectStreamClass.suid:Ljava/lang/Long;
        13: .line 654
            aload 0 /* this */
            getstatic java.io.ObjectStreamClass.NO_FIELDS:[Ljava/io/ObjectStreamField;
            putfield java.io.ObjectStreamClass.fields:[Ljava/io/ObjectStreamField;
        14: .line 655
            aload 4 /* osc */
            ifnull 23
        15: .line 656
            aload 0 /* this */
            aload 4 /* osc */
            putfield java.io.ObjectStreamClass.localDesc:Ljava/io/ObjectStreamClass;
        16: .line 657
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.localDesc:Ljava/io/ObjectStreamClass;
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
            putfield java.io.ObjectStreamClass.name:Ljava/lang/String;
        17: .line 658
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.localDesc:Ljava/io/ObjectStreamClass;
            getfield java.io.ObjectStreamClass.externalizable:Z
            putfield java.io.ObjectStreamClass.externalizable:Z
        18: .line 659
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.localDesc:Ljava/io/ObjectStreamClass;
            getfield java.io.ObjectStreamClass.writeReplaceMethod:Ljava/lang/reflect/Method;
            putfield java.io.ObjectStreamClass.writeReplaceMethod:Ljava/lang/reflect/Method;
        19: .line 660
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.localDesc:Ljava/io/ObjectStreamClass;
            getfield java.io.ObjectStreamClass.readResolveMethod:Ljava/lang/reflect/Method;
            putfield java.io.ObjectStreamClass.readResolveMethod:Ljava/lang/reflect/Method;
        20: .line 661
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.localDesc:Ljava/io/ObjectStreamClass;
            getfield java.io.ObjectStreamClass.deserializeEx:Ljava/io/ObjectStreamClass$ExceptionInfo;
            putfield java.io.ObjectStreamClass.deserializeEx:Ljava/io/ObjectStreamClass$ExceptionInfo;
        21: .line 662
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.localDesc:Ljava/io/ObjectStreamClass;
            getfield java.io.ObjectStreamClass.domains:[Ljava/security/ProtectionDomain;
            putfield java.io.ObjectStreamClass.domains:[Ljava/security/ProtectionDomain;
        22: .line 663
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.localDesc:Ljava/io/ObjectStreamClass;
            getfield java.io.ObjectStreamClass.cons:Ljava/lang/reflect/Constructor;
            putfield java.io.ObjectStreamClass.cons:Ljava/lang/reflect/Constructor;
        23: .line 665
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.fields:[Ljava/io/ObjectStreamField;
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.localDesc:Ljava/io/ObjectStreamClass;
            invokestatic java.io.ObjectStreamClass.getReflector:([Ljava/io/ObjectStreamField;Ljava/io/ObjectStreamClass;)Ljava/io/ObjectStreamClass$FieldReflector;
            putfield java.io.ObjectStreamClass.fieldRefl:Ljava/io/ObjectStreamClass$FieldReflector;
        24: .line 666
            aload 0 /* this */
            iconst_1
            putfield java.io.ObjectStreamClass.initialized:Z
        25: .line 667
            return
        end local 4 // java.io.ObjectStreamClass osc
        end local 3 // java.io.ObjectStreamClass superDesc
        end local 2 // java.lang.ClassNotFoundException resolveEx
        end local 1 // java.lang.Class cl
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   26     0       this  Ljava/io/ObjectStreamClass;
            0   26     1         cl  Ljava/lang/Class<*>;
            0   26     2  resolveEx  Ljava/lang/ClassNotFoundException;
            0   26     3  superDesc  Ljava/io/ObjectStreamClass;
            1   26     4        osc  Ljava/io/ObjectStreamClass;
    Exceptions:
      throws java.io.InvalidClassException
    Signature: (Ljava/lang/Class<*>;Ljava/lang/ClassNotFoundException;Ljava/io/ObjectStreamClass;)V
    MethodParameters:
           Name  Flags
      cl         
      resolveEx  
      superDesc  

  void initNonProxy(java.io.ObjectStreamClass, java.lang.Class<?>, java.lang.ClassNotFoundException, java.io.ObjectStreamClass);
    descriptor: (Ljava/io/ObjectStreamClass;Ljava/lang/Class;Ljava/lang/ClassNotFoundException;Ljava/io/ObjectStreamClass;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=8, args_size=5
        start local 0 // java.io.ObjectStreamClass this
        start local 1 // java.io.ObjectStreamClass model
        start local 2 // java.lang.Class cl
        start local 3 // java.lang.ClassNotFoundException resolveEx
        start local 4 // java.io.ObjectStreamClass superDesc
         0: .line 678
            aload 1 /* model */
            invokevirtual java.io.ObjectStreamClass.getSerialVersionUID:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual java.lang.Long.longValue:()J
            lstore 5 /* suid */
        start local 5 // long suid
         1: .line 679
            aconst_null
            astore 7 /* osc */
        start local 7 // java.io.ObjectStreamClass osc
         2: .line 680
            aload 2 /* cl */
            ifnull 41
         3: .line 681
            aload 2 /* cl */
            iconst_1
            invokestatic java.io.ObjectStreamClass.lookup:(Ljava/lang/Class;Z)Ljava/io/ObjectStreamClass;
            astore 7 /* osc */
         4: .line 682
            aload 7 /* osc */
            getfield java.io.ObjectStreamClass.isProxy:Z
            ifeq 8
         5: .line 683
            new java.io.InvalidClassException
            dup
         6: .line 684
            ldc "cannot bind non-proxy descriptor to a proxy class"
         7: .line 683
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 686
      StackMap locals: long java.io.ObjectStreamClass
      StackMap stack:
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.isEnum:Z
            aload 7 /* osc */
            getfield java.io.ObjectStreamClass.isEnum:Z
            if_icmpeq 13
         9: .line 687
            new java.io.InvalidClassException
            dup
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.isEnum:Z
            ifeq 11
        10: .line 688
            ldc "cannot bind enum descriptor to a non-enum class"
            goto 12
        11: .line 689
      StackMap locals: java.io.ObjectStreamClass java.io.ObjectStreamClass java.lang.Class java.lang.ClassNotFoundException java.io.ObjectStreamClass long java.io.ObjectStreamClass
      StackMap stack: new 9 new 9
            ldc "cannot bind non-enum descriptor to an enum class"
        12: .line 687
      StackMap locals: java.io.ObjectStreamClass java.io.ObjectStreamClass java.lang.Class java.lang.ClassNotFoundException java.io.ObjectStreamClass long java.io.ObjectStreamClass
      StackMap stack: new 9 new 9 java.lang.String
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 692
      StackMap locals:
      StackMap stack:
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.serializable:Z
            aload 7 /* osc */
            getfield java.io.ObjectStreamClass.serializable:Z
            if_icmpne 23
        14: .line 693
            aload 2 /* cl */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 23
        15: .line 694
            lload 5 /* suid */
            aload 7 /* osc */
            invokevirtual java.io.ObjectStreamClass.getSerialVersionUID:()J
            lcmp
            ifeq 23
        16: .line 695
            new java.io.InvalidClassException
            dup
            aload 7 /* osc */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
        17: .line 696
            new java.lang.StringBuilder
            dup
            ldc "local class incompatible: stream classdesc serialVersionUID = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        18: .line 697
            lload 5 /* suid */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        19: .line 698
            ldc ", local class serialVersionUID = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        20: .line 699
            aload 7 /* osc */
            invokevirtual java.io.ObjectStreamClass.getSerialVersionUID:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        21: .line 696
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 695
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            athrow
        23: .line 702
      StackMap locals:
      StackMap stack:
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
            aload 7 /* osc */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
            invokestatic java.io.ObjectStreamClass.classNamesEqual:(Ljava/lang/String;Ljava/lang/String;)Z
            ifne 29
        24: .line 703
            new java.io.InvalidClassException
            dup
            aload 7 /* osc */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
        25: .line 704
            new java.lang.StringBuilder
            dup
            ldc "local class name incompatible with stream class name \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        26: .line 705
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        27: .line 704
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        28: .line 703
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            athrow
        29: .line 708
      StackMap locals:
      StackMap stack:
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.isEnum:Z
            ifne 41
        30: .line 709
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.serializable:Z
            aload 7 /* osc */
            getfield java.io.ObjectStreamClass.serializable:Z
            if_icmpne 35
        31: .line 710
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.externalizable:Z
            aload 7 /* osc */
            getfield java.io.ObjectStreamClass.externalizable:Z
            if_icmpeq 35
        32: .line 711
            new java.io.InvalidClassException
            dup
            aload 7 /* osc */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
        33: .line 712
            ldc "Serializable incompatible with Externalizable"
        34: .line 711
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            athrow
        35: .line 715
      StackMap locals:
      StackMap stack:
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.serializable:Z
            aload 7 /* osc */
            getfield java.io.ObjectStreamClass.serializable:Z
            if_icmpne 38
        36: .line 716
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.externalizable:Z
            aload 7 /* osc */
            getfield java.io.ObjectStreamClass.externalizable:Z
            if_icmpne 38
        37: .line 717
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.serializable:Z
            ifne 41
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.externalizable:Z
            ifne 41
        38: .line 718
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.io.ObjectStreamClass$ExceptionInfo
            dup
        39: .line 719
            aload 7 /* osc */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
            ldc "class invalid for deserialization"
            invokespecial java.io.ObjectStreamClass$ExceptionInfo.<init>:(Ljava/lang/String;Ljava/lang/String;)V
        40: .line 718
            putfield java.io.ObjectStreamClass.deserializeEx:Ljava/io/ObjectStreamClass$ExceptionInfo;
        41: .line 724
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* cl */
            putfield java.io.ObjectStreamClass.cl:Ljava/lang/Class;
        42: .line 725
            aload 0 /* this */
            aload 3 /* resolveEx */
            putfield java.io.ObjectStreamClass.resolveEx:Ljava/lang/ClassNotFoundException;
        43: .line 726
            aload 0 /* this */
            aload 4 /* superDesc */
            putfield java.io.ObjectStreamClass.superDesc:Ljava/io/ObjectStreamClass;
        44: .line 727
            aload 0 /* this */
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
            putfield java.io.ObjectStreamClass.name:Ljava/lang/String;
        45: .line 728
            aload 0 /* this */
            lload 5 /* suid */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            putfield java.io.ObjectStreamClass.suid:Ljava/lang/Long;
        46: .line 729
            aload 0 /* this */
            iconst_0
            putfield java.io.ObjectStreamClass.isProxy:Z
        47: .line 730
            aload 0 /* this */
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.isEnum:Z
            putfield java.io.ObjectStreamClass.isEnum:Z
        48: .line 731
            aload 0 /* this */
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.serializable:Z
            putfield java.io.ObjectStreamClass.serializable:Z
        49: .line 732
            aload 0 /* this */
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.externalizable:Z
            putfield java.io.ObjectStreamClass.externalizable:Z
        50: .line 733
            aload 0 /* this */
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.hasBlockExternalData:Z
            putfield java.io.ObjectStreamClass.hasBlockExternalData:Z
        51: .line 734
            aload 0 /* this */
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.hasWriteObjectData:Z
            putfield java.io.ObjectStreamClass.hasWriteObjectData:Z
        52: .line 735
            aload 0 /* this */
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.fields:[Ljava/io/ObjectStreamField;
            putfield java.io.ObjectStreamClass.fields:[Ljava/io/ObjectStreamField;
        53: .line 736
            aload 0 /* this */
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.primDataSize:I
            putfield java.io.ObjectStreamClass.primDataSize:I
        54: .line 737
            aload 0 /* this */
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.numObjFields:I
            putfield java.io.ObjectStreamClass.numObjFields:I
        55: .line 739
            aload 7 /* osc */
            ifnull 66
        56: .line 740
            aload 0 /* this */
            aload 7 /* osc */
            putfield java.io.ObjectStreamClass.localDesc:Ljava/io/ObjectStreamClass;
        57: .line 741
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.localDesc:Ljava/io/ObjectStreamClass;
            getfield java.io.ObjectStreamClass.writeObjectMethod:Ljava/lang/reflect/Method;
            putfield java.io.ObjectStreamClass.writeObjectMethod:Ljava/lang/reflect/Method;
        58: .line 742
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.localDesc:Ljava/io/ObjectStreamClass;
            getfield java.io.ObjectStreamClass.readObjectMethod:Ljava/lang/reflect/Method;
            putfield java.io.ObjectStreamClass.readObjectMethod:Ljava/lang/reflect/Method;
        59: .line 743
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.localDesc:Ljava/io/ObjectStreamClass;
            getfield java.io.ObjectStreamClass.readObjectNoDataMethod:Ljava/lang/reflect/Method;
            putfield java.io.ObjectStreamClass.readObjectNoDataMethod:Ljava/lang/reflect/Method;
        60: .line 744
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.localDesc:Ljava/io/ObjectStreamClass;
            getfield java.io.ObjectStreamClass.writeReplaceMethod:Ljava/lang/reflect/Method;
            putfield java.io.ObjectStreamClass.writeReplaceMethod:Ljava/lang/reflect/Method;
        61: .line 745
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.localDesc:Ljava/io/ObjectStreamClass;
            getfield java.io.ObjectStreamClass.readResolveMethod:Ljava/lang/reflect/Method;
            putfield java.io.ObjectStreamClass.readResolveMethod:Ljava/lang/reflect/Method;
        62: .line 746
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.deserializeEx:Ljava/io/ObjectStreamClass$ExceptionInfo;
            ifnonnull 64
        63: .line 747
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.localDesc:Ljava/io/ObjectStreamClass;
            getfield java.io.ObjectStreamClass.deserializeEx:Ljava/io/ObjectStreamClass$ExceptionInfo;
            putfield java.io.ObjectStreamClass.deserializeEx:Ljava/io/ObjectStreamClass$ExceptionInfo;
        64: .line 749
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.localDesc:Ljava/io/ObjectStreamClass;
            getfield java.io.ObjectStreamClass.domains:[Ljava/security/ProtectionDomain;
            putfield java.io.ObjectStreamClass.domains:[Ljava/security/ProtectionDomain;
        65: .line 750
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.localDesc:Ljava/io/ObjectStreamClass;
            getfield java.io.ObjectStreamClass.cons:Ljava/lang/reflect/Constructor;
            putfield java.io.ObjectStreamClass.cons:Ljava/lang/reflect/Constructor;
        66: .line 753
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.fields:[Ljava/io/ObjectStreamField;
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.localDesc:Ljava/io/ObjectStreamClass;
            invokestatic java.io.ObjectStreamClass.getReflector:([Ljava/io/ObjectStreamField;Ljava/io/ObjectStreamClass;)Ljava/io/ObjectStreamClass$FieldReflector;
            putfield java.io.ObjectStreamClass.fieldRefl:Ljava/io/ObjectStreamClass$FieldReflector;
        67: .line 755
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.fieldRefl:Ljava/io/ObjectStreamClass$FieldReflector;
            invokevirtual java.io.ObjectStreamClass$FieldReflector.getFields:()[Ljava/io/ObjectStreamField;
            putfield java.io.ObjectStreamClass.fields:[Ljava/io/ObjectStreamField;
        68: .line 756
            aload 0 /* this */
            iconst_1
            putfield java.io.ObjectStreamClass.initialized:Z
        69: .line 757
            return
        end local 7 // java.io.ObjectStreamClass osc
        end local 5 // long suid
        end local 4 // java.io.ObjectStreamClass superDesc
        end local 3 // java.lang.ClassNotFoundException resolveEx
        end local 2 // java.lang.Class cl
        end local 1 // java.io.ObjectStreamClass model
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   70     0       this  Ljava/io/ObjectStreamClass;
            0   70     1      model  Ljava/io/ObjectStreamClass;
            0   70     2         cl  Ljava/lang/Class<*>;
            0   70     3  resolveEx  Ljava/lang/ClassNotFoundException;
            0   70     4  superDesc  Ljava/io/ObjectStreamClass;
            1   70     5       suid  J
            2   70     7        osc  Ljava/io/ObjectStreamClass;
    Exceptions:
      throws java.io.InvalidClassException
    Signature: (Ljava/io/ObjectStreamClass;Ljava/lang/Class<*>;Ljava/lang/ClassNotFoundException;Ljava/io/ObjectStreamClass;)V
    MethodParameters:
           Name  Flags
      model      
      cl         
      resolveEx  
      superDesc  

  void readNonProxy(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=10, args_size=2
        start local 0 // java.io.ObjectStreamClass this
        start local 1 // java.io.ObjectInputStream in
         0: .line 768
            aload 0 /* this */
            aload 1 /* in */
            invokevirtual java.io.ObjectInputStream.readUTF:()Ljava/lang/String;
            putfield java.io.ObjectStreamClass.name:Ljava/lang/String;
         1: .line 769
            aload 0 /* this */
            aload 1 /* in */
            invokevirtual java.io.ObjectInputStream.readLong:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            putfield java.io.ObjectStreamClass.suid:Ljava/lang/Long;
         2: .line 770
            aload 0 /* this */
            iconst_0
            putfield java.io.ObjectStreamClass.isProxy:Z
         3: .line 772
            aload 1 /* in */
            invokevirtual java.io.ObjectInputStream.readByte:()B
            istore 2 /* flags */
        start local 2 // byte flags
         4: .line 773
            aload 0 /* this */
         5: .line 774
            iload 2 /* flags */
            iconst_1
            iand
            ifeq 6
            iconst_1
            goto 7
      StackMap locals: java.io.ObjectStreamClass java.io.ObjectInputStream int
      StackMap stack: java.io.ObjectStreamClass
         6: iconst_0
         7: .line 773
      StackMap locals: java.io.ObjectStreamClass java.io.ObjectInputStream int
      StackMap stack: java.io.ObjectStreamClass int
            putfield java.io.ObjectStreamClass.hasWriteObjectData:Z
         8: .line 775
            aload 0 /* this */
         9: .line 776
            iload 2 /* flags */
            bipush 8
            iand
            ifeq 10
            iconst_1
            goto 11
      StackMap locals:
      StackMap stack: java.io.ObjectStreamClass
        10: iconst_0
        11: .line 775
      StackMap locals: java.io.ObjectStreamClass java.io.ObjectInputStream int
      StackMap stack: java.io.ObjectStreamClass int
            putfield java.io.ObjectStreamClass.hasBlockExternalData:Z
        12: .line 777
            aload 0 /* this */
        13: .line 778
            iload 2 /* flags */
            iconst_4
            iand
            ifeq 14
            iconst_1
            goto 15
      StackMap locals:
      StackMap stack: java.io.ObjectStreamClass
        14: iconst_0
        15: .line 777
      StackMap locals: java.io.ObjectStreamClass java.io.ObjectInputStream int
      StackMap stack: java.io.ObjectStreamClass int
            putfield java.io.ObjectStreamClass.externalizable:Z
        16: .line 780
            iload 2 /* flags */
            iconst_2
            iand
            ifeq 17
            iconst_1
            goto 18
      StackMap locals:
      StackMap stack:
        17: iconst_0
        18: .line 779
      StackMap locals:
      StackMap stack: int
            istore 3 /* sflag */
        start local 3 // boolean sflag
        19: .line 781
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.externalizable:Z
            ifeq 23
            iload 3 /* sflag */
            ifeq 23
        20: .line 782
            new java.io.InvalidClassException
            dup
        21: .line 783
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
            ldc "serializable and externalizable flags conflict"
        22: .line 782
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            athrow
        23: .line 785
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.externalizable:Z
            ifne 24
            iload 3 /* sflag */
            ifne 24
            iconst_0
            goto 25
      StackMap locals:
      StackMap stack: java.io.ObjectStreamClass
        24: iconst_1
      StackMap locals: java.io.ObjectStreamClass java.io.ObjectInputStream int int
      StackMap stack: java.io.ObjectStreamClass int
        25: putfield java.io.ObjectStreamClass.serializable:Z
        26: .line 786
            aload 0 /* this */
            iload 2 /* flags */
            bipush 16
            iand
            ifeq 27
            iconst_1
            goto 28
      StackMap locals:
      StackMap stack: java.io.ObjectStreamClass
        27: iconst_0
      StackMap locals: java.io.ObjectStreamClass java.io.ObjectInputStream int int
      StackMap stack: java.io.ObjectStreamClass int
        28: putfield java.io.ObjectStreamClass.isEnum:Z
        29: .line 787
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.isEnum:Z
            ifeq 33
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.suid:Ljava/lang/Long;
            invokevirtual java.lang.Long.longValue:()J
            lconst_0
            lcmp
            ifeq 33
        30: .line 788
            new java.io.InvalidClassException
            dup
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
        31: .line 789
            new java.lang.StringBuilder
            dup
            ldc "enum descriptor has non-zero serialVersionUID: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.suid:Ljava/lang/Long;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        32: .line 788
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            athrow
        33: .line 792
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokevirtual java.io.ObjectInputStream.readShort:()S
            istore 4 /* numFields */
        start local 4 // int numFields
        34: .line 793
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.isEnum:Z
            ifeq 38
            iload 4 /* numFields */
            ifeq 38
        35: .line 794
            new java.io.InvalidClassException
            dup
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
        36: .line 795
            new java.lang.StringBuilder
            dup
            ldc "enum descriptor has non-zero field count: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* numFields */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        37: .line 794
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            athrow
        38: .line 797
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* numFields */
            ifle 40
        39: .line 798
            iload 4 /* numFields */
            anewarray java.io.ObjectStreamField
            goto 41
      StackMap locals:
      StackMap stack: java.io.ObjectStreamClass
        40: getstatic java.io.ObjectStreamClass.NO_FIELDS:[Ljava/io/ObjectStreamField;
        41: .line 797
      StackMap locals: java.io.ObjectStreamClass java.io.ObjectInputStream int int int
      StackMap stack: java.io.ObjectStreamClass java.io.ObjectStreamField[]
            putfield java.io.ObjectStreamClass.fields:[Ljava/io/ObjectStreamField;
        42: .line 799
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        43: goto 59
        44: .line 800
      StackMap locals: int
      StackMap stack:
            aload 1 /* in */
            invokevirtual java.io.ObjectInputStream.readByte:()B
            i2c
            istore 6 /* tcode */
        start local 6 // char tcode
        45: .line 801
            aload 1 /* in */
            invokevirtual java.io.ObjectInputStream.readUTF:()Ljava/lang/String;
            astore 7 /* fname */
        start local 7 // java.lang.String fname
        46: .line 802
            iload 6 /* tcode */
            bipush 76
            if_icmpeq 47
            iload 6 /* tcode */
            bipush 91
            if_icmpne 48
        47: .line 803
      StackMap locals: int java.lang.String
      StackMap stack:
            aload 1 /* in */
            invokevirtual java.io.ObjectInputStream.readTypeString:()Ljava/lang/String;
            goto 49
      StackMap locals:
      StackMap stack:
        48: new java.lang.String
            dup
            iconst_1
            newarray 5
            dup
            iconst_0
            iload 6 /* tcode */
            castore
            invokespecial java.lang.String.<init>:([C)V
        49: .line 802
      StackMap locals:
      StackMap stack: java.lang.String
            astore 8 /* signature */
        start local 8 // java.lang.String signature
        50: .line 805
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.fields:[Ljava/io/ObjectStreamField;
            iload 5 /* i */
            new java.io.ObjectStreamField
            dup
            aload 7 /* fname */
            aload 8 /* signature */
            iconst_0
            invokespecial java.io.ObjectStreamField.<init>:(Ljava/lang/String;Ljava/lang/String;Z)V
            aastore
        51: .line 806
            goto 58
      StackMap locals: java.io.ObjectStreamClass java.io.ObjectInputStream int int int int int java.lang.String java.lang.String
      StackMap stack: java.lang.RuntimeException
        52: astore 9 /* e */
        start local 9 // java.lang.RuntimeException e
        53: .line 807
            new java.io.InvalidClassException
            dup
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
        54: .line 808
            new java.lang.StringBuilder
            dup
            ldc "invalid descriptor for field "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* fname */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        55: .line 807
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
        56: .line 808
            aload 9 /* e */
            invokevirtual java.io.InvalidClassException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
        57: .line 807
            checkcast java.io.IOException
            athrow
        end local 9 // java.lang.RuntimeException e
        end local 8 // java.lang.String signature
        end local 7 // java.lang.String fname
        end local 6 // char tcode
        58: .line 799
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        59: iload 5 /* i */
            iload 4 /* numFields */
            if_icmplt 44
        end local 5 // int i
        60: .line 811
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.computeFieldOffsets:()V
        61: .line 812
            return
        end local 4 // int numFields
        end local 3 // boolean sflag
        end local 2 // byte flags
        end local 1 // java.io.ObjectInputStream in
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   62     0       this  Ljava/io/ObjectStreamClass;
            0   62     1         in  Ljava/io/ObjectInputStream;
            4   62     2      flags  B
           19   62     3      sflag  Z
           34   62     4  numFields  I
           43   60     5          i  I
           45   58     6      tcode  C
           46   58     7      fname  Ljava/lang/String;
           50   58     8  signature  Ljava/lang/String;
           53   58     9          e  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
          50    51      52  Class java.lang.RuntimeException
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      in    

  void writeNonProxy(java.io.ObjectOutputStream);
    descriptor: (Ljava/io/ObjectOutputStream;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.io.ObjectStreamClass this
        start local 1 // java.io.ObjectOutputStream out
         0: .line 818
            aload 1 /* out */
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
            invokevirtual java.io.ObjectOutputStream.writeUTF:(Ljava/lang/String;)V
         1: .line 819
            aload 1 /* out */
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.getSerialVersionUID:()J
            invokevirtual java.io.ObjectOutputStream.writeLong:(J)V
         2: .line 821
            iconst_0
            istore 2 /* flags */
        start local 2 // byte flags
         3: .line 822
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.externalizable:Z
            ifeq 9
         4: .line 823
            iload 2 /* flags */
            iconst_4
            ior
            i2b
            istore 2 /* flags */
         5: .line 824
            aload 1 /* out */
            invokevirtual java.io.ObjectOutputStream.getProtocolVersion:()I
            istore 3 /* protocol */
        start local 3 // int protocol
         6: .line 825
            iload 3 /* protocol */
            iconst_1
            if_icmpeq 11
         7: .line 826
            iload 2 /* flags */
            bipush 8
            ior
            i2b
            istore 2 /* flags */
        end local 3 // int protocol
         8: .line 828
            goto 11
      StackMap locals: int
      StackMap stack:
         9: aload 0 /* this */
            getfield java.io.ObjectStreamClass.serializable:Z
            ifeq 11
        10: .line 829
            iload 2 /* flags */
            iconst_2
            ior
            i2b
            istore 2 /* flags */
        11: .line 831
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.hasWriteObjectData:Z
            ifeq 13
        12: .line 832
            iload 2 /* flags */
            iconst_1
            ior
            i2b
            istore 2 /* flags */
        13: .line 834
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.isEnum:Z
            ifeq 15
        14: .line 835
            iload 2 /* flags */
            bipush 16
            ior
            i2b
            istore 2 /* flags */
        15: .line 837
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            iload 2 /* flags */
            invokevirtual java.io.ObjectOutputStream.writeByte:(I)V
        16: .line 839
            aload 1 /* out */
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.fields:[Ljava/io/ObjectStreamField;
            arraylength
            invokevirtual java.io.ObjectOutputStream.writeShort:(I)V
        17: .line 840
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        18: goto 25
        19: .line 841
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.fields:[Ljava/io/ObjectStreamField;
            iload 3 /* i */
            aaload
            astore 4 /* f */
        start local 4 // java.io.ObjectStreamField f
        20: .line 842
            aload 1 /* out */
            aload 4 /* f */
            invokevirtual java.io.ObjectStreamField.getTypeCode:()C
            invokevirtual java.io.ObjectOutputStream.writeByte:(I)V
        21: .line 843
            aload 1 /* out */
            aload 4 /* f */
            invokevirtual java.io.ObjectStreamField.getName:()Ljava/lang/String;
            invokevirtual java.io.ObjectOutputStream.writeUTF:(Ljava/lang/String;)V
        22: .line 844
            aload 4 /* f */
            invokevirtual java.io.ObjectStreamField.isPrimitive:()Z
            ifne 24
        23: .line 845
            aload 1 /* out */
            aload 4 /* f */
            invokevirtual java.io.ObjectStreamField.getTypeString:()Ljava/lang/String;
            invokevirtual java.io.ObjectOutputStream.writeTypeString:(Ljava/lang/String;)V
        end local 4 // java.io.ObjectStreamField f
        24: .line 840
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 3 /* i */
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.fields:[Ljava/io/ObjectStreamField;
            arraylength
            if_icmplt 19
        end local 3 // int i
        26: .line 848
            return
        end local 2 // byte flags
        end local 1 // java.io.ObjectOutputStream out
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   27     0      this  Ljava/io/ObjectStreamClass;
            0   27     1       out  Ljava/io/ObjectOutputStream;
            3   27     2     flags  B
            6    8     3  protocol  I
           18   26     3         i  I
           20   24     4         f  Ljava/io/ObjectStreamField;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      out   

  java.lang.ClassNotFoundException getResolveException();
    descriptor: ()Ljava/lang/ClassNotFoundException;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 855
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.resolveEx:Ljava/lang/ClassNotFoundException;
            areturn
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectStreamClass;

  private final void requireInitialized();
    descriptor: ()V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 862
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.initialized:Z
            ifne 2
         1: .line 863
            new java.lang.InternalError
            dup
            ldc "Unexpected call when not initialized"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 864
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/io/ObjectStreamClass;

  final void checkInitialized();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 872
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.initialized:Z
            ifne 2
         1: .line 873
            new java.io.InvalidClassException
            dup
            ldc "Class descriptor should be initialized"
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 875
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/io/ObjectStreamClass;
    Exceptions:
      throws java.io.InvalidClassException

  void checkDeserialize();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 883
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 884
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.deserializeEx:Ljava/io/ObjectStreamClass$ExceptionInfo;
            ifnull 3
         2: .line 885
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.deserializeEx:Ljava/io/ObjectStreamClass$ExceptionInfo;
            invokevirtual java.io.ObjectStreamClass$ExceptionInfo.newInvalidClassException:()Ljava/io/InvalidClassException;
            athrow
         3: .line 887
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/io/ObjectStreamClass;
    Exceptions:
      throws java.io.InvalidClassException

  void checkSerialize();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 895
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 896
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.serializeEx:Ljava/io/ObjectStreamClass$ExceptionInfo;
            ifnull 3
         2: .line 897
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.serializeEx:Ljava/io/ObjectStreamClass$ExceptionInfo;
            invokevirtual java.io.ObjectStreamClass$ExceptionInfo.newInvalidClassException:()Ljava/io/InvalidClassException;
            athrow
         3: .line 899
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/io/ObjectStreamClass;
    Exceptions:
      throws java.io.InvalidClassException

  void checkDefaultSerialize();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 909
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 910
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.defaultSerializeEx:Ljava/io/ObjectStreamClass$ExceptionInfo;
            ifnull 3
         2: .line 911
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.defaultSerializeEx:Ljava/io/ObjectStreamClass$ExceptionInfo;
            invokevirtual java.io.ObjectStreamClass$ExceptionInfo.newInvalidClassException:()Ljava/io/InvalidClassException;
            athrow
         3: .line 913
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/io/ObjectStreamClass;
    Exceptions:
      throws java.io.InvalidClassException

  java.io.ObjectStreamClass getSuperDesc();
    descriptor: ()Ljava/io/ObjectStreamClass;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 921
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 922
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.superDesc:Ljava/io/ObjectStreamClass;
            areturn
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/io/ObjectStreamClass;

  java.io.ObjectStreamClass getLocalDesc();
    descriptor: ()Ljava/io/ObjectStreamClass;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 932
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 933
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.localDesc:Ljava/io/ObjectStreamClass;
            areturn
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/io/ObjectStreamClass;

  java.io.ObjectStreamField[] getFields(boolean);
    descriptor: (Z)[Ljava/io/ObjectStreamField;
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.io.ObjectStreamClass this
        start local 1 // boolean copy
         0: .line 943
            iload 1 /* copy */
            ifeq 1
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.fields:[Ljava/io/ObjectStreamField;
            invokevirtual java.io.ObjectStreamField[].clone:()Ljava/lang/Object;
            checkcast java.io.ObjectStreamField[]
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield java.io.ObjectStreamClass.fields:[Ljava/io/ObjectStreamField;
      StackMap locals:
      StackMap stack: java.io.ObjectStreamField[]
         2: areturn
        end local 1 // boolean copy
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/io/ObjectStreamClass;
            0    3     1  copy  Z
    MethodParameters:
      Name  Flags
      copy  

  java.io.ObjectStreamField getField(java.lang.String, java.lang.Class<?>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Ljava/io/ObjectStreamField;
    flags: (0x0000) 
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // java.io.ObjectStreamClass this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Class type
         0: .line 953
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 11
         2: .line 954
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.fields:[Ljava/io/ObjectStreamField;
            iload 3 /* i */
            aaload
            astore 4 /* f */
        start local 4 // java.io.ObjectStreamField f
         3: .line 955
            aload 4 /* f */
            invokevirtual java.io.ObjectStreamField.getName:()Ljava/lang/String;
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         4: .line 956
            aload 2 /* type */
            ifnull 6
         5: .line 957
            aload 2 /* type */
            ldc Ljava/lang/Object;
            if_acmpne 7
            aload 4 /* f */
            invokevirtual java.io.ObjectStreamField.isPrimitive:()Z
            ifne 7
         6: .line 959
      StackMap locals: java.io.ObjectStreamField
      StackMap stack:
            aload 4 /* f */
            areturn
         7: .line 961
      StackMap locals:
      StackMap stack:
            aload 4 /* f */
            invokevirtual java.io.ObjectStreamField.getType:()Ljava/lang/Class;
            astore 5 /* ftype */
        start local 5 // java.lang.Class ftype
         8: .line 962
            aload 5 /* ftype */
            ifnull 10
            aload 2 /* type */
            aload 5 /* ftype */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 10
         9: .line 963
            aload 4 /* f */
            areturn
        end local 5 // java.lang.Class ftype
        end local 4 // java.io.ObjectStreamField f
        10: .line 953
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 3 /* i */
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.fields:[Ljava/io/ObjectStreamField;
            arraylength
            if_icmplt 2
        end local 3 // int i
        12: .line 967
            aconst_null
            areturn
        end local 2 // java.lang.Class type
        end local 1 // java.lang.String name
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Ljava/io/ObjectStreamClass;
            0   13     1   name  Ljava/lang/String;
            0   13     2   type  Ljava/lang/Class<*>;
            1   12     3      i  I
            3   10     4      f  Ljava/io/ObjectStreamField;
            8   10     5  ftype  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/String;Ljava/lang/Class<*>;)Ljava/io/ObjectStreamField;
    MethodParameters:
      Name  Flags
      name  
      type  

  boolean isProxy();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 975
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 976
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.isProxy:Z
            ireturn
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/io/ObjectStreamClass;

  boolean isEnum();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 984
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 985
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.isEnum:Z
            ireturn
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/io/ObjectStreamClass;

  boolean isExternalizable();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 993
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 994
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.externalizable:Z
            ireturn
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/io/ObjectStreamClass;

  boolean isSerializable();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 1002
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 1003
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.serializable:Z
            ireturn
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/io/ObjectStreamClass;

  boolean hasBlockExternalData();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 1011
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 1012
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.hasBlockExternalData:Z
            ireturn
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/io/ObjectStreamClass;

  boolean hasWriteObjectData();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 1021
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 1022
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.hasWriteObjectData:Z
            ireturn
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/io/ObjectStreamClass;

  boolean isInstantiable();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 1033
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 1034
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.cons:Ljava/lang/reflect/Constructor;
            ifnull 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/io/ObjectStreamClass;

  boolean hasWriteObjectMethod();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 1043
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 1044
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.writeObjectMethod:Ljava/lang/reflect/Method;
            ifnull 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/io/ObjectStreamClass;

  boolean hasReadObjectMethod();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 1053
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 1054
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.readObjectMethod:Ljava/lang/reflect/Method;
            ifnull 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/io/ObjectStreamClass;

  boolean hasReadObjectNoDataMethod();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 1063
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 1064
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.readObjectNoDataMethod:Ljava/lang/reflect/Method;
            ifnull 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/io/ObjectStreamClass;

  boolean hasWriteReplaceMethod();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 1072
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 1073
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.writeReplaceMethod:Ljava/lang/reflect/Method;
            ifnull 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/io/ObjectStreamClass;

  boolean hasReadResolveMethod();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 1081
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 1082
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.readResolveMethod:Ljava/lang/reflect/Method;
            ifnull 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/io/ObjectStreamClass;

  java.lang.Object newInstance();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 1098
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 1099
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.cons:Ljava/lang/reflect/Constructor;
            ifnull 26
         2: .line 1101
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.domains:[Ljava/security/ProtectionDomain;
            ifnull 3
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.domains:[Ljava/security/ProtectionDomain;
            arraylength
            ifne 5
         3: .line 1102
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.cons:Ljava/lang/reflect/Constructor;
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
         4: areturn
         5: .line 1104
      StackMap locals:
      StackMap stack:
            invokestatic sun.misc.SharedSecrets.getJavaSecurityAccess:()Lsun/misc/JavaSecurityAccess;
            astore 1 /* jsa */
        start local 1 // sun.misc.JavaSecurityAccess jsa
         6: .line 1105
            aload 0 /* this */
            invokedynamic run(Ljava/io/ObjectStreamClass;)Ljava/security/PrivilegedAction;
              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;
                  java/io/ObjectStreamClass.lambda$0()Ljava/lang/Object; (7)
                  ()Ljava/lang/Object;
            astore 2 /* pea */
        start local 2 // java.security.PrivilegedAction pea
         7: .line 1115
            aload 1 /* jsa */
            aload 2 /* pea */
         8: .line 1116
            invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
         9: .line 1117
            new java.security.AccessControlContext
            dup
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.domains:[Ljava/security/ProtectionDomain;
            invokespecial java.security.AccessControlContext.<init>:([Ljava/security/ProtectionDomain;)V
        10: .line 1115
            invokeinterface sun.misc.JavaSecurityAccess.doIntersectionPrivilege:(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;Ljava/security/AccessControlContext;)Ljava/lang/Object;
        11: areturn
        12: .line 1118
      StackMap locals: java.io.ObjectStreamClass sun.misc.JavaSecurityAccess java.security.PrivilegedAction
      StackMap stack: java.lang.reflect.UndeclaredThrowableException
            astore 3 /* x */
        start local 3 // java.lang.reflect.UndeclaredThrowableException x
        13: .line 1119
            aload 3 /* x */
            invokevirtual java.lang.reflect.UndeclaredThrowableException.getCause:()Ljava/lang/Throwable;
            astore 4 /* cause */
        start local 4 // java.lang.Throwable cause
        14: .line 1120
            aload 4 /* cause */
            instanceof java.lang.InstantiationException
            ifeq 16
        15: .line 1121
            aload 4 /* cause */
            checkcast java.lang.InstantiationException
            athrow
        16: .line 1122
      StackMap locals: java.lang.reflect.UndeclaredThrowableException java.lang.Throwable
      StackMap stack:
            aload 4 /* cause */
            instanceof java.lang.reflect.InvocationTargetException
            ifeq 18
        17: .line 1123
            aload 4 /* cause */
            checkcast java.lang.reflect.InvocationTargetException
            athrow
        18: .line 1124
      StackMap locals:
      StackMap stack:
            aload 4 /* cause */
            instanceof java.lang.IllegalAccessException
            ifeq 20
        19: .line 1125
            aload 4 /* cause */
            checkcast java.lang.IllegalAccessException
            athrow
        20: .line 1127
      StackMap locals:
      StackMap stack:
            aload 3 /* x */
            athrow
        end local 4 // java.lang.Throwable cause
        end local 3 // java.lang.reflect.UndeclaredThrowableException x
        end local 2 // java.security.PrivilegedAction pea
        end local 1 // sun.misc.JavaSecurityAccess jsa
        21: .line 1130
      StackMap locals: java.io.ObjectStreamClass
      StackMap stack: java.lang.IllegalAccessException
            astore 1 /* ex */
        start local 1 // java.lang.IllegalAccessException ex
        22: .line 1132
            new java.lang.InternalError
            dup
            aload 1 /* ex */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.IllegalAccessException ex
        23: .line 1133
      StackMap locals:
      StackMap stack: java.lang.InstantiationError
            astore 1 /* err */
        start local 1 // java.lang.InstantiationError err
        24: .line 1135
            new java.lang.InstantiationException
            dup
            invokespecial java.lang.InstantiationException.<init>:()V
            aload 1 /* err */
            invokevirtual java.lang.InstantiationException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
        25: .line 1134
            checkcast java.lang.InstantiationException
            athrow
        end local 1 // java.lang.InstantiationError err
        26: .line 1138
      StackMap locals:
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   27     0   this  Ljava/io/ObjectStreamClass;
            6   21     1    jsa  Lsun/misc/JavaSecurityAccess;
            7   21     2    pea  Ljava/security/PrivilegedAction<*>;
           13   21     3      x  Ljava/lang/reflect/UndeclaredThrowableException;
           14   21     4  cause  Ljava/lang/Throwable;
           22   23     1     ex  Ljava/lang/IllegalAccessException;
           24   26     1    err  Ljava/lang/InstantiationError;
      Exception table:
        from    to  target  type
           7    11      12  Class java.lang.reflect.UndeclaredThrowableException
           2     4      21  Class java.lang.IllegalAccessException
           5    11      21  Class java.lang.IllegalAccessException
          12    21      21  Class java.lang.IllegalAccessException
           2     4      23  Class java.lang.InstantiationError
           5    11      23  Class java.lang.InstantiationError
          12    21      23  Class java.lang.InstantiationError
    Exceptions:
      throws java.lang.InstantiationException, java.lang.reflect.InvocationTargetException, java.lang.UnsupportedOperationException

  void invokeWriteObject(java.lang.Object, java.io.ObjectOutputStream);
    descriptor: (Ljava/lang/Object;Ljava/io/ObjectOutputStream;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // java.io.ObjectStreamClass this
        start local 1 // java.lang.Object obj
        start local 2 // java.io.ObjectOutputStream out
         0: .line 1151
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 1152
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.writeObjectMethod:Ljava/lang/reflect/Method;
            ifnull 12
         2: .line 1154
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.writeObjectMethod:Ljava/lang/reflect/Method;
            aload 1 /* obj */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* out */
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 1155
            goto 13
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
         4: astore 3 /* ex */
        start local 3 // java.lang.reflect.InvocationTargetException ex
         5: .line 1156
            aload 3 /* ex */
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
            astore 4 /* th */
        start local 4 // java.lang.Throwable th
         6: .line 1157
            aload 4 /* th */
            instanceof java.io.IOException
            ifeq 8
         7: .line 1158
            aload 4 /* th */
            checkcast java.io.IOException
            athrow
         8: .line 1160
      StackMap locals: java.lang.reflect.InvocationTargetException java.lang.Throwable
      StackMap stack:
            aload 4 /* th */
            invokestatic java.io.ObjectStreamClass.throwMiscException:(Ljava/lang/Throwable;)V
        end local 4 // java.lang.Throwable th
        end local 3 // java.lang.reflect.InvocationTargetException ex
         9: goto 13
        10: .line 1162
      StackMap locals: java.io.ObjectStreamClass java.lang.Object java.io.ObjectOutputStream
      StackMap stack: java.lang.IllegalAccessException
            astore 3 /* ex */
        start local 3 // java.lang.IllegalAccessException ex
        11: .line 1164
            new java.lang.InternalError
            dup
            aload 3 /* ex */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.IllegalAccessException ex
        12: .line 1167
      StackMap locals:
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        13: .line 1169
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.io.ObjectOutputStream out
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Ljava/io/ObjectStreamClass;
            0   14     1   obj  Ljava/lang/Object;
            0   14     2   out  Ljava/io/ObjectOutputStream;
            5    9     3    ex  Ljava/lang/reflect/InvocationTargetException;
            6    9     4    th  Ljava/lang/Throwable;
           11   12     3    ex  Ljava/lang/IllegalAccessException;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.reflect.InvocationTargetException
           2     3      10  Class java.lang.IllegalAccessException
    Exceptions:
      throws java.io.IOException, java.lang.UnsupportedOperationException
    MethodParameters:
      Name  Flags
      obj   
      out   

  void invokeReadObject(java.lang.Object, java.io.ObjectInputStream);
    descriptor: (Ljava/lang/Object;Ljava/io/ObjectInputStream;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // java.io.ObjectStreamClass this
        start local 1 // java.lang.Object obj
        start local 2 // java.io.ObjectInputStream in
         0: .line 1181
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 1182
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.readObjectMethod:Ljava/lang/reflect/Method;
            ifnull 14
         2: .line 1184
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.readObjectMethod:Ljava/lang/reflect/Method;
            aload 1 /* obj */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* in */
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 1185
            goto 15
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
         4: astore 3 /* ex */
        start local 3 // java.lang.reflect.InvocationTargetException ex
         5: .line 1186
            aload 3 /* ex */
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
            astore 4 /* th */
        start local 4 // java.lang.Throwable th
         6: .line 1187
            aload 4 /* th */
            instanceof java.lang.ClassNotFoundException
            ifeq 8
         7: .line 1188
            aload 4 /* th */
            checkcast java.lang.ClassNotFoundException
            athrow
         8: .line 1189
      StackMap locals: java.lang.reflect.InvocationTargetException java.lang.Throwable
      StackMap stack:
            aload 4 /* th */
            instanceof java.io.IOException
            ifeq 10
         9: .line 1190
            aload 4 /* th */
            checkcast java.io.IOException
            athrow
        10: .line 1192
      StackMap locals:
      StackMap stack:
            aload 4 /* th */
            invokestatic java.io.ObjectStreamClass.throwMiscException:(Ljava/lang/Throwable;)V
        end local 4 // java.lang.Throwable th
        end local 3 // java.lang.reflect.InvocationTargetException ex
        11: goto 15
        12: .line 1194
      StackMap locals: java.io.ObjectStreamClass java.lang.Object java.io.ObjectInputStream
      StackMap stack: java.lang.IllegalAccessException
            astore 3 /* ex */
        start local 3 // java.lang.IllegalAccessException ex
        13: .line 1196
            new java.lang.InternalError
            dup
            aload 3 /* ex */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.IllegalAccessException ex
        14: .line 1199
      StackMap locals:
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        15: .line 1201
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.io.ObjectInputStream in
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Ljava/io/ObjectStreamClass;
            0   16     1   obj  Ljava/lang/Object;
            0   16     2    in  Ljava/io/ObjectInputStream;
            5   11     3    ex  Ljava/lang/reflect/InvocationTargetException;
            6   11     4    th  Ljava/lang/Throwable;
           13   14     3    ex  Ljava/lang/IllegalAccessException;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.reflect.InvocationTargetException
           2     3      12  Class java.lang.IllegalAccessException
    Exceptions:
      throws java.lang.ClassNotFoundException, java.io.IOException, java.lang.UnsupportedOperationException
    MethodParameters:
      Name  Flags
      obj   
      in    

  void invokeReadObjectNoData(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.io.ObjectStreamClass this
        start local 1 // java.lang.Object obj
         0: .line 1212
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 1213
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.readObjectNoDataMethod:Ljava/lang/reflect/Method;
            ifnull 12
         2: .line 1215
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.readObjectNoDataMethod:Ljava/lang/reflect/Method;
            aload 1 /* obj */
            aconst_null
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 1216
            goto 13
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
         4: astore 2 /* ex */
        start local 2 // java.lang.reflect.InvocationTargetException ex
         5: .line 1217
            aload 2 /* ex */
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
            astore 3 /* th */
        start local 3 // java.lang.Throwable th
         6: .line 1218
            aload 3 /* th */
            instanceof java.io.ObjectStreamException
            ifeq 8
         7: .line 1219
            aload 3 /* th */
            checkcast java.io.ObjectStreamException
            athrow
         8: .line 1221
      StackMap locals: java.lang.reflect.InvocationTargetException java.lang.Throwable
      StackMap stack:
            aload 3 /* th */
            invokestatic java.io.ObjectStreamClass.throwMiscException:(Ljava/lang/Throwable;)V
        end local 3 // java.lang.Throwable th
        end local 2 // java.lang.reflect.InvocationTargetException ex
         9: goto 13
        10: .line 1223
      StackMap locals: java.io.ObjectStreamClass java.lang.Object
      StackMap stack: java.lang.IllegalAccessException
            astore 2 /* ex */
        start local 2 // java.lang.IllegalAccessException ex
        11: .line 1225
            new java.lang.InternalError
            dup
            aload 2 /* ex */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.IllegalAccessException ex
        12: .line 1228
      StackMap locals:
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        13: .line 1230
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Ljava/io/ObjectStreamClass;
            0   14     1   obj  Ljava/lang/Object;
            5    9     2    ex  Ljava/lang/reflect/InvocationTargetException;
            6    9     3    th  Ljava/lang/Throwable;
           11   12     2    ex  Ljava/lang/IllegalAccessException;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.reflect.InvocationTargetException
           2     3      10  Class java.lang.IllegalAccessException
    Exceptions:
      throws java.io.IOException, java.lang.UnsupportedOperationException
    MethodParameters:
      Name  Flags
      obj   

  java.lang.Object invokeWriteReplace(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.io.ObjectStreamClass this
        start local 1 // java.lang.Object obj
         0: .line 1241
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 1242
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.writeReplaceMethod:Ljava/lang/reflect/Method;
            ifnull 12
         2: .line 1244
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.writeReplaceMethod:Ljava/lang/reflect/Method;
            aload 1 /* obj */
            aconst_null
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
         3: areturn
         4: .line 1245
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 2 /* ex */
        start local 2 // java.lang.reflect.InvocationTargetException ex
         5: .line 1246
            aload 2 /* ex */
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
            astore 3 /* th */
        start local 3 // java.lang.Throwable th
         6: .line 1247
            aload 3 /* th */
            instanceof java.io.ObjectStreamException
            ifeq 8
         7: .line 1248
            aload 3 /* th */
            checkcast java.io.ObjectStreamException
            athrow
         8: .line 1250
      StackMap locals: java.lang.reflect.InvocationTargetException java.lang.Throwable
      StackMap stack:
            aload 3 /* th */
            invokestatic java.io.ObjectStreamClass.throwMiscException:(Ljava/lang/Throwable;)V
         9: .line 1251
            new java.lang.InternalError
            dup
            aload 3 /* th */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Throwable th
        end local 2 // java.lang.reflect.InvocationTargetException ex
        10: .line 1253
      StackMap locals: java.io.ObjectStreamClass java.lang.Object
      StackMap stack: java.lang.IllegalAccessException
            astore 2 /* ex */
        start local 2 // java.lang.IllegalAccessException ex
        11: .line 1255
            new java.lang.InternalError
            dup
            aload 2 /* ex */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.IllegalAccessException ex
        12: .line 1258
      StackMap locals:
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Ljava/io/ObjectStreamClass;
            0   13     1   obj  Ljava/lang/Object;
            5   10     2    ex  Ljava/lang/reflect/InvocationTargetException;
            6   10     3    th  Ljava/lang/Throwable;
           11   12     2    ex  Ljava/lang/IllegalAccessException;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.reflect.InvocationTargetException
           2     3      10  Class java.lang.IllegalAccessException
    Exceptions:
      throws java.io.IOException, java.lang.UnsupportedOperationException
    MethodParameters:
      Name  Flags
      obj   

  java.lang.Object invokeReadResolve(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.io.ObjectStreamClass this
        start local 1 // java.lang.Object obj
         0: .line 1271
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 1272
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.readResolveMethod:Ljava/lang/reflect/Method;
            ifnull 12
         2: .line 1274
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.readResolveMethod:Ljava/lang/reflect/Method;
            aload 1 /* obj */
            aconst_null
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
         3: areturn
         4: .line 1275
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 2 /* ex */
        start local 2 // java.lang.reflect.InvocationTargetException ex
         5: .line 1276
            aload 2 /* ex */
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
            astore 3 /* th */
        start local 3 // java.lang.Throwable th
         6: .line 1277
            aload 3 /* th */
            instanceof java.io.ObjectStreamException
            ifeq 8
         7: .line 1278
            aload 3 /* th */
            checkcast java.io.ObjectStreamException
            athrow
         8: .line 1280
      StackMap locals: java.lang.reflect.InvocationTargetException java.lang.Throwable
      StackMap stack:
            aload 3 /* th */
            invokestatic java.io.ObjectStreamClass.throwMiscException:(Ljava/lang/Throwable;)V
         9: .line 1281
            new java.lang.InternalError
            dup
            aload 3 /* th */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Throwable th
        end local 2 // java.lang.reflect.InvocationTargetException ex
        10: .line 1283
      StackMap locals: java.io.ObjectStreamClass java.lang.Object
      StackMap stack: java.lang.IllegalAccessException
            astore 2 /* ex */
        start local 2 // java.lang.IllegalAccessException ex
        11: .line 1285
            new java.lang.InternalError
            dup
            aload 2 /* ex */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.IllegalAccessException ex
        12: .line 1288
      StackMap locals:
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Ljava/io/ObjectStreamClass;
            0   13     1   obj  Ljava/lang/Object;
            5   10     2    ex  Ljava/lang/reflect/InvocationTargetException;
            6   10     3    th  Ljava/lang/Throwable;
           11   12     2    ex  Ljava/lang/IllegalAccessException;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.reflect.InvocationTargetException
           2     3      10  Class java.lang.IllegalAccessException
    Exceptions:
      throws java.io.IOException, java.lang.UnsupportedOperationException
    MethodParameters:
      Name  Flags
      obj   

  java.io.ObjectStreamClass$ClassDataSlot[] getClassDataLayout();
    descriptor: ()[Ljava/io/ObjectStreamClass$ClassDataSlot;
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 1320
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.dataLayout:[Ljava/io/ObjectStreamClass$ClassDataSlot;
            ifnonnull 2
         1: .line 1321
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.getClassDataLayout0:()[Ljava/io/ObjectStreamClass$ClassDataSlot;
            putfield java.io.ObjectStreamClass.dataLayout:[Ljava/io/ObjectStreamClass$ClassDataSlot;
         2: .line 1323
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.dataLayout:[Ljava/io/ObjectStreamClass$ClassDataSlot;
            areturn
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/io/ObjectStreamClass;
    Exceptions:
      throws java.io.InvalidClassException

  private java.io.ObjectStreamClass$ClassDataSlot[] getClassDataLayout0();
    descriptor: ()[Ljava/io/ObjectStreamClass$ClassDataSlot;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 1329
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* slots */
        start local 1 // java.util.ArrayList slots
         1: .line 1330
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.cl:Ljava/lang/Class;
            astore 2 /* start */
        start local 2 // java.lang.Class start
         2: aload 0 /* this */
            getfield java.io.ObjectStreamClass.cl:Ljava/lang/Class;
            astore 3 /* end */
        start local 3 // java.lang.Class end
         3: .line 1333
            goto 5
         4: .line 1334
      StackMap locals: java.util.ArrayList java.lang.Class java.lang.Class
      StackMap stack:
            aload 3 /* end */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            astore 3 /* end */
         5: .line 1333
      StackMap locals:
      StackMap stack:
            aload 3 /* end */
            ifnull 6
            ldc Ljava/io/Serializable;
            aload 3 /* end */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 4
         6: .line 1337
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            iconst_3
            invokespecial java.util.HashSet.<init>:(I)V
            astore 4 /* oscNames */
        start local 4 // java.util.HashSet oscNames
         7: .line 1339
            aload 0 /* this */
            astore 5 /* d */
        start local 5 // java.io.ObjectStreamClass d
         8: goto 34
         9: .line 1340
      StackMap locals: java.util.HashSet java.io.ObjectStreamClass
      StackMap stack:
            aload 4 /* oscNames */
            aload 5 /* d */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 1341
            new java.io.InvalidClassException
            dup
            ldc "Circular reference."
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 1343
      StackMap locals:
      StackMap stack:
            aload 4 /* oscNames */
            aload 5 /* d */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        12: .line 1347
            aload 5 /* d */
            getfield java.io.ObjectStreamClass.cl:Ljava/lang/Class;
            ifnull 13
            aload 5 /* d */
            getfield java.io.ObjectStreamClass.cl:Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 5 /* d */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        14: astore 6 /* searchName */
        start local 6 // java.lang.String searchName
        15: .line 1348
            aconst_null
            astore 7 /* match */
        start local 7 // java.lang.Class match
        16: .line 1349
            aload 2 /* start */
            astore 8 /* c */
        start local 8 // java.lang.Class c
        17: goto 22
        18: .line 1350
      StackMap locals: java.lang.String java.lang.Class java.lang.Class
      StackMap stack:
            aload 6 /* searchName */
            aload 8 /* c */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 21
        19: .line 1351
            aload 8 /* c */
            astore 7 /* match */
        20: .line 1352
            goto 23
        21: .line 1349
      StackMap locals:
      StackMap stack:
            aload 8 /* c */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            astore 8 /* c */
      StackMap locals:
      StackMap stack:
        22: aload 8 /* c */
            aload 3 /* end */
            if_acmpne 18
        end local 8 // java.lang.Class c
        23: .line 1357
      StackMap locals:
      StackMap stack:
            aload 7 /* match */
            ifnull 32
        24: .line 1358
            aload 2 /* start */
            astore 8 /* c */
        start local 8 // java.lang.Class c
        25: goto 30
        26: .line 1359
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 1 /* slots */
            new java.io.ObjectStreamClass$ClassDataSlot
            dup
        27: .line 1360
            aload 8 /* c */
            iconst_1
            invokestatic java.io.ObjectStreamClass.lookup:(Ljava/lang/Class;Z)Ljava/io/ObjectStreamClass;
            iconst_0
            invokespecial java.io.ObjectStreamClass$ClassDataSlot.<init>:(Ljava/io/ObjectStreamClass;Z)V
        28: .line 1359
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        29: .line 1358
            aload 8 /* c */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            astore 8 /* c */
      StackMap locals:
      StackMap stack:
        30: aload 8 /* c */
            aload 7 /* match */
            if_acmpne 26
        end local 8 // java.lang.Class c
        31: .line 1362
            aload 7 /* match */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            astore 2 /* start */
        32: .line 1366
      StackMap locals:
      StackMap stack:
            aload 1 /* slots */
            new java.io.ObjectStreamClass$ClassDataSlot
            dup
            aload 5 /* d */
            aload 7 /* match */
            invokevirtual java.io.ObjectStreamClass.getVariantFor:(Ljava/lang/Class;)Ljava/io/ObjectStreamClass;
            iconst_1
            invokespecial java.io.ObjectStreamClass$ClassDataSlot.<init>:(Ljava/io/ObjectStreamClass;Z)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // java.lang.Class match
        end local 6 // java.lang.String searchName
        33: .line 1339
            aload 5 /* d */
            getfield java.io.ObjectStreamClass.superDesc:Ljava/io/ObjectStreamClass;
            astore 5 /* d */
      StackMap locals:
      StackMap stack:
        34: aload 5 /* d */
            ifnonnull 9
        end local 5 // java.io.ObjectStreamClass d
        35: .line 1370
            aload 2 /* start */
            astore 5 /* c */
        start local 5 // java.lang.Class c
        36: goto 41
        37: .line 1371
      StackMap locals: java.io.ObjectStreamClass java.util.ArrayList java.lang.Class java.lang.Class java.util.HashSet java.lang.Class
      StackMap stack:
            aload 1 /* slots */
            new java.io.ObjectStreamClass$ClassDataSlot
            dup
        38: .line 1372
            aload 5 /* c */
            iconst_1
            invokestatic java.io.ObjectStreamClass.lookup:(Ljava/lang/Class;Z)Ljava/io/ObjectStreamClass;
            iconst_0
            invokespecial java.io.ObjectStreamClass$ClassDataSlot.<init>:(Ljava/io/ObjectStreamClass;Z)V
        39: .line 1371
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        40: .line 1370
            aload 5 /* c */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            astore 5 /* c */
      StackMap locals:
      StackMap stack:
        41: aload 5 /* c */
            aload 3 /* end */
            if_acmpne 37
        end local 5 // java.lang.Class c
        42: .line 1376
            aload 1 /* slots */
            invokestatic java.util.Collections.reverse:(Ljava/util/List;)V
        43: .line 1377
            aload 1 /* slots */
            aload 1 /* slots */
            invokevirtual java.util.ArrayList.size:()I
            anewarray java.io.ObjectStreamClass$ClassDataSlot
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.io.ObjectStreamClass$ClassDataSlot[]
            areturn
        end local 4 // java.util.HashSet oscNames
        end local 3 // java.lang.Class end
        end local 2 // java.lang.Class start
        end local 1 // java.util.ArrayList slots
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   44     0        this  Ljava/io/ObjectStreamClass;
            1   44     1       slots  Ljava/util/ArrayList<Ljava/io/ObjectStreamClass$ClassDataSlot;>;
            2   44     2       start  Ljava/lang/Class<*>;
            3   44     3         end  Ljava/lang/Class<*>;
            7   44     4    oscNames  Ljava/util/HashSet<Ljava/lang/String;>;
            8   35     5           d  Ljava/io/ObjectStreamClass;
           15   33     6  searchName  Ljava/lang/String;
           16   33     7       match  Ljava/lang/Class<*>;
           17   23     8           c  Ljava/lang/Class<*>;
           25   31     8           c  Ljava/lang/Class<*>;
           36   42     5           c  Ljava/lang/Class<*>;
    Exceptions:
      throws java.io.InvalidClassException

  int getPrimDataSize();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 1385
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.primDataSize:I
            ireturn
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectStreamClass;

  int getNumObjFields();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 1393
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.numObjFields:I
            ireturn
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectStreamClass;

  void getPrimFieldValues(java.lang.Object, byte[]);
    descriptor: (Ljava/lang/Object;[B)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.io.ObjectStreamClass this
        start local 1 // java.lang.Object obj
        start local 2 // byte[] buf
         0: .line 1403
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.fieldRefl:Ljava/io/ObjectStreamClass$FieldReflector;
            aload 1 /* obj */
            aload 2 /* buf */
            invokevirtual java.io.ObjectStreamClass$FieldReflector.getPrimFieldValues:(Ljava/lang/Object;[B)V
         1: .line 1404
            return
        end local 2 // byte[] buf
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/io/ObjectStreamClass;
            0    2     1   obj  Ljava/lang/Object;
            0    2     2   buf  [B
    MethodParameters:
      Name  Flags
      obj   
      buf   

  void setPrimFieldValues(java.lang.Object, byte[]);
    descriptor: (Ljava/lang/Object;[B)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.io.ObjectStreamClass this
        start local 1 // java.lang.Object obj
        start local 2 // byte[] buf
         0: .line 1413
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.fieldRefl:Ljava/io/ObjectStreamClass$FieldReflector;
            aload 1 /* obj */
            aload 2 /* buf */
            invokevirtual java.io.ObjectStreamClass$FieldReflector.setPrimFieldValues:(Ljava/lang/Object;[B)V
         1: .line 1414
            return
        end local 2 // byte[] buf
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/io/ObjectStreamClass;
            0    2     1   obj  Ljava/lang/Object;
            0    2     2   buf  [B
    MethodParameters:
      Name  Flags
      obj   
      buf   

  void getObjFieldValues(java.lang.Object, java.lang.Object[]);
    descriptor: (Ljava/lang/Object;[Ljava/lang/Object;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.io.ObjectStreamClass this
        start local 1 // java.lang.Object obj
        start local 2 // java.lang.Object[] vals
         0: .line 1422
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.fieldRefl:Ljava/io/ObjectStreamClass$FieldReflector;
            aload 1 /* obj */
            aload 2 /* vals */
            invokevirtual java.io.ObjectStreamClass$FieldReflector.getObjFieldValues:(Ljava/lang/Object;[Ljava/lang/Object;)V
         1: .line 1423
            return
        end local 2 // java.lang.Object[] vals
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/io/ObjectStreamClass;
            0    2     1   obj  Ljava/lang/Object;
            0    2     2  vals  [Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   
      vals  

  void setObjFieldValues(java.lang.Object, java.lang.Object[]);
    descriptor: (Ljava/lang/Object;[Ljava/lang/Object;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.io.ObjectStreamClass this
        start local 1 // java.lang.Object obj
        start local 2 // java.lang.Object[] vals
         0: .line 1431
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.fieldRefl:Ljava/io/ObjectStreamClass$FieldReflector;
            aload 1 /* obj */
            aload 2 /* vals */
            invokevirtual java.io.ObjectStreamClass$FieldReflector.setObjFieldValues:(Ljava/lang/Object;[Ljava/lang/Object;)V
         1: .line 1432
            return
        end local 2 // java.lang.Object[] vals
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/io/ObjectStreamClass;
            0    2     1   obj  Ljava/lang/Object;
            0    2     2  vals  [Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   
      vals  

  private void computeFieldOffsets();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 1440
            aload 0 /* this */
            iconst_0
            putfield java.io.ObjectStreamClass.primDataSize:I
         1: .line 1441
            aload 0 /* this */
            iconst_0
            putfield java.io.ObjectStreamClass.numObjFields:I
         2: .line 1442
            iconst_m1
            istore 1 /* firstObjIndex */
        start local 1 // int firstObjIndex
         3: .line 1444
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 24
         5: .line 1445
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.fields:[Ljava/io/ObjectStreamField;
            iload 2 /* i */
            aaload
            astore 3 /* f */
        start local 3 // java.io.ObjectStreamField f
         6: .line 1446
            aload 3 /* f */
            invokevirtual java.io.ObjectStreamField.getTypeCode:()C
            lookupswitch { // 10
                   66: 7
                   67: 9
                   68: 15
                   70: 12
                   73: 12
                   74: 15
                   76: 18
                   83: 9
                   90: 7
                   91: 18
              default: 22
          }
         7: .line 1449
      StackMap locals: java.io.ObjectStreamField
      StackMap stack:
            aload 3 /* f */
            aload 0 /* this */
            dup
            getfield java.io.ObjectStreamClass.primDataSize:I
            dup_x1
            iconst_1
            iadd
            putfield java.io.ObjectStreamClass.primDataSize:I
            invokevirtual java.io.ObjectStreamField.setOffset:(I)V
         8: .line 1450
            goto 23
         9: .line 1454
      StackMap locals:
      StackMap stack:
            aload 3 /* f */
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.primDataSize:I
            invokevirtual java.io.ObjectStreamField.setOffset:(I)V
        10: .line 1455
            aload 0 /* this */
            dup
            getfield java.io.ObjectStreamClass.primDataSize:I
            iconst_2
            iadd
            putfield java.io.ObjectStreamClass.primDataSize:I
        11: .line 1456
            goto 23
        12: .line 1460
      StackMap locals:
      StackMap stack:
            aload 3 /* f */
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.primDataSize:I
            invokevirtual java.io.ObjectStreamField.setOffset:(I)V
        13: .line 1461
            aload 0 /* this */
            dup
            getfield java.io.ObjectStreamClass.primDataSize:I
            iconst_4
            iadd
            putfield java.io.ObjectStreamClass.primDataSize:I
        14: .line 1462
            goto 23
        15: .line 1466
      StackMap locals:
      StackMap stack:
            aload 3 /* f */
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.primDataSize:I
            invokevirtual java.io.ObjectStreamField.setOffset:(I)V
        16: .line 1467
            aload 0 /* this */
            dup
            getfield java.io.ObjectStreamClass.primDataSize:I
            bipush 8
            iadd
            putfield java.io.ObjectStreamClass.primDataSize:I
        17: .line 1468
            goto 23
        18: .line 1472
      StackMap locals:
      StackMap stack:
            aload 3 /* f */
            aload 0 /* this */
            dup
            getfield java.io.ObjectStreamClass.numObjFields:I
            dup_x1
            iconst_1
            iadd
            putfield java.io.ObjectStreamClass.numObjFields:I
            invokevirtual java.io.ObjectStreamField.setOffset:(I)V
        19: .line 1473
            iload 1 /* firstObjIndex */
            iconst_m1
            if_icmpne 23
        20: .line 1474
            iload 2 /* i */
            istore 1 /* firstObjIndex */
        21: .line 1476
            goto 23
        22: .line 1479
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
        end local 3 // java.io.ObjectStreamField f
        23: .line 1444
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 2 /* i */
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.fields:[Ljava/io/ObjectStreamField;
            arraylength
            if_icmplt 5
        end local 2 // int i
        25: .line 1482
            iload 1 /* firstObjIndex */
            iconst_m1
            if_icmpeq 28
        26: .line 1483
            iload 1 /* firstObjIndex */
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.numObjFields:I
            iadd
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.fields:[Ljava/io/ObjectStreamField;
            arraylength
            if_icmpeq 28
        27: .line 1485
            new java.io.InvalidClassException
            dup
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
            ldc "illegal field order"
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            athrow
        28: .line 1487
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int firstObjIndex
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   29     0           this  Ljava/io/ObjectStreamClass;
            3   29     1  firstObjIndex  I
            4   25     2              i  I
            6   23     3              f  Ljava/io/ObjectStreamField;
    Exceptions:
      throws java.io.InvalidClassException

  private java.io.ObjectStreamClass getVariantFor(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/io/ObjectStreamClass;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.io.ObjectStreamClass this
        start local 1 // java.lang.Class cl
         0: .line 1497
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.cl:Ljava/lang/Class;
            aload 1 /* cl */
            if_acmpne 2
         1: .line 1498
            aload 0 /* this */
            areturn
         2: .line 1500
      StackMap locals:
      StackMap stack:
            new java.io.ObjectStreamClass
            dup
            invokespecial java.io.ObjectStreamClass.<init>:()V
            astore 2 /* desc */
        start local 2 // java.io.ObjectStreamClass desc
         3: .line 1501
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.isProxy:Z
            ifeq 6
         4: .line 1502
            aload 2 /* desc */
            aload 1 /* cl */
            aconst_null
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.superDesc:Ljava/io/ObjectStreamClass;
            invokevirtual java.io.ObjectStreamClass.initProxy:(Ljava/lang/Class;Ljava/lang/ClassNotFoundException;Ljava/io/ObjectStreamClass;)V
         5: .line 1503
            goto 7
         6: .line 1504
      StackMap locals: java.io.ObjectStreamClass
      StackMap stack:
            aload 2 /* desc */
            aload 0 /* this */
            aload 1 /* cl */
            aconst_null
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.superDesc:Ljava/io/ObjectStreamClass;
            invokevirtual java.io.ObjectStreamClass.initNonProxy:(Ljava/io/ObjectStreamClass;Ljava/lang/Class;Ljava/lang/ClassNotFoundException;Ljava/io/ObjectStreamClass;)V
         7: .line 1506
      StackMap locals:
      StackMap stack:
            aload 2 /* desc */
            areturn
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // java.lang.Class cl
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/io/ObjectStreamClass;
            0    8     1    cl  Ljava/lang/Class<*>;
            3    8     2  desc  Ljava/io/ObjectStreamClass;
    Exceptions:
      throws java.io.InvalidClassException
    Signature: (Ljava/lang/Class<*>;)Ljava/io/ObjectStreamClass;
    MethodParameters:
      Name  Flags
      cl    

  private static java.lang.reflect.Constructor<?> getExternalizableConstructor(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Class cl
         0: .line 1516
            aload 0 /* cl */
            aconst_null
            invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 1 /* cons */
        start local 1 // java.lang.reflect.Constructor cons
         1: .line 1517
            aload 1 /* cons */
            iconst_1
            invokevirtual java.lang.reflect.Constructor.setAccessible:(Z)V
         2: .line 1518
            aload 1 /* cons */
            invokevirtual java.lang.reflect.Constructor.getModifiers:()I
            iconst_1
            iand
            ifeq 4
         3: .line 1519
            aload 1 /* cons */
            goto 5
      StackMap locals: java.lang.reflect.Constructor
      StackMap stack:
         4: aconst_null
         5: .line 1518
      StackMap locals:
      StackMap stack: java.lang.reflect.Constructor
            areturn
        end local 1 // java.lang.reflect.Constructor cons
         6: .line 1520
      StackMap locals: java.lang.Class
      StackMap stack: java.lang.NoSuchMethodException
            pop
         7: .line 1521
            aconst_null
            areturn
        end local 0 // java.lang.Class cl
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0    cl  Ljava/lang/Class<*>;
            1    6     1  cons  Ljava/lang/reflect/Constructor<*>;
      Exception table:
        from    to  target  type
           0     5       6  Class java.lang.NoSuchMethodException
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/reflect/Constructor<*>;
    MethodParameters:
      Name  Flags
      cl    

  private static boolean superHasAccessibleConstructor(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // java.lang.Class cl
         0: .line 1539
            aload 0 /* cl */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            astore 1 /* superCl */
        start local 1 // java.lang.Class superCl
         1: .line 1540
            getstatic java.io.ObjectStreamClass.$assertionsDisabled:Z
            ifne 2
            ldc Ljava/io/Serializable;
            aload 0 /* cl */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1541
      StackMap locals: java.lang.Class
      StackMap stack:
            getstatic java.io.ObjectStreamClass.$assertionsDisabled:Z
            ifne 3
            aload 1 /* superCl */
            ifnonnull 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 1542
      StackMap locals:
      StackMap stack:
            aload 0 /* cl */
            aload 1 /* superCl */
            invokestatic java.io.ObjectStreamClass.packageEquals:(Ljava/lang/Class;Ljava/lang/Class;)Z
            ifeq 11
         4: .line 1544
            aload 1 /* superCl */
            invokevirtual java.lang.Class.getDeclaredConstructors:()[Ljava/lang/reflect/Constructor;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 9
      StackMap locals: java.lang.Class java.lang.Class top int int java.lang.reflect.Constructor[]
      StackMap stack:
         5: aload 5
            iload 3
            aaload
            astore 2 /* ctor */
        start local 2 // java.lang.reflect.Constructor ctor
         6: .line 1545
            aload 2 /* ctor */
            invokevirtual java.lang.reflect.Constructor.getModifiers:()I
            iconst_2
            iand
            ifne 8
         7: .line 1546
            iconst_1
            ireturn
        end local 2 // java.lang.reflect.Constructor ctor
         8: .line 1544
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         9: iload 3
            iload 4
            if_icmplt 5
        10: .line 1549
            iconst_0
            ireturn
        11: .line 1552
      StackMap locals: java.lang.Class java.lang.Class
      StackMap stack:
            aload 1 /* superCl */
            invokevirtual java.lang.Class.getModifiers:()I
            iconst_5
            iand
            ifne 13
        12: .line 1553
            iconst_0
            ireturn
        13: .line 1556
      StackMap locals:
      StackMap stack:
            aload 1 /* superCl */
            invokevirtual java.lang.Class.getDeclaredConstructors:()[Ljava/lang/reflect/Constructor;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 18
      StackMap locals: java.lang.Class java.lang.Class top int int java.lang.reflect.Constructor[]
      StackMap stack:
        14: aload 5
            iload 3
            aaload
            astore 2 /* ctor */
        start local 2 // java.lang.reflect.Constructor ctor
        15: .line 1557
            aload 2 /* ctor */
            invokevirtual java.lang.reflect.Constructor.getModifiers:()I
            iconst_5
            iand
            ifeq 17
        16: .line 1558
            iconst_1
            ireturn
        end local 2 // java.lang.reflect.Constructor ctor
        17: .line 1556
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
        18: iload 3
            iload 4
            if_icmplt 14
        19: .line 1561
            iconst_0
            ireturn
        end local 1 // java.lang.Class superCl
        end local 0 // java.lang.Class cl
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   20     0       cl  Ljava/lang/Class<*>;
            1   20     1  superCl  Ljava/lang/Class<*>;
            6    8     2     ctor  Ljava/lang/reflect/Constructor<*>;
           15   17     2     ctor  Ljava/lang/reflect/Constructor<*>;
    Signature: (Ljava/lang/Class<*>;)Z
    MethodParameters:
      Name  Flags
      cl    

  private static java.lang.reflect.Constructor<?> getSerializableConstructor(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.Class cl
         0: .line 1571
            aload 0 /* cl */
            astore 1 /* initCl */
        start local 1 // java.lang.Class initCl
         1: .line 1572
            goto 6
         2: .line 1573
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 1 /* initCl */
            astore 2 /* prev */
        start local 2 // java.lang.Class prev
         3: .line 1574
            aload 1 /* initCl */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            dup
            astore 1 /* initCl */
            ifnull 5
         4: .line 1575
            getstatic java.io.ObjectStreamClass.disableSerialConstructorChecks:Z
            ifne 6
            aload 2 /* prev */
            invokestatic java.io.ObjectStreamClass.superHasAccessibleConstructor:(Ljava/lang/Class;)Z
            ifne 6
         5: .line 1576
      StackMap locals: java.lang.Class
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.Class prev
         6: .line 1572
      StackMap locals:
      StackMap stack:
            ldc Ljava/io/Serializable;
            aload 1 /* initCl */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 2
         7: .line 1580
            aload 1 /* initCl */
            aconst_null
            invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 2 /* cons */
        start local 2 // java.lang.reflect.Constructor cons
         8: .line 1581
            aload 2 /* cons */
            invokevirtual java.lang.reflect.Constructor.getModifiers:()I
            istore 3 /* mods */
        start local 3 // int mods
         9: .line 1582
            iload 3 /* mods */
            iconst_2
            iand
            ifne 12
        10: .line 1583
            iload 3 /* mods */
            iconst_5
            iand
            ifne 13
        11: .line 1584
            aload 0 /* cl */
            aload 1 /* initCl */
            invokestatic java.io.ObjectStreamClass.packageEquals:(Ljava/lang/Class;Ljava/lang/Class;)Z
            ifne 13
        12: .line 1586
      StackMap locals: java.lang.reflect.Constructor int
      StackMap stack:
            aconst_null
            areturn
        13: .line 1588
      StackMap locals:
      StackMap stack:
            getstatic java.io.ObjectStreamClass.reflFactory:Lsun/reflect/ReflectionFactory;
            aload 0 /* cl */
            aload 2 /* cons */
            invokevirtual sun.reflect.ReflectionFactory.newConstructorForSerialization:(Ljava/lang/Class;Ljava/lang/reflect/Constructor;)Ljava/lang/reflect/Constructor;
            astore 2 /* cons */
        14: .line 1589
            aload 2 /* cons */
            iconst_1
            invokevirtual java.lang.reflect.Constructor.setAccessible:(Z)V
        15: .line 1590
            aload 2 /* cons */
        16: areturn
        end local 3 // int mods
        end local 2 // java.lang.reflect.Constructor cons
        17: .line 1591
      StackMap locals: java.lang.Class java.lang.Class
      StackMap stack: java.lang.NoSuchMethodException
            pop
        18: .line 1592
            aconst_null
            areturn
        end local 1 // java.lang.Class initCl
        end local 0 // java.lang.Class cl
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   19     0      cl  Ljava/lang/Class<*>;
            1   19     1  initCl  Ljava/lang/Class<*>;
            3    6     2    prev  Ljava/lang/Class<*>;
            8   17     2    cons  Ljava/lang/reflect/Constructor<*>;
            9   17     3    mods  I
      Exception table:
        from    to  target  type
           7    12      17  Class java.lang.NoSuchMethodException
          13    16      17  Class java.lang.NoSuchMethodException
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/reflect/Constructor<*>;
    MethodParameters:
      Name  Flags
      cl    

  private static java.lang.reflect.Method getInheritableMethod(java.lang.Class<?>, java.lang.String, java.lang.Class<?>[], java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/reflect/Method;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // java.lang.Class cl
        start local 1 // java.lang.String name
        start local 2 // java.lang.Class[] argTypes
        start local 3 // java.lang.Class returnType
         0: .line 1606
            aconst_null
            astore 4 /* meth */
        start local 4 // java.lang.reflect.Method meth
         1: .line 1607
            aload 0 /* cl */
            astore 5 /* defCl */
        start local 5 // java.lang.Class defCl
         2: .line 1608
            goto 7
         3: .line 1610
      StackMap locals: java.lang.reflect.Method java.lang.Class
      StackMap stack:
            aload 5 /* defCl */
            aload 1 /* name */
            aload 2 /* argTypes */
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 4 /* meth */
         4: .line 1611
            goto 8
         5: .line 1612
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
         6: .line 1613
            aload 5 /* defCl */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            astore 5 /* defCl */
         7: .line 1608
      StackMap locals:
      StackMap stack:
            aload 5 /* defCl */
            ifnonnull 3
         8: .line 1617
      StackMap locals:
      StackMap stack:
            aload 4 /* meth */
            ifnull 9
            aload 4 /* meth */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            aload 3 /* returnType */
            if_acmpeq 10
         9: .line 1618
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        10: .line 1620
      StackMap locals:
      StackMap stack:
            aload 4 /* meth */
            iconst_1
            invokevirtual java.lang.reflect.Method.setAccessible:(Z)V
        11: .line 1621
            aload 4 /* meth */
            invokevirtual java.lang.reflect.Method.getModifiers:()I
            istore 6 /* mods */
        start local 6 // int mods
        12: .line 1622
            iload 6 /* mods */
            sipush 1032
            iand
            ifeq 14
        13: .line 1623
            aconst_null
            areturn
        14: .line 1624
      StackMap locals: int
      StackMap stack:
            iload 6 /* mods */
            iconst_5
            iand
            ifeq 16
        15: .line 1625
            aload 4 /* meth */
            areturn
        16: .line 1626
      StackMap locals:
      StackMap stack:
            iload 6 /* mods */
            iconst_2
            iand
            ifeq 20
        17: .line 1627
            aload 0 /* cl */
            aload 5 /* defCl */
            if_acmpne 18
            aload 4 /* meth */
            goto 19
      StackMap locals:
      StackMap stack:
        18: aconst_null
      StackMap locals:
      StackMap stack: java.lang.reflect.Method
        19: areturn
        20: .line 1629
      StackMap locals:
      StackMap stack:
            aload 0 /* cl */
            aload 5 /* defCl */
            invokestatic java.io.ObjectStreamClass.packageEquals:(Ljava/lang/Class;Ljava/lang/Class;)Z
            ifeq 21
            aload 4 /* meth */
            goto 22
      StackMap locals:
      StackMap stack:
        21: aconst_null
      StackMap locals:
      StackMap stack: java.lang.reflect.Method
        22: areturn
        end local 6 // int mods
        end local 5 // java.lang.Class defCl
        end local 4 // java.lang.reflect.Method meth
        end local 3 // java.lang.Class returnType
        end local 2 // java.lang.Class[] argTypes
        end local 1 // java.lang.String name
        end local 0 // java.lang.Class cl
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   23     0          cl  Ljava/lang/Class<*>;
            0   23     1        name  Ljava/lang/String;
            0   23     2    argTypes  [Ljava/lang/Class;
            0   23     3  returnType  Ljava/lang/Class<*>;
            1   23     4        meth  Ljava/lang/reflect/Method;
            2   23     5       defCl  Ljava/lang/Class<*>;
           12   23     6        mods  I
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.NoSuchMethodException
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/Class<*>;Ljava/lang/Class<*>;)Ljava/lang/reflect/Method;
    MethodParameters:
            Name  Flags
      cl          
      name        
      argTypes    
      returnType  

  private static java.lang.reflect.Method getPrivateMethod(java.lang.Class<?>, java.lang.String, java.lang.Class<?>[], java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/reflect/Method;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // java.lang.Class cl
        start local 1 // java.lang.String name
        start local 2 // java.lang.Class[] argTypes
        start local 3 // java.lang.Class returnType
         0: .line 1643
            aload 0 /* cl */
            aload 1 /* name */
            aload 2 /* argTypes */
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 4 /* meth */
        start local 4 // java.lang.reflect.Method meth
         1: .line 1644
            aload 4 /* meth */
            iconst_1
            invokevirtual java.lang.reflect.Method.setAccessible:(Z)V
         2: .line 1645
            aload 4 /* meth */
            invokevirtual java.lang.reflect.Method.getModifiers:()I
            istore 5 /* mods */
        start local 5 // int mods
         3: .line 1646
            aload 4 /* meth */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            aload 3 /* returnType */
            if_acmpne 6
         4: .line 1647
            iload 5 /* mods */
            bipush 8
            iand
            ifne 6
         5: .line 1648
            iload 5 /* mods */
            iconst_2
            iand
            ifeq 6
            aload 4 /* meth */
            goto 7
      StackMap locals: java.lang.reflect.Method int
      StackMap stack:
         6: aconst_null
         7: .line 1646
      StackMap locals:
      StackMap stack: java.lang.reflect.Method
            areturn
        end local 5 // int mods
        end local 4 // java.lang.reflect.Method meth
         8: .line 1649
      StackMap locals: java.lang.Class java.lang.String java.lang.Class[] java.lang.Class
      StackMap stack: java.lang.NoSuchMethodException
            pop
         9: .line 1650
            aconst_null
            areturn
        end local 3 // java.lang.Class returnType
        end local 2 // java.lang.Class[] argTypes
        end local 1 // java.lang.String name
        end local 0 // java.lang.Class cl
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0          cl  Ljava/lang/Class<*>;
            0   10     1        name  Ljava/lang/String;
            0   10     2    argTypes  [Ljava/lang/Class;
            0   10     3  returnType  Ljava/lang/Class<*>;
            1    8     4        meth  Ljava/lang/reflect/Method;
            3    8     5        mods  I
      Exception table:
        from    to  target  type
           0     7       8  Class java.lang.NoSuchMethodException
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/Class<*>;Ljava/lang/Class<*>;)Ljava/lang/reflect/Method;
    MethodParameters:
            Name  Flags
      cl          
      name        
      argTypes    
      returnType  

  private static boolean packageEquals(java.lang.Class<?>, java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Class cl1
        start local 1 // java.lang.Class cl2
         0: .line 1659
            aload 0 /* cl1 */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            aload 1 /* cl2 */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            if_acmpne 3
         1: .line 1660
            aload 0 /* cl1 */
            invokestatic java.io.ObjectStreamClass.getPackageName:(Ljava/lang/Class;)Ljava/lang/String;
            aload 1 /* cl2 */
            invokestatic java.io.ObjectStreamClass.getPackageName:(Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 1659
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 1 // java.lang.Class cl2
        end local 0 // java.lang.Class cl1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0   cl1  Ljava/lang/Class<*>;
            0    4     1   cl2  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;)Z
    MethodParameters:
      Name  Flags
      cl1   
      cl2   

  private static java.lang.String getPackageName(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.Class cl
         0: .line 1667
            aload 0 /* cl */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 1 /* s */
        start local 1 // java.lang.String s
         1: .line 1668
            aload 1 /* s */
            bipush 91
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 2 /* i */
        start local 2 // int i
         2: .line 1669
            iload 2 /* i */
            iflt 4
         3: .line 1670
            aload 1 /* s */
            iload 2 /* i */
            iconst_2
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* s */
         4: .line 1672
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 1 /* s */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 2 /* i */
         5: .line 1673
            iload 2 /* i */
            iflt 6
            aload 1 /* s */
            iconst_0
            iload 2 /* i */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            goto 7
      StackMap locals:
      StackMap stack:
         6: ldc ""
      StackMap locals:
      StackMap stack: java.lang.String
         7: areturn
        end local 2 // int i
        end local 1 // java.lang.String s
        end local 0 // java.lang.Class cl
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0    cl  Ljava/lang/Class<*>;
            1    8     1     s  Ljava/lang/String;
            2    8     2     i  I
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
    MethodParameters:
      Name  Flags
      cl    

  private static boolean classNamesEqual(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String name1
        start local 1 // java.lang.String name2
         0: .line 1681
            aload 0 /* name1 */
            aload 0 /* name1 */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 0 /* name1 */
         1: .line 1682
            aload 1 /* name2 */
            aload 1 /* name2 */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* name2 */
         2: .line 1683
            aload 0 /* name1 */
            aload 1 /* name2 */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.String name2
        end local 0 // java.lang.String name1
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  name1  Ljava/lang/String;
            0    3     1  name2  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      name1  
      name2  

  private static java.lang.String getClassSignature(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.Class cl
         0: .line 1690
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sbuf */
        start local 1 // java.lang.StringBuilder sbuf
         1: .line 1691
            goto 4
         2: .line 1692
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 1 /* sbuf */
            bipush 91
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         3: .line 1693
            aload 0 /* cl */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 0 /* cl */
         4: .line 1691
      StackMap locals:
      StackMap stack:
            aload 0 /* cl */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 2
         5: .line 1695
            aload 0 /* cl */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 34
         6: .line 1696
            aload 0 /* cl */
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            if_acmpne 9
         7: .line 1697
            aload 1 /* sbuf */
            bipush 73
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         8: .line 1698
            goto 35
      StackMap locals:
      StackMap stack:
         9: aload 0 /* cl */
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
            if_acmpne 12
        10: .line 1699
            aload 1 /* sbuf */
            bipush 66
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        11: .line 1700
            goto 35
      StackMap locals:
      StackMap stack:
        12: aload 0 /* cl */
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            if_acmpne 15
        13: .line 1701
            aload 1 /* sbuf */
            bipush 74
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        14: .line 1702
            goto 35
      StackMap locals:
      StackMap stack:
        15: aload 0 /* cl */
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            if_acmpne 18
        16: .line 1703
            aload 1 /* sbuf */
            bipush 70
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        17: .line 1704
            goto 35
      StackMap locals:
      StackMap stack:
        18: aload 0 /* cl */
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            if_acmpne 21
        19: .line 1705
            aload 1 /* sbuf */
            bipush 68
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        20: .line 1706
            goto 35
      StackMap locals:
      StackMap stack:
        21: aload 0 /* cl */
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
            if_acmpne 24
        22: .line 1707
            aload 1 /* sbuf */
            bipush 83
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        23: .line 1708
            goto 35
      StackMap locals:
      StackMap stack:
        24: aload 0 /* cl */
            getstatic java.lang.Character.TYPE:Ljava/lang/Class;
            if_acmpne 27
        25: .line 1709
            aload 1 /* sbuf */
            bipush 67
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        26: .line 1710
            goto 35
      StackMap locals:
      StackMap stack:
        27: aload 0 /* cl */
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            if_acmpne 30
        28: .line 1711
            aload 1 /* sbuf */
            bipush 90
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        29: .line 1712
            goto 35
      StackMap locals:
      StackMap stack:
        30: aload 0 /* cl */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 33
        31: .line 1713
            aload 1 /* sbuf */
            bipush 86
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        32: .line 1714
            goto 35
        33: .line 1715
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
        34: .line 1718
      StackMap locals:
      StackMap stack:
            aload 1 /* sbuf */
            new java.lang.StringBuilder
            dup
            bipush 76
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* cl */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 59
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        35: .line 1720
      StackMap locals:
      StackMap stack:
            aload 1 /* sbuf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sbuf
        end local 0 // java.lang.Class cl
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   36     0    cl  Ljava/lang/Class<*>;
            1   36     1  sbuf  Ljava/lang/StringBuilder;
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
    MethodParameters:
      Name  Flags
      cl    

  private static java.lang.String getMethodSignature(java.lang.Class<?>[], java.lang.Class<?>);
    descriptor: ([Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.Class[] paramTypes
        start local 1 // java.lang.Class retType
         0: .line 1729
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* sbuf */
        start local 2 // java.lang.StringBuilder sbuf
         1: .line 1730
            aload 2 /* sbuf */
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         2: .line 1731
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 1732
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 2 /* sbuf */
            aload 0 /* paramTypes */
            iload 3 /* i */
            aaload
            invokestatic java.io.ObjectStreamClass.getClassSignature:(Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 1731
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 0 /* paramTypes */
            arraylength
            if_icmplt 4
        end local 3 // int i
         7: .line 1734
            aload 2 /* sbuf */
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         8: .line 1735
            aload 2 /* sbuf */
            aload 1 /* retType */
            invokestatic java.io.ObjectStreamClass.getClassSignature:(Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 1736
            aload 2 /* sbuf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder sbuf
        end local 1 // java.lang.Class retType
        end local 0 // java.lang.Class[] paramTypes
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0  paramTypes  [Ljava/lang/Class;
            0   10     1     retType  Ljava/lang/Class<*>;
            1   10     2        sbuf  Ljava/lang/StringBuilder;
            3    7     3           i  I
    Signature: ([Ljava/lang/Class<*>;Ljava/lang/Class<*>;)Ljava/lang/String;
    MethodParameters:
            Name  Flags
      paramTypes  
      retType     

  private static void throwMiscException(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.Throwable th
         0: .line 1745
            aload 0 /* th */
            instanceof java.lang.RuntimeException
            ifeq 2
         1: .line 1746
            aload 0 /* th */
            checkcast java.lang.RuntimeException
            athrow
         2: .line 1747
      StackMap locals:
      StackMap stack:
            aload 0 /* th */
            instanceof java.lang.Error
            ifeq 4
         3: .line 1748
            aload 0 /* th */
            checkcast java.lang.Error
            athrow
         4: .line 1750
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            ldc "unexpected exception type"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            astore 1 /* ex */
        start local 1 // java.io.IOException ex
         5: .line 1751
            aload 1 /* ex */
            aload 0 /* th */
            invokevirtual java.io.IOException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         6: .line 1752
            aload 1 /* ex */
            athrow
        end local 1 // java.io.IOException ex
        end local 0 // java.lang.Throwable th
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0    th  Ljava/lang/Throwable;
            5    7     1    ex  Ljava/io/IOException;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      th    

  private static java.io.ObjectStreamField[] getSerialFields(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)[Ljava/io/ObjectStreamField;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Class cl
         0: .line 1767
            ldc Ljava/io/Serializable;
            aload 0 /* cl */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 9
         1: .line 1768
            ldc Ljava/io/Externalizable;
            aload 0 /* cl */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 9
         2: .line 1769
            aload 0 /* cl */
            invokestatic java.lang.reflect.Proxy.isProxyClass:(Ljava/lang/Class;)Z
            ifne 9
         3: .line 1770
            aload 0 /* cl */
            invokevirtual java.lang.Class.isInterface:()Z
            ifne 9
         4: .line 1772
            aload 0 /* cl */
            invokestatic java.io.ObjectStreamClass.getDeclaredSerialFields:(Ljava/lang/Class;)[Ljava/io/ObjectStreamField;
            dup
            astore 1 /* fields */
        start local 1 // java.io.ObjectStreamField[] fields
         5: ifnonnull 7
         6: .line 1773
            aload 0 /* cl */
            invokestatic java.io.ObjectStreamClass.getDefaultSerialFields:(Ljava/lang/Class;)[Ljava/io/ObjectStreamField;
            astore 1 /* fields */
         7: .line 1775
      StackMap locals: java.io.ObjectStreamField[]
      StackMap stack:
            aload 1 /* fields */
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;)V
         8: .line 1776
            goto 10
        end local 1 // java.io.ObjectStreamField[] fields
         9: .line 1777
      StackMap locals:
      StackMap stack:
            getstatic java.io.ObjectStreamClass.NO_FIELDS:[Ljava/io/ObjectStreamField;
            astore 1 /* fields */
        start local 1 // java.io.ObjectStreamField[] fields
        10: .line 1779
      StackMap locals: java.io.ObjectStreamField[]
      StackMap stack:
            aload 1 /* fields */
            areturn
        end local 1 // java.io.ObjectStreamField[] fields
        end local 0 // java.lang.Class cl
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0      cl  Ljava/lang/Class<*>;
            5    9     1  fields  [Ljava/io/ObjectStreamField;
           10   11     1  fields  [Ljava/io/ObjectStreamField;
    Exceptions:
      throws java.io.InvalidClassException
    Signature: (Ljava/lang/Class<*>;)[Ljava/io/ObjectStreamField;
    MethodParameters:
      Name  Flags
      cl    

  private static java.io.ObjectStreamField[] getDeclaredSerialFields(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)[Ljava/io/ObjectStreamField;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=8, args_size=1
        start local 0 // java.lang.Class cl
         0: .line 1796
            aconst_null
            astore 1 /* serialPersistentFields */
        start local 1 // java.io.ObjectStreamField[] serialPersistentFields
         1: .line 1798
            aload 0 /* cl */
            ldc "serialPersistentFields"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            astore 2 /* f */
        start local 2 // java.lang.reflect.Field f
         2: .line 1799
            bipush 26
            istore 3 /* mask */
        start local 3 // int mask
         3: .line 1800
            aload 2 /* f */
            invokevirtual java.lang.reflect.Field.getModifiers:()I
            iload 3 /* mask */
            iand
            iload 3 /* mask */
            if_icmpne 8
         4: .line 1801
            aload 2 /* f */
            iconst_1
            invokevirtual java.lang.reflect.Field.setAccessible:(Z)V
         5: .line 1802
            aload 2 /* f */
            aconst_null
            invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.io.ObjectStreamField[]
            astore 1 /* serialPersistentFields */
        end local 3 // int mask
        end local 2 // java.lang.reflect.Field f
         6: .line 1804
            goto 8
      StackMap locals: java.lang.Class java.io.ObjectStreamField[]
      StackMap stack: java.lang.Exception
         7: pop
         8: .line 1806
      StackMap locals:
      StackMap stack:
            aload 1 /* serialPersistentFields */
            ifnonnull 10
         9: .line 1807
            aconst_null
            areturn
        10: .line 1808
      StackMap locals:
      StackMap stack:
            aload 1 /* serialPersistentFields */
            arraylength
            ifne 12
        11: .line 1809
            getstatic java.io.ObjectStreamClass.NO_FIELDS:[Ljava/io/ObjectStreamField;
            areturn
        12: .line 1813
      StackMap locals:
      StackMap stack:
            aload 1 /* serialPersistentFields */
            arraylength
            anewarray java.io.ObjectStreamField
        13: .line 1812
            astore 2 /* boundFields */
        start local 2 // java.io.ObjectStreamField[] boundFields
        14: .line 1814
            new java.util.HashSet
            dup
            aload 1 /* serialPersistentFields */
            arraylength
            invokespecial java.util.HashSet.<init>:(I)V
            astore 3 /* fieldNames */
        start local 3 // java.util.Set fieldNames
        15: .line 1816
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        16: goto 37
        17: .line 1817
      StackMap locals: java.io.ObjectStreamField[] java.util.Set int
      StackMap stack:
            aload 1 /* serialPersistentFields */
            iload 4 /* i */
            aaload
            astore 5 /* spf */
        start local 5 // java.io.ObjectStreamField spf
        18: .line 1819
            aload 5 /* spf */
            invokevirtual java.io.ObjectStreamField.getName:()Ljava/lang/String;
            astore 6 /* fname */
        start local 6 // java.lang.String fname
        19: .line 1820
            aload 3 /* fieldNames */
            aload 6 /* fname */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 23
        20: .line 1821
            new java.io.InvalidClassException
            dup
        21: .line 1822
            new java.lang.StringBuilder
            dup
            ldc "multiple serializable fields named "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* fname */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 1821
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 1824
      StackMap locals: java.io.ObjectStreamField java.lang.String
      StackMap stack:
            aload 3 /* fieldNames */
            aload 6 /* fname */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        24: .line 1827
            aload 0 /* cl */
            aload 6 /* fname */
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            astore 7 /* f */
        start local 7 // java.lang.reflect.Field f
        25: .line 1828
            aload 7 /* f */
            invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
            aload 5 /* spf */
            invokevirtual java.io.ObjectStreamField.getType:()Ljava/lang/Class;
            if_acmpne 32
        26: .line 1829
            aload 7 /* f */
            invokevirtual java.lang.reflect.Field.getModifiers:()I
            bipush 8
            iand
            ifne 32
        27: .line 1831
            aload 2 /* boundFields */
            iload 4 /* i */
        28: .line 1832
            new java.io.ObjectStreamField
            dup
            aload 7 /* f */
            aload 5 /* spf */
            invokevirtual java.io.ObjectStreamField.isUnshared:()Z
            iconst_1
            invokespecial java.io.ObjectStreamField.<init>:(Ljava/lang/reflect/Field;ZZ)V
        29: .line 1831
            aastore
        end local 7 // java.lang.reflect.Field f
        30: .line 1834
            goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldException
        31: pop
        32: .line 1836
      StackMap locals:
      StackMap stack:
            aload 2 /* boundFields */
            iload 4 /* i */
            aaload
            ifnonnull 36
        33: .line 1837
            aload 2 /* boundFields */
            iload 4 /* i */
            new java.io.ObjectStreamField
            dup
        34: .line 1838
            aload 6 /* fname */
            aload 5 /* spf */
            invokevirtual java.io.ObjectStreamField.getType:()Ljava/lang/Class;
            aload 5 /* spf */
            invokevirtual java.io.ObjectStreamField.isUnshared:()Z
            invokespecial java.io.ObjectStreamField.<init>:(Ljava/lang/String;Ljava/lang/Class;Z)V
        35: .line 1837
            aastore
        end local 6 // java.lang.String fname
        end local 5 // java.io.ObjectStreamField spf
        36: .line 1816
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        37: iload 4 /* i */
            aload 1 /* serialPersistentFields */
            arraylength
            if_icmplt 17
        end local 4 // int i
        38: .line 1841
            aload 2 /* boundFields */
            areturn
        end local 3 // java.util.Set fieldNames
        end local 2 // java.io.ObjectStreamField[] boundFields
        end local 1 // java.io.ObjectStreamField[] serialPersistentFields
        end local 0 // java.lang.Class cl
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   39     0                      cl  Ljava/lang/Class<*>;
            1   39     1  serialPersistentFields  [Ljava/io/ObjectStreamField;
            2    6     2                       f  Ljava/lang/reflect/Field;
            3    6     3                    mask  I
           14   39     2             boundFields  [Ljava/io/ObjectStreamField;
           15   39     3              fieldNames  Ljava/util/Set<Ljava/lang/String;>;
           16   38     4                       i  I
           18   36     5                     spf  Ljava/io/ObjectStreamField;
           19   36     6                   fname  Ljava/lang/String;
           25   30     7                       f  Ljava/lang/reflect/Field;
      Exception table:
        from    to  target  type
           1     6       7  Class java.lang.Exception
          24    30      31  Class java.lang.NoSuchFieldException
    Exceptions:
      throws java.io.InvalidClassException
    Signature: (Ljava/lang/Class<*>;)[Ljava/io/ObjectStreamField;
    MethodParameters:
      Name  Flags
      cl    

  private static java.io.ObjectStreamField[] getDefaultSerialFields(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)[Ljava/io/ObjectStreamField;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // java.lang.Class cl
         0: .line 1851
            aload 0 /* cl */
            invokevirtual java.lang.Class.getDeclaredFields:()[Ljava/lang/reflect/Field;
            astore 1 /* clFields */
        start local 1 // java.lang.reflect.Field[] clFields
         1: .line 1852
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* list */
        start local 2 // java.util.ArrayList list
         2: .line 1853
            sipush 136
            istore 3 /* mask */
        start local 3 // int mask
         3: .line 1855
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 8
         5: .line 1856
      StackMap locals: java.lang.Class java.lang.reflect.Field[] java.util.ArrayList int int
      StackMap stack:
            aload 1 /* clFields */
            iload 4 /* i */
            aaload
            invokevirtual java.lang.reflect.Field.getModifiers:()I
            iload 3 /* mask */
            iand
            ifne 7
         6: .line 1857
            aload 2 /* list */
            new java.io.ObjectStreamField
            dup
            aload 1 /* clFields */
            iload 4 /* i */
            aaload
            iconst_0
            iconst_1
            invokespecial java.io.ObjectStreamField.<init>:(Ljava/lang/reflect/Field;ZZ)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         7: .line 1855
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            aload 1 /* clFields */
            arraylength
            if_icmplt 5
        end local 4 // int i
         9: .line 1860
            aload 2 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 4 /* size */
        start local 4 // int size
        10: .line 1861
            iload 4 /* size */
            ifne 11
            getstatic java.io.ObjectStreamClass.NO_FIELDS:[Ljava/io/ObjectStreamField;
            goto 12
        11: .line 1862
      StackMap locals:
      StackMap stack:
            aload 2 /* list */
            iload 4 /* size */
            anewarray java.io.ObjectStreamField
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.io.ObjectStreamField[]
        12: .line 1861
      StackMap locals:
      StackMap stack: java.io.ObjectStreamField[]
            areturn
        end local 4 // int size
        end local 3 // int mask
        end local 2 // java.util.ArrayList list
        end local 1 // java.lang.reflect.Field[] clFields
        end local 0 // java.lang.Class cl
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0        cl  Ljava/lang/Class<*>;
            1   13     1  clFields  [Ljava/lang/reflect/Field;
            2   13     2      list  Ljava/util/ArrayList<Ljava/io/ObjectStreamField;>;
            3   13     3      mask  I
            4    9     4         i  I
           10   13     4      size  I
    Signature: (Ljava/lang/Class<*>;)[Ljava/io/ObjectStreamField;
    MethodParameters:
      Name  Flags
      cl    

  private static java.lang.Long getDeclaredSUID(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Long;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.Class cl
         0: .line 1871
            aload 0 /* cl */
            ldc "serialVersionUID"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            astore 1 /* f */
        start local 1 // java.lang.reflect.Field f
         1: .line 1872
            bipush 24
            istore 2 /* mask */
        start local 2 // int mask
         2: .line 1873
            aload 1 /* f */
            invokevirtual java.lang.reflect.Field.getModifiers:()I
            iload 2 /* mask */
            iand
            iload 2 /* mask */
            if_icmpne 7
         3: .line 1874
            aload 1 /* f */
            iconst_1
            invokevirtual java.lang.reflect.Field.setAccessible:(Z)V
         4: .line 1875
            aload 1 /* f */
            aconst_null
            invokevirtual java.lang.reflect.Field.getLong:(Ljava/lang/Object;)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
         5: areturn
        end local 2 // int mask
        end local 1 // java.lang.reflect.Field f
         6: .line 1877
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         7: .line 1879
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.Class cl
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0    cl  Ljava/lang/Class<*>;
            1    6     1     f  Ljava/lang/reflect/Field;
            2    6     2  mask  I
      Exception table:
        from    to  target  type
           0     5       6  Class java.lang.Exception
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/Long;
    MethodParameters:
      Name  Flags
      cl    

  private static long computeDefaultSUID(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=15, args_size=1
        start local 0 // java.lang.Class cl
         0: .line 1886
            ldc Ljava/io/Serializable;
            aload 0 /* cl */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 1
            aload 0 /* cl */
            invokestatic java.lang.reflect.Proxy.isProxyClass:(Ljava/lang/Class;)Z
            ifeq 2
         1: .line 1888
      StackMap locals:
      StackMap stack:
            lconst_0
            lreturn
         2: .line 1892
      StackMap locals:
      StackMap stack:
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 1 /* bout */
        start local 1 // java.io.ByteArrayOutputStream bout
         3: .line 1893
            new java.io.DataOutputStream
            dup
            aload 1 /* bout */
            invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
            astore 2 /* dout */
        start local 2 // java.io.DataOutputStream dout
         4: .line 1895
            aload 2 /* dout */
            aload 0 /* cl */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
         5: .line 1897
            aload 0 /* cl */
            invokevirtual java.lang.Class.getModifiers:()I
         6: .line 1898
            sipush 1553
         7: .line 1897
            iand
            istore 3 /* classMods */
        start local 3 // int classMods
         8: .line 1905
            aload 0 /* cl */
            invokevirtual java.lang.Class.getDeclaredMethods:()[Ljava/lang/reflect/Method;
            astore 4 /* methods */
        start local 4 // java.lang.reflect.Method[] methods
         9: .line 1906
            iload 3 /* classMods */
            sipush 512
            iand
            ifeq 14
        10: .line 1907
            aload 4 /* methods */
            arraylength
            ifle 12
        11: .line 1908
            iload 3 /* classMods */
            sipush 1024
            ior
            goto 13
        12: .line 1909
      StackMap locals: java.lang.Class java.io.ByteArrayOutputStream java.io.DataOutputStream int java.lang.reflect.Method[]
      StackMap stack:
            iload 3 /* classMods */
            sipush -1025
            iand
        13: .line 1907
      StackMap locals:
      StackMap stack: int
            istore 3 /* classMods */
        14: .line 1911
      StackMap locals:
      StackMap stack:
            aload 2 /* dout */
            iload 3 /* classMods */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        15: .line 1913
            aload 0 /* cl */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 29
        16: .line 1919
            aload 0 /* cl */
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
            astore 5 /* interfaces */
        start local 5 // java.lang.Class[] interfaces
        17: .line 1920
            aload 5 /* interfaces */
            arraylength
            anewarray java.lang.String
            astore 6 /* ifaceNames */
        start local 6 // java.lang.String[] ifaceNames
        18: .line 1921
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        19: goto 22
        20: .line 1922
      StackMap locals: java.lang.Class[] java.lang.String[] int
      StackMap stack:
            aload 6 /* ifaceNames */
            iload 7 /* i */
            aload 5 /* interfaces */
            iload 7 /* i */
            aaload
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
        21: .line 1921
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 7 /* i */
            aload 5 /* interfaces */
            arraylength
            if_icmplt 20
        end local 7 // int i
        23: .line 1924
            aload 6 /* ifaceNames */
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;)V
        24: .line 1925
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        25: goto 28
        26: .line 1926
      StackMap locals:
      StackMap stack:
            aload 2 /* dout */
            aload 6 /* ifaceNames */
            iload 7 /* i */
            aaload
            invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
        27: .line 1925
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 7 /* i */
            aload 6 /* ifaceNames */
            arraylength
            if_icmplt 26
        end local 7 // int i
        end local 6 // java.lang.String[] ifaceNames
        end local 5 // java.lang.Class[] interfaces
        29: .line 1930
      StackMap locals:
      StackMap stack:
            aload 0 /* cl */
            invokevirtual java.lang.Class.getDeclaredFields:()[Ljava/lang/reflect/Field;
            astore 5 /* fields */
        start local 5 // java.lang.reflect.Field[] fields
        30: .line 1931
            aload 5 /* fields */
            arraylength
            anewarray java.io.ObjectStreamClass$MemberSignature
            astore 6 /* fieldSigs */
        start local 6 // java.io.ObjectStreamClass$MemberSignature[] fieldSigs
        31: .line 1932
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        32: goto 35
        33: .line 1933
      StackMap locals: java.lang.reflect.Field[] java.io.ObjectStreamClass$MemberSignature[] int
      StackMap stack:
            aload 6 /* fieldSigs */
            iload 7 /* i */
            new java.io.ObjectStreamClass$MemberSignature
            dup
            aload 5 /* fields */
            iload 7 /* i */
            aaload
            invokespecial java.io.ObjectStreamClass$MemberSignature.<init>:(Ljava/lang/reflect/Field;)V
            aastore
        34: .line 1932
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        35: iload 7 /* i */
            aload 5 /* fields */
            arraylength
            if_icmplt 33
        end local 7 // int i
        36: .line 1935
            aload 6 /* fieldSigs */
            new java.io.ObjectStreamClass$4
            dup
            invokespecial java.io.ObjectStreamClass$4.<init>:()V
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
        37: .line 1940
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        38: goto 49
        39: .line 1941
      StackMap locals:
      StackMap stack:
            aload 6 /* fieldSigs */
            iload 7 /* i */
            aaload
            astore 8 /* sig */
        start local 8 // java.io.ObjectStreamClass$MemberSignature sig
        40: .line 1942
            aload 8 /* sig */
            getfield java.io.ObjectStreamClass$MemberSignature.member:Ljava/lang/reflect/Member;
            invokeinterface java.lang.reflect.Member.getModifiers:()I
        41: .line 1943
            sipush 223
        42: .line 1942
            iand
            istore 9 /* mods */
        start local 9 // int mods
        43: .line 1946
            iload 9 /* mods */
            iconst_2
            iand
            ifeq 45
        44: .line 1947
            iload 9 /* mods */
            sipush 136
            iand
            ifne 48
        45: .line 1949
      StackMap locals: java.io.ObjectStreamClass$MemberSignature int
      StackMap stack:
            aload 2 /* dout */
            aload 8 /* sig */
            getfield java.io.ObjectStreamClass$MemberSignature.name:Ljava/lang/String;
            invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
        46: .line 1950
            aload 2 /* dout */
            iload 9 /* mods */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        47: .line 1951
            aload 2 /* dout */
            aload 8 /* sig */
            getfield java.io.ObjectStreamClass$MemberSignature.signature:Ljava/lang/String;
            invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
        end local 9 // int mods
        end local 8 // java.io.ObjectStreamClass$MemberSignature sig
        48: .line 1940
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        49: iload 7 /* i */
            aload 6 /* fieldSigs */
            arraylength
            if_icmplt 39
        end local 7 // int i
        50: .line 1955
            aload 0 /* cl */
            invokestatic java.io.ObjectStreamClass.hasStaticInitializer:(Ljava/lang/Class;)Z
            ifeq 54
        51: .line 1956
            aload 2 /* dout */
            ldc "<clinit>"
            invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
        52: .line 1957
            aload 2 /* dout */
            bipush 8
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        53: .line 1958
            aload 2 /* dout */
            ldc "()V"
            invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
        54: .line 1961
      StackMap locals:
      StackMap stack:
            aload 0 /* cl */
            invokevirtual java.lang.Class.getDeclaredConstructors:()[Ljava/lang/reflect/Constructor;
            astore 7 /* cons */
        start local 7 // java.lang.reflect.Constructor[] cons
        55: .line 1962
            aload 7 /* cons */
            arraylength
            anewarray java.io.ObjectStreamClass$MemberSignature
            astore 8 /* consSigs */
        start local 8 // java.io.ObjectStreamClass$MemberSignature[] consSigs
        56: .line 1963
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        57: goto 60
        58: .line 1964
      StackMap locals: java.lang.reflect.Constructor[] java.io.ObjectStreamClass$MemberSignature[] int
      StackMap stack:
            aload 8 /* consSigs */
            iload 9 /* i */
            new java.io.ObjectStreamClass$MemberSignature
            dup
            aload 7 /* cons */
            iload 9 /* i */
            aaload
            invokespecial java.io.ObjectStreamClass$MemberSignature.<init>:(Ljava/lang/reflect/Constructor;)V
            aastore
        59: .line 1963
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        60: iload 9 /* i */
            aload 7 /* cons */
            arraylength
            if_icmplt 58
        end local 9 // int i
        61: .line 1966
            aload 8 /* consSigs */
            new java.io.ObjectStreamClass$5
            dup
            invokespecial java.io.ObjectStreamClass$5.<init>:()V
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
        62: .line 1971
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        63: goto 73
        64: .line 1972
      StackMap locals:
      StackMap stack:
            aload 8 /* consSigs */
            iload 9 /* i */
            aaload
            astore 10 /* sig */
        start local 10 // java.io.ObjectStreamClass$MemberSignature sig
        65: .line 1973
            aload 10 /* sig */
            getfield java.io.ObjectStreamClass$MemberSignature.member:Ljava/lang/reflect/Member;
            invokeinterface java.lang.reflect.Member.getModifiers:()I
        66: .line 1974
            sipush 3391
        67: .line 1973
            iand
            istore 11 /* mods */
        start local 11 // int mods
        68: .line 1978
            iload 11 /* mods */
            iconst_2
            iand
            ifne 72
        69: .line 1979
            aload 2 /* dout */
            ldc "<init>"
            invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
        70: .line 1980
            aload 2 /* dout */
            iload 11 /* mods */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        71: .line 1981
            aload 2 /* dout */
            aload 10 /* sig */
            getfield java.io.ObjectStreamClass$MemberSignature.signature:Ljava/lang/String;
            bipush 47
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
        end local 11 // int mods
        end local 10 // java.io.ObjectStreamClass$MemberSignature sig
        72: .line 1971
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        73: iload 9 /* i */
            aload 8 /* consSigs */
            arraylength
            if_icmplt 64
        end local 9 // int i
        74: .line 1985
            aload 4 /* methods */
            arraylength
            anewarray java.io.ObjectStreamClass$MemberSignature
            astore 9 /* methSigs */
        start local 9 // java.io.ObjectStreamClass$MemberSignature[] methSigs
        75: .line 1986
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        76: goto 79
        77: .line 1987
      StackMap locals: java.lang.Class java.io.ByteArrayOutputStream java.io.DataOutputStream int java.lang.reflect.Method[] java.lang.reflect.Field[] java.io.ObjectStreamClass$MemberSignature[] java.lang.reflect.Constructor[] java.io.ObjectStreamClass$MemberSignature[] java.io.ObjectStreamClass$MemberSignature[] int
      StackMap stack:
            aload 9 /* methSigs */
            iload 10 /* i */
            new java.io.ObjectStreamClass$MemberSignature
            dup
            aload 4 /* methods */
            iload 10 /* i */
            aaload
            invokespecial java.io.ObjectStreamClass$MemberSignature.<init>:(Ljava/lang/reflect/Method;)V
            aastore
        78: .line 1986
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        79: iload 10 /* i */
            aload 4 /* methods */
            arraylength
            if_icmplt 77
        end local 10 // int i
        80: .line 1989
            aload 9 /* methSigs */
            new java.io.ObjectStreamClass$6
            dup
            invokespecial java.io.ObjectStreamClass$6.<init>:()V
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
        81: .line 1998
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        82: goto 92
        83: .line 1999
      StackMap locals:
      StackMap stack:
            aload 9 /* methSigs */
            iload 10 /* i */
            aaload
            astore 11 /* sig */
        start local 11 // java.io.ObjectStreamClass$MemberSignature sig
        84: .line 2000
            aload 11 /* sig */
            getfield java.io.ObjectStreamClass$MemberSignature.member:Ljava/lang/reflect/Member;
            invokeinterface java.lang.reflect.Member.getModifiers:()I
        85: .line 2001
            sipush 3391
        86: .line 2000
            iand
            istore 12 /* mods */
        start local 12 // int mods
        87: .line 2005
            iload 12 /* mods */
            iconst_2
            iand
            ifne 91
        88: .line 2006
            aload 2 /* dout */
            aload 11 /* sig */
            getfield java.io.ObjectStreamClass$MemberSignature.name:Ljava/lang/String;
            invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
        89: .line 2007
            aload 2 /* dout */
            iload 12 /* mods */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        90: .line 2008
            aload 2 /* dout */
            aload 11 /* sig */
            getfield java.io.ObjectStreamClass$MemberSignature.signature:Ljava/lang/String;
            bipush 47
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
        end local 12 // int mods
        end local 11 // java.io.ObjectStreamClass$MemberSignature sig
        91: .line 1998
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        92: iload 10 /* i */
            aload 9 /* methSigs */
            arraylength
            if_icmplt 83
        end local 10 // int i
        93: .line 2012
            aload 2 /* dout */
            invokevirtual java.io.DataOutputStream.flush:()V
        94: .line 2014
            ldc "SHA"
            invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
            astore 10 /* md */
        start local 10 // java.security.MessageDigest md
        95: .line 2015
            aload 10 /* md */
            aload 1 /* bout */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokevirtual java.security.MessageDigest.digest:([B)[B
            astore 11 /* hashBytes */
        start local 11 // byte[] hashBytes
        96: .line 2016
            lconst_0
            lstore 12 /* hash */
        start local 12 // long hash
        97: .line 2017
            aload 11 /* hashBytes */
            arraylength
            bipush 8
            invokestatic java.lang.Math.min:(II)I
            iconst_1
            isub
            istore 14 /* i */
        start local 14 // int i
        98: goto 101
        99: .line 2018
      StackMap locals: java.lang.Class java.io.ByteArrayOutputStream java.io.DataOutputStream int java.lang.reflect.Method[] java.lang.reflect.Field[] java.io.ObjectStreamClass$MemberSignature[] java.lang.reflect.Constructor[] java.io.ObjectStreamClass$MemberSignature[] java.io.ObjectStreamClass$MemberSignature[] java.security.MessageDigest byte[] long int
      StackMap stack:
            lload 12 /* hash */
            bipush 8
            lshl
            aload 11 /* hashBytes */
            iload 14 /* i */
            baload
            sipush 255
            iand
            i2l
            lor
            lstore 12 /* hash */
       100: .line 2017
            iinc 14 /* i */ -1
      StackMap locals:
      StackMap stack:
       101: iload 14 /* i */
            ifge 99
        end local 14 // int i
       102: .line 2020
            lload 12 /* hash */
       103: lreturn
        end local 12 // long hash
        end local 11 // byte[] hashBytes
        end local 10 // java.security.MessageDigest md
        end local 9 // java.io.ObjectStreamClass$MemberSignature[] methSigs
        end local 8 // java.io.ObjectStreamClass$MemberSignature[] consSigs
        end local 7 // java.lang.reflect.Constructor[] cons
        end local 6 // java.io.ObjectStreamClass$MemberSignature[] fieldSigs
        end local 5 // java.lang.reflect.Field[] fields
        end local 4 // java.lang.reflect.Method[] methods
        end local 3 // int classMods
        end local 2 // java.io.DataOutputStream dout
        end local 1 // java.io.ByteArrayOutputStream bout
       104: .line 2021
      StackMap locals: java.lang.Class
      StackMap stack: java.io.IOException
            astore 1 /* ex */
        start local 1 // java.io.IOException ex
       105: .line 2022
            new java.lang.InternalError
            dup
            aload 1 /* ex */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.io.IOException ex
       106: .line 2023
      StackMap locals:
      StackMap stack: java.security.NoSuchAlgorithmException
            astore 1 /* ex */
        start local 1 // java.security.NoSuchAlgorithmException ex
       107: .line 2024
            new java.lang.SecurityException
            dup
            aload 1 /* ex */
            invokevirtual java.security.NoSuchAlgorithmException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.security.NoSuchAlgorithmException ex
        end local 0 // java.lang.Class cl
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0  108     0          cl  Ljava/lang/Class<*>;
            3  104     1        bout  Ljava/io/ByteArrayOutputStream;
            4  104     2        dout  Ljava/io/DataOutputStream;
            8  104     3   classMods  I
            9  104     4     methods  [Ljava/lang/reflect/Method;
           17   29     5  interfaces  [Ljava/lang/Class;
           18   29     6  ifaceNames  [Ljava/lang/String;
           19   23     7           i  I
           25   29     7           i  I
           30  104     5      fields  [Ljava/lang/reflect/Field;
           31  104     6   fieldSigs  [Ljava/io/ObjectStreamClass$MemberSignature;
           32   36     7           i  I
           38   50     7           i  I
           40   48     8         sig  Ljava/io/ObjectStreamClass$MemberSignature;
           43   48     9        mods  I
           55  104     7        cons  [Ljava/lang/reflect/Constructor;
           56  104     8    consSigs  [Ljava/io/ObjectStreamClass$MemberSignature;
           57   61     9           i  I
           63   74     9           i  I
           65   72    10         sig  Ljava/io/ObjectStreamClass$MemberSignature;
           68   72    11        mods  I
           75  104     9    methSigs  [Ljava/io/ObjectStreamClass$MemberSignature;
           76   80    10           i  I
           82   93    10           i  I
           84   91    11         sig  Ljava/io/ObjectStreamClass$MemberSignature;
           87   91    12        mods  I
           95  104    10          md  Ljava/security/MessageDigest;
           96  104    11   hashBytes  [B
           97  104    12        hash  J
           98  102    14           i  I
          105  106     1          ex  Ljava/io/IOException;
          107  108     1          ex  Ljava/security/NoSuchAlgorithmException;
      Exception table:
        from    to  target  type
           2   103     104  Class java.io.IOException
           2   103     106  Class java.security.NoSuchAlgorithmException
    Signature: (Ljava/lang/Class<*>;)J
    MethodParameters:
      Name  Flags
      cl    

  private static native boolean hasStaticInitializer(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    Signature: (Ljava/lang/Class<*>;)Z
    MethodParameters:
      Name  Flags
      cl    

  private static java.io.ObjectStreamClass$FieldReflector getReflector(java.io.ObjectStreamField[], java.io.ObjectStreamClass);
    descriptor: ([Ljava/io/ObjectStreamField;Ljava/io/ObjectStreamClass;)Ljava/io/ObjectStreamClass$FieldReflector;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // java.io.ObjectStreamField[] fields
        start local 1 // java.io.ObjectStreamClass localDesc
         0: .line 2327
            aload 1 /* localDesc */
            ifnull 2
            aload 0 /* fields */
            arraylength
            ifle 2
         1: .line 2328
            aload 1 /* localDesc */
            getfield java.io.ObjectStreamClass.cl:Ljava/lang/Class;
            goto 3
      StackMap locals:
      StackMap stack:
         2: aconst_null
         3: .line 2327
      StackMap locals:
      StackMap stack: java.lang.Class
            astore 2 /* cl */
        start local 2 // java.lang.Class cl
         4: .line 2329
            getstatic java.io.ObjectStreamClass$Caches.reflectorsQueue:Ljava/lang/ref/ReferenceQueue;
            getstatic java.io.ObjectStreamClass$Caches.reflectors:Ljava/util/concurrent/ConcurrentMap;
            invokestatic java.io.ObjectStreamClass.processQueue:(Ljava/lang/ref/ReferenceQueue;Ljava/util/concurrent/ConcurrentMap;)V
         5: .line 2330
            new java.io.ObjectStreamClass$FieldReflectorKey
            dup
            aload 2 /* cl */
            aload 0 /* fields */
         6: .line 2331
            getstatic java.io.ObjectStreamClass$Caches.reflectorsQueue:Ljava/lang/ref/ReferenceQueue;
         7: .line 2330
            invokespecial java.io.ObjectStreamClass$FieldReflectorKey.<init>:(Ljava/lang/Class;[Ljava/io/ObjectStreamField;Ljava/lang/ref/ReferenceQueue;)V
            astore 3 /* key */
        start local 3 // java.io.ObjectStreamClass$FieldReflectorKey key
         8: .line 2332
            getstatic java.io.ObjectStreamClass$Caches.reflectors:Ljava/util/concurrent/ConcurrentMap;
            aload 3 /* key */
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.ref.Reference
            astore 4 /* ref */
        start local 4 // java.lang.ref.Reference ref
         9: .line 2333
            aconst_null
            astore 5 /* entry */
        start local 5 // java.lang.Object entry
        10: .line 2334
            aload 4 /* ref */
            ifnull 12
        11: .line 2335
            aload 4 /* ref */
            invokevirtual java.lang.ref.Reference.get:()Ljava/lang/Object;
            astore 5 /* entry */
        12: .line 2337
      StackMap locals: java.io.ObjectStreamField[] java.io.ObjectStreamClass java.lang.Class java.io.ObjectStreamClass$FieldReflectorKey java.lang.ref.Reference java.lang.Object
      StackMap stack:
            aconst_null
            astore 6 /* future */
        start local 6 // java.io.ObjectStreamClass$EntryFuture future
        13: .line 2338
            aload 5 /* entry */
            ifnonnull 24
        14: .line 2339
            new java.io.ObjectStreamClass$EntryFuture
            dup
            invokespecial java.io.ObjectStreamClass$EntryFuture.<init>:()V
            astore 7 /* newEntry */
        start local 7 // java.io.ObjectStreamClass$EntryFuture newEntry
        15: .line 2340
            new java.lang.ref.SoftReference
            dup
            aload 7 /* newEntry */
            invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
            astore 8 /* newRef */
        start local 8 // java.lang.ref.Reference newRef
        16: .line 2342
      StackMap locals: java.io.ObjectStreamClass$EntryFuture java.io.ObjectStreamClass$EntryFuture java.lang.ref.Reference
      StackMap stack:
            aload 4 /* ref */
            ifnull 18
        17: .line 2343
            getstatic java.io.ObjectStreamClass$Caches.reflectors:Ljava/util/concurrent/ConcurrentMap;
            aload 3 /* key */
            aload 4 /* ref */
            invokeinterface java.util.concurrent.ConcurrentMap.remove:(Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
        18: .line 2345
      StackMap locals:
      StackMap stack:
            getstatic java.io.ObjectStreamClass$Caches.reflectors:Ljava/util/concurrent/ConcurrentMap;
            aload 3 /* key */
            aload 8 /* newRef */
            invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.ref.Reference
            astore 4 /* ref */
        19: .line 2346
            aload 4 /* ref */
            ifnull 21
        20: .line 2347
            aload 4 /* ref */
            invokevirtual java.lang.ref.Reference.get:()Ljava/lang/Object;
            astore 5 /* entry */
        21: .line 2349
      StackMap locals:
      StackMap stack:
            aload 4 /* ref */
            ifnull 22
            aload 5 /* entry */
            ifnull 16
        22: .line 2350
      StackMap locals:
      StackMap stack:
            aload 5 /* entry */
            ifnonnull 24
        23: .line 2351
            aload 7 /* newEntry */
            astore 6 /* future */
        end local 8 // java.lang.ref.Reference newRef
        end local 7 // java.io.ObjectStreamClass$EntryFuture newEntry
        24: .line 2355
      StackMap locals:
      StackMap stack:
            aload 5 /* entry */
            instanceof java.io.ObjectStreamClass$FieldReflector
            ifeq 26
        25: .line 2356
            aload 5 /* entry */
            checkcast java.io.ObjectStreamClass$FieldReflector
            areturn
        26: .line 2357
      StackMap locals:
      StackMap stack:
            aload 5 /* entry */
            instanceof java.io.ObjectStreamClass$EntryFuture
            ifeq 29
        27: .line 2358
            aload 5 /* entry */
            checkcast java.io.ObjectStreamClass$EntryFuture
            invokevirtual java.io.ObjectStreamClass$EntryFuture.get:()Ljava/lang/Object;
            astore 5 /* entry */
        28: .line 2359
            goto 36
      StackMap locals:
      StackMap stack:
        29: aload 5 /* entry */
            ifnonnull 36
        30: .line 2361
            new java.io.ObjectStreamClass$FieldReflector
            dup
            aload 0 /* fields */
            aload 1 /* localDesc */
            invokestatic java.io.ObjectStreamClass.matchFields:([Ljava/io/ObjectStreamField;Ljava/io/ObjectStreamClass;)[Ljava/io/ObjectStreamField;
            invokespecial java.io.ObjectStreamClass$FieldReflector.<init>:([Ljava/io/ObjectStreamField;)V
            astore 5 /* entry */
        31: .line 2362
            goto 34
      StackMap locals:
      StackMap stack: java.lang.Throwable
        32: astore 7 /* th */
        start local 7 // java.lang.Throwable th
        33: .line 2363
            aload 7 /* th */
            astore 5 /* entry */
        end local 7 // java.lang.Throwable th
        34: .line 2365
      StackMap locals:
      StackMap stack:
            aload 6 /* future */
            aload 5 /* entry */
            invokevirtual java.io.ObjectStreamClass$EntryFuture.set:(Ljava/lang/Object;)Z
            pop
        35: .line 2366
            getstatic java.io.ObjectStreamClass$Caches.reflectors:Ljava/util/concurrent/ConcurrentMap;
            aload 3 /* key */
            new java.lang.ref.SoftReference
            dup
            aload 5 /* entry */
            invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        36: .line 2369
      StackMap locals:
      StackMap stack:
            aload 5 /* entry */
            instanceof java.io.ObjectStreamClass$FieldReflector
            ifeq 38
        37: .line 2370
            aload 5 /* entry */
            checkcast java.io.ObjectStreamClass$FieldReflector
            areturn
        38: .line 2371
      StackMap locals:
      StackMap stack:
            aload 5 /* entry */
            instanceof java.io.InvalidClassException
            ifeq 40
        39: .line 2372
            aload 5 /* entry */
            checkcast java.io.InvalidClassException
            athrow
        40: .line 2373
      StackMap locals:
      StackMap stack:
            aload 5 /* entry */
            instanceof java.lang.RuntimeException
            ifeq 42
        41: .line 2374
            aload 5 /* entry */
            checkcast java.lang.RuntimeException
            athrow
        42: .line 2375
      StackMap locals:
      StackMap stack:
            aload 5 /* entry */
            instanceof java.lang.Error
            ifeq 44
        43: .line 2376
            aload 5 /* entry */
            checkcast java.lang.Error
            athrow
        44: .line 2378
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "unexpected entry: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* entry */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.io.ObjectStreamClass$EntryFuture future
        end local 5 // java.lang.Object entry
        end local 4 // java.lang.ref.Reference ref
        end local 3 // java.io.ObjectStreamClass$FieldReflectorKey key
        end local 2 // java.lang.Class cl
        end local 1 // java.io.ObjectStreamClass localDesc
        end local 0 // java.io.ObjectStreamField[] fields
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   45     0     fields  [Ljava/io/ObjectStreamField;
            0   45     1  localDesc  Ljava/io/ObjectStreamClass;
            4   45     2         cl  Ljava/lang/Class<*>;
            8   45     3        key  Ljava/io/ObjectStreamClass$FieldReflectorKey;
            9   45     4        ref  Ljava/lang/ref/Reference<*>;
           10   45     5      entry  Ljava/lang/Object;
           13   45     6     future  Ljava/io/ObjectStreamClass$EntryFuture;
           15   24     7   newEntry  Ljava/io/ObjectStreamClass$EntryFuture;
           16   24     8     newRef  Ljava/lang/ref/Reference<*>;
           33   34     7         th  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          30    31      32  Class java.lang.Throwable
    Exceptions:
      throws java.io.InvalidClassException
    MethodParameters:
           Name  Flags
      fields     
      localDesc  

  private static java.io.ObjectStreamField[] matchFields(java.io.ObjectStreamField[], java.io.ObjectStreamClass);
    descriptor: ([Ljava/io/ObjectStreamField;Ljava/io/ObjectStreamClass;)[Ljava/io/ObjectStreamField;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=9, args_size=2
        start local 0 // java.io.ObjectStreamField[] fields
        start local 1 // java.io.ObjectStreamClass localDesc
         0: .line 2443
            aload 1 /* localDesc */
            ifnull 2
         1: .line 2444
            aload 1 /* localDesc */
            getfield java.io.ObjectStreamClass.fields:[Ljava/io/ObjectStreamField;
            goto 3
      StackMap locals:
      StackMap stack:
         2: getstatic java.io.ObjectStreamClass.NO_FIELDS:[Ljava/io/ObjectStreamField;
         3: .line 2443
      StackMap locals:
      StackMap stack: java.io.ObjectStreamField[]
            astore 2 /* localFields */
        start local 2 // java.io.ObjectStreamField[] localFields
         4: .line 2457
            aload 0 /* fields */
            arraylength
            anewarray java.io.ObjectStreamField
            astore 3 /* matches */
        start local 3 // java.io.ObjectStreamField[] matches
         5: .line 2458
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: goto 35
         7: .line 2459
      StackMap locals: java.io.ObjectStreamField[] java.io.ObjectStreamField[] int
      StackMap stack:
            aload 0 /* fields */
            iload 4 /* i */
            aaload
            astore 5 /* f */
        start local 5 // java.io.ObjectStreamField f
         8: aconst_null
            astore 6 /* m */
        start local 6 // java.io.ObjectStreamField m
         9: .line 2460
            iconst_0
            istore 7 /* j */
        start local 7 // int j
        10: goto 27
        11: .line 2461
      StackMap locals: java.io.ObjectStreamField java.io.ObjectStreamField int
      StackMap stack:
            aload 2 /* localFields */
            iload 7 /* j */
            aaload
            astore 8 /* lf */
        start local 8 // java.io.ObjectStreamField lf
        12: .line 2462
            aload 5 /* f */
            invokevirtual java.io.ObjectStreamField.getName:()Ljava/lang/String;
            aload 8 /* lf */
            invokevirtual java.io.ObjectStreamField.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 26
        13: .line 2463
            aload 5 /* f */
            invokevirtual java.io.ObjectStreamField.isPrimitive:()Z
            ifne 14
            aload 8 /* lf */
            invokevirtual java.io.ObjectStreamField.isPrimitive:()Z
            ifeq 18
        14: .line 2464
      StackMap locals: java.io.ObjectStreamField
      StackMap stack:
            aload 5 /* f */
            invokevirtual java.io.ObjectStreamField.getTypeCode:()C
            aload 8 /* lf */
            invokevirtual java.io.ObjectStreamField.getTypeCode:()C
            if_icmpeq 18
        15: .line 2466
            new java.io.InvalidClassException
            dup
            aload 1 /* localDesc */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
        16: .line 2467
            new java.lang.StringBuilder
            dup
            ldc "incompatible types for field "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* f */
            invokevirtual java.io.ObjectStreamField.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 2466
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            athrow
        18: .line 2469
      StackMap locals:
      StackMap stack:
            aload 8 /* lf */
            invokevirtual java.io.ObjectStreamField.getField:()Ljava/lang/reflect/Field;
            ifnull 23
        19: .line 2470
            new java.io.ObjectStreamField
            dup
        20: .line 2471
            aload 8 /* lf */
            invokevirtual java.io.ObjectStreamField.getField:()Ljava/lang/reflect/Field;
            aload 8 /* lf */
            invokevirtual java.io.ObjectStreamField.isUnshared:()Z
            iconst_0
        21: .line 2470
            invokespecial java.io.ObjectStreamField.<init>:(Ljava/lang/reflect/Field;ZZ)V
            astore 6 /* m */
        22: .line 2472
            goto 26
        23: .line 2473
      StackMap locals:
      StackMap stack:
            new java.io.ObjectStreamField
            dup
        24: .line 2474
            aload 8 /* lf */
            invokevirtual java.io.ObjectStreamField.getName:()Ljava/lang/String;
            aload 8 /* lf */
            invokevirtual java.io.ObjectStreamField.getSignature:()Ljava/lang/String;
            aload 8 /* lf */
            invokevirtual java.io.ObjectStreamField.isUnshared:()Z
        25: .line 2473
            invokespecial java.io.ObjectStreamField.<init>:(Ljava/lang/String;Ljava/lang/String;Z)V
            astore 6 /* m */
        end local 8 // java.io.ObjectStreamField lf
        26: .line 2460
      StackMap locals:
      StackMap stack:
            iinc 7 /* j */ 1
      StackMap locals:
      StackMap stack:
        27: iload 7 /* j */
            aload 2 /* localFields */
            arraylength
            if_icmplt 11
        end local 7 // int j
        28: .line 2478
            aload 6 /* m */
            ifnonnull 32
        29: .line 2479
            new java.io.ObjectStreamField
            dup
        30: .line 2480
            aload 5 /* f */
            invokevirtual java.io.ObjectStreamField.getName:()Ljava/lang/String;
            aload 5 /* f */
            invokevirtual java.io.ObjectStreamField.getSignature:()Ljava/lang/String;
            iconst_0
        31: .line 2479
            invokespecial java.io.ObjectStreamField.<init>:(Ljava/lang/String;Ljava/lang/String;Z)V
            astore 6 /* m */
        32: .line 2482
      StackMap locals:
      StackMap stack:
            aload 6 /* m */
            aload 5 /* f */
            invokevirtual java.io.ObjectStreamField.getOffset:()I
            invokevirtual java.io.ObjectStreamField.setOffset:(I)V
        33: .line 2483
            aload 3 /* matches */
            iload 4 /* i */
            aload 6 /* m */
            aastore
        end local 6 // java.io.ObjectStreamField m
        end local 5 // java.io.ObjectStreamField f
        34: .line 2458
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        35: iload 4 /* i */
            aload 0 /* fields */
            arraylength
            if_icmplt 7
        end local 4 // int i
        36: .line 2485
            aload 3 /* matches */
            areturn
        end local 3 // java.io.ObjectStreamField[] matches
        end local 2 // java.io.ObjectStreamField[] localFields
        end local 1 // java.io.ObjectStreamClass localDesc
        end local 0 // java.io.ObjectStreamField[] fields
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   37     0       fields  [Ljava/io/ObjectStreamField;
            0   37     1    localDesc  Ljava/io/ObjectStreamClass;
            4   37     2  localFields  [Ljava/io/ObjectStreamField;
            5   37     3      matches  [Ljava/io/ObjectStreamField;
            6   36     4            i  I
            8   34     5            f  Ljava/io/ObjectStreamField;
            9   34     6            m  Ljava/io/ObjectStreamField;
           10   28     7            j  I
           12   26     8           lf  Ljava/io/ObjectStreamField;
    Exceptions:
      throws java.io.InvalidClassException
    MethodParameters:
           Name  Flags
      fields     
      localDesc  

  static void processQueue(java.lang.ref.ReferenceQueue<java.lang.Class<?>>, java.util.concurrent.ConcurrentMap<? extends java.lang.ref.WeakReference<java.lang.Class<?>>, ?>);
    descriptor: (Ljava/lang/ref/ReferenceQueue;Ljava/util/concurrent/ConcurrentMap;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.ref.ReferenceQueue queue
        start local 1 // java.util.concurrent.ConcurrentMap map
         0: .line 2497
            goto 2
        start local 2 // java.lang.ref.Reference ref
         1: .line 2498
      StackMap locals: java.lang.ref.Reference
      StackMap stack:
            aload 1 /* map */
            aload 2 /* ref */
            invokeinterface java.util.concurrent.ConcurrentMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 2 // java.lang.ref.Reference ref
         2: .line 2497
      StackMap locals:
      StackMap stack:
            aload 0 /* queue */
            invokevirtual java.lang.ref.ReferenceQueue.poll:()Ljava/lang/ref/Reference;
            dup
            astore 2 /* ref */
        start local 2 // java.lang.ref.Reference ref
         3: ifnonnull 1
         4: .line 2500
            return
        end local 2 // java.lang.ref.Reference ref
        end local 1 // java.util.concurrent.ConcurrentMap map
        end local 0 // java.lang.ref.ReferenceQueue queue
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0  queue  Ljava/lang/ref/ReferenceQueue<Ljava/lang/Class<*>;>;
            0    5     1    map  Ljava/util/concurrent/ConcurrentMap<+Ljava/lang/ref/WeakReference<Ljava/lang/Class<*>;>;*>;
            1    2     2    ref  Ljava/lang/ref/Reference<+Ljava/lang/Class<*>;>;
            3    5     2    ref  Ljava/lang/ref/Reference<+Ljava/lang/Class<*>;>;
    Signature: (Ljava/lang/ref/ReferenceQueue<Ljava/lang/Class<*>;>;Ljava/util/concurrent/ConcurrentMap<+Ljava/lang/ref/WeakReference<Ljava/lang/Class<*>;>;*>;)V
    MethodParameters:
       Name  Flags
      queue  
      map    

  private java.lang.Object lambda$0();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 1107
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.cons:Ljava/lang/reflect/Constructor;
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
         1: areturn
         2: .line 1110
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
            astore 1 /* x */
        start local 1 // java.lang.ReflectiveOperationException x
         3: .line 1111
            new java.lang.reflect.UndeclaredThrowableException
            dup
            aload 1 /* x */
            invokespecial java.lang.reflect.UndeclaredThrowableException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.ReflectiveOperationException x
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/io/ObjectStreamClass;
            3    4     1     x  Ljava/lang/ReflectiveOperationException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.InstantiationException
           0     1       2  Class java.lang.reflect.InvocationTargetException
           0     1       2  Class java.lang.IllegalAccessException
}
SourceFile: "ObjectStreamClass.java"
NestMembers:
  java.io.ObjectStreamClass$1  java.io.ObjectStreamClass$2  java.io.ObjectStreamClass$3  java.io.ObjectStreamClass$4  java.io.ObjectStreamClass$5  java.io.ObjectStreamClass$6  java.io.ObjectStreamClass$Caches  java.io.ObjectStreamClass$ClassDataSlot  java.io.ObjectStreamClass$EntryFuture  java.io.ObjectStreamClass$EntryFuture$1  java.io.ObjectStreamClass$ExceptionInfo  java.io.ObjectStreamClass$FieldReflector  java.io.ObjectStreamClass$FieldReflectorKey  java.io.ObjectStreamClass$MemberSignature  java.io.ObjectStreamClass$WeakClassKey
InnerClasses:
  java.io.ObjectStreamClass$1
  java.io.ObjectStreamClass$2
  java.io.ObjectStreamClass$3
  java.io.ObjectStreamClass$4
  java.io.ObjectStreamClass$5
  java.io.ObjectStreamClass$6
  private Caches = java.io.ObjectStreamClass$Caches of java.io.ObjectStreamClass
  ClassDataSlot = java.io.ObjectStreamClass$ClassDataSlot of java.io.ObjectStreamClass
  private EntryFuture = java.io.ObjectStreamClass$EntryFuture of java.io.ObjectStreamClass
  private ExceptionInfo = java.io.ObjectStreamClass$ExceptionInfo of java.io.ObjectStreamClass
  private FieldReflector = java.io.ObjectStreamClass$FieldReflector of java.io.ObjectStreamClass
  private FieldReflectorKey = java.io.ObjectStreamClass$FieldReflectorKey of java.io.ObjectStreamClass
  private MemberSignature = java.io.ObjectStreamClass$MemberSignature of java.io.ObjectStreamClass
  WeakClassKey = java.io.ObjectStreamClass$WeakClassKey of java.io.ObjectStreamClass
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final GetReflectionFactoryAction = sun.reflect.ReflectionFactory$GetReflectionFactoryAction of sun.reflect.ReflectionFactory