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

  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.InvalidClassException deserializeEx;
    descriptor: Ljava/io/InvalidClassException;
    flags: (0x0002) ACC_PRIVATE

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

  private java.io.InvalidClassException defaultSerializeEx;
    descriptor: Ljava/io/InvalidClassException;
    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

  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 61
            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 65
            iconst_0
            anewarray java.io.ObjectStreamField
         4: .line 64
            putstatic java.io.ObjectStreamClass.NO_FIELDS:[Ljava/io/ObjectStreamField;
         5: .line 69
            getstatic java.io.ObjectStreamClass.NO_FIELDS:[Ljava/io/ObjectStreamField;
         6: .line 68
            putstatic java.io.ObjectStreamClass.serialPersistentFields:[Ljava/io/ObjectStreamField;
         7: .line 74
            new java.io.ObjectStreamClass$1
            dup
            invokespecial java.io.ObjectStreamClass$1.<init>:()V
         8: .line 73
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Boolean
         9: .line 81
            invokevirtual java.lang.Boolean.booleanValue:()Z
        10: .line 72
            putstatic java.io.ObjectStreamClass.disableSerialConstructorChecks:Z
        11: .line 86
            new sun.reflect.ReflectionFactory$GetReflectionFactoryAction
            dup
            invokespecial sun.reflect.ReflectionFactory$GetReflectionFactoryAction.<init>:()V
        12: .line 85
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast sun.reflect.ReflectionFactory
        13: .line 84
            putstatic java.io.ObjectStreamClass.reflFactory:Lsun/reflect/ReflectionFactory;
        14: .line 179
            invokestatic java.io.ObjectStreamClass.initNative:()V
        15: .line 180
            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 192
            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 204
            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 215
            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 228
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.suid:Ljava/lang/Long;
            ifnonnull 4
         1: .line 229
            aload 0 /* this */
         2: .line 230
            new java.io.ObjectStreamClass$2
            dup
            aload 0 /* this */
            invokespecial java.io.ObjectStreamClass$2.<init>:(Ljava/io/ObjectStreamClass;)V
         3: .line 229
            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 237
      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 248
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.cl:Ljava/lang/Class;
            ifnonnull 2
         1: .line 249
            aconst_null
            areturn
         2: .line 251
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         3: .line 252
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            ifnull 7
         4: .line 253
            invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            astore 1 /* caller */
        start local 1 // java.lang.Class caller
         5: .line 254
            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 255
            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 258
      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 270
            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 281
            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 288
            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 289
            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 288
            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 301
            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 302
            aconst_null
            areturn
         2: .line 304
      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 305
            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 306
            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 307
            aconst_null
            astore 4 /* entry */
        start local 4 // java.lang.Object entry
         6: .line 308
            aload 3 /* ref */
            ifnull 8
         7: .line 309
            aload 3 /* ref */
            invokevirtual java.lang.ref.Reference.get:()Ljava/lang/Object;
            astore 4 /* entry */
         8: .line 311
      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 312
            aload 4 /* entry */
            ifnonnull 20
        10: .line 313
            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 314
            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 316
      StackMap locals: java.io.ObjectStreamClass$EntryFuture java.io.ObjectStreamClass$EntryFuture java.lang.ref.Reference
      StackMap stack:
            aload 3 /* ref */
            ifnull 14
        13: .line 317
            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 319
      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 320
            aload 3 /* ref */
            ifnull 17
        16: .line 321
            aload 3 /* ref */
            invokevirtual java.lang.ref.Reference.get:()Ljava/lang/Object;
            astore 4 /* entry */
        17: .line 323
      StackMap locals:
      StackMap stack:
            aload 3 /* ref */
            ifnull 18
            aload 4 /* entry */
            ifnull 12
        18: .line 324
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            ifnonnull 20
        19: .line 325
            aload 6 /* newEntry */
            astore 5 /* future */
        end local 7 // java.lang.ref.Reference newRef
        end local 6 // java.io.ObjectStreamClass$EntryFuture newEntry
        20: .line 329
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            instanceof java.io.ObjectStreamClass
            ifeq 22
        21: .line 330
            aload 4 /* entry */
            checkcast java.io.ObjectStreamClass
            areturn
        22: .line 332
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            instanceof java.io.ObjectStreamClass$EntryFuture
            ifeq 28
        23: .line 333
            aload 4 /* entry */
            checkcast java.io.ObjectStreamClass$EntryFuture
            astore 5 /* future */
        24: .line 334
            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 341
            aconst_null
            astore 4 /* entry */
        26: .line 342
            goto 28
        27: .line 343
      StackMap locals:
      StackMap stack:
            aload 5 /* future */
            invokevirtual java.io.ObjectStreamClass$EntryFuture.get:()Ljava/lang/Object;
            astore 4 /* entry */
        28: .line 346
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            ifnonnull 37
        29: .line 348
            new java.io.ObjectStreamClass
            dup
            aload 0 /* cl */
            invokespecial java.io.ObjectStreamClass.<init>:(Ljava/lang/Class;)V
            astore 4 /* entry */
        30: .line 349
            goto 33
      StackMap locals:
      StackMap stack: java.lang.Throwable
        31: astore 6 /* th */
        start local 6 // java.lang.Throwable th
        32: .line 350
            aload 6 /* th */
            astore 4 /* entry */
        end local 6 // java.lang.Throwable th
        33: .line 352
      StackMap locals:
      StackMap stack:
            aload 5 /* future */
            aload 4 /* entry */
            invokevirtual java.io.ObjectStreamClass$EntryFuture.set:(Ljava/lang/Object;)Z
            ifeq 36
        34: .line 353
            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 354
            goto 37
        36: .line 356
      StackMap locals:
      StackMap stack:
            aload 5 /* future */
            invokevirtual java.io.ObjectStreamClass$EntryFuture.get:()Ljava/lang/Object;
            astore 4 /* entry */
        37: .line 360
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            instanceof java.io.ObjectStreamClass
            ifeq 39
        38: .line 361
            aload 4 /* entry */
            checkcast java.io.ObjectStreamClass
            areturn
        39: .line 362
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            instanceof java.lang.RuntimeException
            ifeq 41
        40: .line 363
            aload 4 /* entry */
            checkcast java.lang.RuntimeException
            athrow
        41: .line 364
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            instanceof java.lang.Error
            ifeq 43
        42: .line 365
            aload 4 /* entry */
            checkcast java.lang.Error
            athrow
        43: .line 367
      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
    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 438
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 128
            aload 0 /* this */
            iconst_1
            putfield java.io.ObjectStreamClass.hasBlockExternalData:Z
         2: .line 439
            aload 0 /* this */
            aload 1 /* cl */
            putfield java.io.ObjectStreamClass.cl:Ljava/lang/Class;
         3: .line 440
            aload 0 /* this */
            aload 1 /* cl */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            putfield java.io.ObjectStreamClass.name:Ljava/lang/String;
         4: .line 441
            aload 0 /* this */
            aload 1 /* cl */
            invokestatic java.lang.reflect.Proxy.isProxyClass:(Ljava/lang/Class;)Z
            putfield java.io.ObjectStreamClass.isProxy:Z
         5: .line 442
            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 443
            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 444
            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 446
            aload 1 /* cl */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            astore 2 /* superCl */
        start local 2 // java.lang.Class superCl
         9: .line 447
            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 448
            aload 0 /* this */
            aload 0 /* this */
            putfield java.io.ObjectStreamClass.localDesc:Ljava/io/ObjectStreamClass;
        13: .line 450
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.serializable:Z
            ifeq 16
        14: .line 451
            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 494
            goto 18
        16: .line 495
      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 496
            aload 0 /* this */
            getstatic java.io.ObjectStreamClass.NO_FIELDS:[Ljava/io/ObjectStreamField;
            putfield java.io.ObjectStreamClass.fields:[Ljava/io/ObjectStreamField;
        18: .line 500
      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 501
            goto 22
      StackMap locals:
      StackMap stack: java.io.InvalidClassException
        20: pop
        21: .line 503
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
        22: .line 506
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.deserializeEx:Ljava/io/InvalidClassException;
            ifnonnull 30
        23: .line 507
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.isEnum:Z
            ifeq 26
        24: .line 508
            aload 0 /* this */
            new java.io.InvalidClassException
            dup
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
            ldc "enum type"
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            putfield java.io.ObjectStreamClass.deserializeEx:Ljava/io/InvalidClassException;
        25: .line 509
            goto 30
      StackMap locals:
      StackMap stack:
        26: aload 0 /* this */
            getfield java.io.ObjectStreamClass.cons:Ljava/lang/reflect/Constructor;
            ifnonnull 30
        27: .line 510
            aload 0 /* this */
            new java.io.InvalidClassException
            dup
        28: .line 511
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
            ldc "no valid constructor"
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
        29: .line 510
            putfield java.io.ObjectStreamClass.deserializeEx:Ljava/io/InvalidClassException;
        30: .line 514
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        31: goto 37
        32: .line 515
      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 36
        33: .line 516
            aload 0 /* this */
            new java.io.InvalidClassException
            dup
        34: .line 517
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
            ldc "unmatched serializable field(s) declared"
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
        35: .line 516
            putfield java.io.ObjectStreamClass.defaultSerializeEx:Ljava/io/InvalidClassException;
        36: .line 514
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        37: iload 3 /* i */
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.fields:[Ljava/io/ObjectStreamField;
            arraylength
            if_icmplt 32
        end local 3 // int i
        38: .line 520
            aload 0 /* this */
            iconst_1
            putfield java.io.ObjectStreamClass.initialized:Z
        39: .line 521
            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   40     0     this  Ljava/io/ObjectStreamClass;
            0   40     1       cl  Ljava/lang/Class;
            9   40     2  superCl  Ljava/lang/Class;
           31   38     3        i  I
      Exception table:
        from    to  target  type
          18    19      20  Class java.io.InvalidClassException
    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 527
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 128
            aload 0 /* this */
            iconst_1
            putfield java.io.ObjectStreamClass.hasBlockExternalData:Z
         2: .line 528
            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 534
            new java.security.Permissions
            dup
            invokespecial java.security.Permissions.<init>:()V
            astore 1 /* perms */
        start local 1 // java.security.PermissionCollection perms
         1: .line 535
            aload 1 /* perms */
            invokevirtual java.security.PermissionCollection.setReadOnly:()V
         2: .line 536
            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 559
            aconst_null
            astore 3 /* domains */
        start local 3 // java.security.ProtectionDomain[] domains
         1: .line 560
            aload 1 /* cons */
            ifnull 20
            aload 2 /* cl */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            ifnull 20
         2: .line 561
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            ifnull 20
         3: .line 562
            aload 2 /* cl */
            astore 4 /* cls */
        start local 4 // java.lang.Class cls
         4: .line 563
            aload 1 /* cons */
            invokevirtual java.lang.reflect.Constructor.getDeclaringClass:()Ljava/lang/Class;
            astore 5 /* fnscl */
        start local 5 // java.lang.Class fnscl
         5: .line 564
            aconst_null
            astore 6 /* pds */
        start local 6 // java.util.Set pds
         6: .line 565
            goto 17
         7: .line 566
      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 567
            aload 7 /* pd */
            ifnull 11
         9: .line 568
            aload 6 /* pds */
            ifnonnull 10
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 6 /* pds */
        10: .line 569
      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 571
      StackMap locals:
      StackMap stack:
            aload 4 /* cls */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            astore 4 /* cls */
        12: .line 572
            aload 4 /* cls */
            ifnonnull 17
        13: .line 576
            aload 6 /* pds */
            ifnonnull 14
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 6 /* pds */
            goto 15
        14: .line 577
      StackMap locals:
      StackMap stack:
            aload 6 /* pds */
            invokeinterface java.util.Set.clear:()V
        15: .line 578
      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 579
            goto 18
        end local 7 // java.security.ProtectionDomain pd
        17: .line 565
      StackMap locals:
      StackMap stack:
            aload 4 /* cls */
            aload 5 /* fnscl */
            if_acmpne 7
        18: .line 582
      StackMap locals:
      StackMap stack:
            aload 6 /* pds */
            ifnull 20
        19: .line 583
            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 586
      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 597
            aconst_null
            astore 4 /* osc */
        start local 4 // java.io.ObjectStreamClass osc
         1: .line 598
            aload 1 /* cl */
            ifnull 7
         2: .line 599
            aload 1 /* cl */
            iconst_1
            invokestatic java.io.ObjectStreamClass.lookup:(Ljava/lang/Class;Z)Ljava/io/ObjectStreamClass;
            astore 4 /* osc */
         3: .line 600
            aload 4 /* osc */
            getfield java.io.ObjectStreamClass.isProxy:Z
            ifne 7
         4: .line 601
            new java.io.InvalidClassException
            dup
         5: .line 602
            ldc "cannot bind proxy descriptor to a non-proxy class"
         6: .line 601
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 605
      StackMap locals: java.io.ObjectStreamClass
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cl */
            putfield java.io.ObjectStreamClass.cl:Ljava/lang/Class;
         8: .line 606
            aload 0 /* this */
            aload 2 /* resolveEx */
            putfield java.io.ObjectStreamClass.resolveEx:Ljava/lang/ClassNotFoundException;
         9: .line 607
            aload 0 /* this */
            aload 3 /* superDesc */
            putfield java.io.ObjectStreamClass.superDesc:Ljava/io/ObjectStreamClass;
        10: .line 608
            aload 0 /* this */
            iconst_1
            putfield java.io.ObjectStreamClass.isProxy:Z
        11: .line 609
            aload 0 /* this */
            iconst_1
            putfield java.io.ObjectStreamClass.serializable:Z
        12: .line 610
            aload 0 /* this */
            lconst_0
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            putfield java.io.ObjectStreamClass.suid:Ljava/lang/Long;
        13: .line 611
            aload 0 /* this */
            getstatic java.io.ObjectStreamClass.NO_FIELDS:[Ljava/io/ObjectStreamField;
            putfield java.io.ObjectStreamClass.fields:[Ljava/io/ObjectStreamField;
        14: .line 612
            aload 4 /* osc */
            ifnull 23
        15: .line 613
            aload 0 /* this */
            aload 4 /* osc */
            putfield java.io.ObjectStreamClass.localDesc:Ljava/io/ObjectStreamClass;
        16: .line 614
            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 615
            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 616
            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 617
            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 618
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.localDesc:Ljava/io/ObjectStreamClass;
            getfield java.io.ObjectStreamClass.deserializeEx:Ljava/io/InvalidClassException;
            putfield java.io.ObjectStreamClass.deserializeEx:Ljava/io/InvalidClassException;
        21: .line 619
            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 620
            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 622
      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 623
            aload 0 /* this */
            iconst_1
            putfield java.io.ObjectStreamClass.initialized:Z
        25: .line 624
            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
    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 635
            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 636
            aconst_null
            astore 7 /* osc */
        start local 7 // java.io.ObjectStreamClass osc
         2: .line 637
            aload 2 /* cl */
            ifnull 41
         3: .line 638
            aload 2 /* cl */
            iconst_1
            invokestatic java.io.ObjectStreamClass.lookup:(Ljava/lang/Class;Z)Ljava/io/ObjectStreamClass;
            astore 7 /* osc */
         4: .line 639
            aload 7 /* osc */
            getfield java.io.ObjectStreamClass.isProxy:Z
            ifeq 8
         5: .line 640
            new java.io.InvalidClassException
            dup
         6: .line 641
            ldc "cannot bind non-proxy descriptor to a proxy class"
         7: .line 640
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 643
      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 644
            new java.io.InvalidClassException
            dup
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.isEnum:Z
            ifeq 11
        10: .line 645
            ldc "cannot bind enum descriptor to a non-enum class"
            goto 12
        11: .line 646
      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 644
      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 649
      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 650
            aload 2 /* cl */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 23
        15: .line 651
            lload 5 /* suid */
            aload 7 /* osc */
            invokevirtual java.io.ObjectStreamClass.getSerialVersionUID:()J
            lcmp
            ifeq 23
        16: .line 652
            new java.io.InvalidClassException
            dup
            aload 7 /* osc */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
        17: .line 653
            new java.lang.StringBuilder
            dup
            ldc "local class incompatible: stream classdesc serialVersionUID = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        18: .line 654
            lload 5 /* suid */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        19: .line 655
            ldc ", local class serialVersionUID = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        20: .line 656
            aload 7 /* osc */
            invokevirtual java.io.ObjectStreamClass.getSerialVersionUID:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        21: .line 653
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 652
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            athrow
        23: .line 659
      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 660
            new java.io.InvalidClassException
            dup
            aload 7 /* osc */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
        25: .line 661
            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 662
            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 661
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        28: .line 660
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            athrow
        29: .line 665
      StackMap locals:
      StackMap stack:
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.isEnum:Z
            ifne 41
        30: .line 666
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.serializable:Z
            aload 7 /* osc */
            getfield java.io.ObjectStreamClass.serializable:Z
            if_icmpne 35
        31: .line 667
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.externalizable:Z
            aload 7 /* osc */
            getfield java.io.ObjectStreamClass.externalizable:Z
            if_icmpeq 35
        32: .line 668
            new java.io.InvalidClassException
            dup
            aload 7 /* osc */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
        33: .line 669
            ldc "Serializable incompatible with Externalizable"
        34: .line 668
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            athrow
        35: .line 672
      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 673
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.externalizable:Z
            aload 7 /* osc */
            getfield java.io.ObjectStreamClass.externalizable:Z
            if_icmpne 38
        37: .line 674
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.serializable:Z
            ifne 41
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.externalizable:Z
            ifne 41
        38: .line 675
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.io.InvalidClassException
            dup
        39: .line 676
            aload 7 /* osc */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
            ldc "class invalid for deserialization"
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
        40: .line 675
            putfield java.io.ObjectStreamClass.deserializeEx:Ljava/io/InvalidClassException;
        41: .line 681
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* cl */
            putfield java.io.ObjectStreamClass.cl:Ljava/lang/Class;
        42: .line 682
            aload 0 /* this */
            aload 3 /* resolveEx */
            putfield java.io.ObjectStreamClass.resolveEx:Ljava/lang/ClassNotFoundException;
        43: .line 683
            aload 0 /* this */
            aload 4 /* superDesc */
            putfield java.io.ObjectStreamClass.superDesc:Ljava/io/ObjectStreamClass;
        44: .line 684
            aload 0 /* this */
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
            putfield java.io.ObjectStreamClass.name:Ljava/lang/String;
        45: .line 685
            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 686
            aload 0 /* this */
            iconst_0
            putfield java.io.ObjectStreamClass.isProxy:Z
        47: .line 687
            aload 0 /* this */
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.isEnum:Z
            putfield java.io.ObjectStreamClass.isEnum:Z
        48: .line 688
            aload 0 /* this */
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.serializable:Z
            putfield java.io.ObjectStreamClass.serializable:Z
        49: .line 689
            aload 0 /* this */
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.externalizable:Z
            putfield java.io.ObjectStreamClass.externalizable:Z
        50: .line 690
            aload 0 /* this */
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.hasBlockExternalData:Z
            putfield java.io.ObjectStreamClass.hasBlockExternalData:Z
        51: .line 691
            aload 0 /* this */
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.hasWriteObjectData:Z
            putfield java.io.ObjectStreamClass.hasWriteObjectData:Z
        52: .line 692
            aload 0 /* this */
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.fields:[Ljava/io/ObjectStreamField;
            putfield java.io.ObjectStreamClass.fields:[Ljava/io/ObjectStreamField;
        53: .line 693
            aload 0 /* this */
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.primDataSize:I
            putfield java.io.ObjectStreamClass.primDataSize:I
        54: .line 694
            aload 0 /* this */
            aload 1 /* model */
            getfield java.io.ObjectStreamClass.numObjFields:I
            putfield java.io.ObjectStreamClass.numObjFields:I
        55: .line 696
            aload 7 /* osc */
            ifnull 66
        56: .line 697
            aload 0 /* this */
            aload 7 /* osc */
            putfield java.io.ObjectStreamClass.localDesc:Ljava/io/ObjectStreamClass;
        57: .line 698
            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 699
            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 700
            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 701
            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 702
            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 703
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.deserializeEx:Ljava/io/InvalidClassException;
            ifnonnull 64
        63: .line 704
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.localDesc:Ljava/io/ObjectStreamClass;
            getfield java.io.ObjectStreamClass.deserializeEx:Ljava/io/InvalidClassException;
            putfield java.io.ObjectStreamClass.deserializeEx:Ljava/io/InvalidClassException;
        64: .line 706
      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 707
            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 710
      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 712
            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 713
            aload 0 /* this */
            iconst_1
            putfield java.io.ObjectStreamClass.initialized:Z
        69: .line 714
            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
    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 725
            aload 0 /* this */
            aload 1 /* in */
            invokevirtual java.io.ObjectInputStream.readUTF:()Ljava/lang/String;
            putfield java.io.ObjectStreamClass.name:Ljava/lang/String;
         1: .line 726
            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 727
            aload 0 /* this */
            iconst_0
            putfield java.io.ObjectStreamClass.isProxy:Z
         3: .line 729
            aload 1 /* in */
            invokevirtual java.io.ObjectInputStream.readByte:()B
            istore 2 /* flags */
        start local 2 // byte flags
         4: .line 730
            aload 0 /* this */
         5: .line 731
            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 730
      StackMap locals: java.io.ObjectStreamClass java.io.ObjectInputStream int
      StackMap stack: java.io.ObjectStreamClass int
            putfield java.io.ObjectStreamClass.hasWriteObjectData:Z
         8: .line 732
            aload 0 /* this */
         9: .line 733
            iload 2 /* flags */
            bipush 8
            iand
            ifeq 10
            iconst_1
            goto 11
      StackMap locals:
      StackMap stack: java.io.ObjectStreamClass
        10: iconst_0
        11: .line 732
      StackMap locals: java.io.ObjectStreamClass java.io.ObjectInputStream int
      StackMap stack: java.io.ObjectStreamClass int
            putfield java.io.ObjectStreamClass.hasBlockExternalData:Z
        12: .line 734
            aload 0 /* this */
        13: .line 735
            iload 2 /* flags */
            iconst_4
            iand
            ifeq 14
            iconst_1
            goto 15
      StackMap locals:
      StackMap stack: java.io.ObjectStreamClass
        14: iconst_0
        15: .line 734
      StackMap locals: java.io.ObjectStreamClass java.io.ObjectInputStream int
      StackMap stack: java.io.ObjectStreamClass int
            putfield java.io.ObjectStreamClass.externalizable:Z
        16: .line 737
            iload 2 /* flags */
            iconst_2
            iand
            ifeq 17
            iconst_1
            goto 18
      StackMap locals:
      StackMap stack:
        17: iconst_0
        18: .line 736
      StackMap locals:
      StackMap stack: int
            istore 3 /* sflag */
        start local 3 // boolean sflag
        19: .line 738
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.externalizable:Z
            ifeq 23
            iload 3 /* sflag */
            ifeq 23
        20: .line 739
            new java.io.InvalidClassException
            dup
        21: .line 740
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
            ldc "serializable and externalizable flags conflict"
        22: .line 739
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            athrow
        23: .line 742
      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 743
            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 744
            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 745
            new java.io.InvalidClassException
            dup
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
        31: .line 746
            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 745
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            athrow
        33: .line 749
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokevirtual java.io.ObjectInputStream.readShort:()S
            istore 4 /* numFields */
        start local 4 // int numFields
        34: .line 750
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.isEnum:Z
            ifeq 38
            iload 4 /* numFields */
            ifeq 38
        35: .line 751
            new java.io.InvalidClassException
            dup
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
        36: .line 752
            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 751
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            athrow
        38: .line 754
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* numFields */
            ifle 40
        39: .line 755
            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 754
      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 756
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        43: goto 59
        44: .line 757
      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 758
            aload 1 /* in */
            invokevirtual java.io.ObjectInputStream.readUTF:()Ljava/lang/String;
            astore 7 /* fname */
        start local 7 // java.lang.String fname
        46: .line 759
            iload 6 /* tcode */
            bipush 76
            if_icmpeq 47
            iload 6 /* tcode */
            bipush 91
            if_icmpne 48
        47: .line 760
      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 759
      StackMap locals:
      StackMap stack: java.lang.String
            astore 8 /* signature */
        start local 8 // java.lang.String signature
        50: .line 762
            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 763
            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 764
            new java.io.InvalidClassException
            dup
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
        54: .line 765
            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 764
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
        56: .line 765
            aload 9 /* e */
            invokevirtual java.io.InvalidClassException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
        57: .line 764
            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 756
      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 768
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.computeFieldOffsets:()V
        61: .line 769
            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 775
            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 776
            aload 1 /* out */
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.getSerialVersionUID:()J
            invokevirtual java.io.ObjectOutputStream.writeLong:(J)V
         2: .line 778
            iconst_0
            istore 2 /* flags */
        start local 2 // byte flags
         3: .line 779
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.externalizable:Z
            ifeq 9
         4: .line 780
            iload 2 /* flags */
            iconst_4
            ior
            i2b
            istore 2 /* flags */
         5: .line 781
            aload 1 /* out */
            invokevirtual java.io.ObjectOutputStream.getProtocolVersion:()I
            istore 3 /* protocol */
        start local 3 // int protocol
         6: .line 782
            iload 3 /* protocol */
            iconst_1
            if_icmpeq 11
         7: .line 783
            iload 2 /* flags */
            bipush 8
            ior
            i2b
            istore 2 /* flags */
        end local 3 // int protocol
         8: .line 785
            goto 11
      StackMap locals: int
      StackMap stack:
         9: aload 0 /* this */
            getfield java.io.ObjectStreamClass.serializable:Z
            ifeq 11
        10: .line 786
            iload 2 /* flags */
            iconst_2
            ior
            i2b
            istore 2 /* flags */
        11: .line 788
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.hasWriteObjectData:Z
            ifeq 13
        12: .line 789
            iload 2 /* flags */
            iconst_1
            ior
            i2b
            istore 2 /* flags */
        13: .line 791
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.isEnum:Z
            ifeq 15
        14: .line 792
            iload 2 /* flags */
            bipush 16
            ior
            i2b
            istore 2 /* flags */
        15: .line 794
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            iload 2 /* flags */
            invokevirtual java.io.ObjectOutputStream.writeByte:(I)V
        16: .line 796
            aload 1 /* out */
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.fields:[Ljava/io/ObjectStreamField;
            arraylength
            invokevirtual java.io.ObjectOutputStream.writeShort:(I)V
        17: .line 797
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        18: goto 25
        19: .line 798
      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 799
            aload 1 /* out */
            aload 4 /* f */
            invokevirtual java.io.ObjectStreamField.getTypeCode:()C
            invokevirtual java.io.ObjectOutputStream.writeByte:(I)V
        21: .line 800
            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 801
            aload 4 /* f */
            invokevirtual java.io.ObjectStreamField.isPrimitive:()Z
            ifne 24
        23: .line 802
            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 797
      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 805
            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 812
            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 819
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.initialized:Z
            ifne 2
         1: .line 820
            new java.lang.InternalError
            dup
            ldc "Unexpected call when not initialized"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 821
      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;

  void checkDeserialize();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 829
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 830
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.deserializeEx:Ljava/io/InvalidClassException;
            ifnull 7
         2: .line 832
            new java.io.InvalidClassException
            dup
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.deserializeEx:Ljava/io/InvalidClassException;
            getfield java.io.InvalidClassException.classname:Ljava/lang/String;
         3: .line 833
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.deserializeEx:Ljava/io/InvalidClassException;
            invokevirtual java.io.InvalidClassException.getMessage:()Ljava/lang/String;
         4: .line 832
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         5: .line 831
            astore 1 /* ice */
        start local 1 // java.io.InvalidClassException ice
         6: .line 834
            aload 1 /* ice */
            athrow
        end local 1 // java.io.InvalidClassException ice
         7: .line 836
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/io/ObjectStreamClass;
            6    7     1   ice  Ljava/io/InvalidClassException;
    Exceptions:
      throws java.io.InvalidClassException

  void checkSerialize();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 844
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 845
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.serializeEx:Ljava/io/InvalidClassException;
            ifnull 7
         2: .line 847
            new java.io.InvalidClassException
            dup
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.serializeEx:Ljava/io/InvalidClassException;
            getfield java.io.InvalidClassException.classname:Ljava/lang/String;
         3: .line 848
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.serializeEx:Ljava/io/InvalidClassException;
            invokevirtual java.io.InvalidClassException.getMessage:()Ljava/lang/String;
         4: .line 847
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         5: .line 846
            astore 1 /* ice */
        start local 1 // java.io.InvalidClassException ice
         6: .line 849
            aload 1 /* ice */
            athrow
        end local 1 // java.io.InvalidClassException ice
         7: .line 851
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/io/ObjectStreamClass;
            6    7     1   ice  Ljava/io/InvalidClassException;
    Exceptions:
      throws java.io.InvalidClassException

  void checkDefaultSerialize();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.io.ObjectStreamClass this
         0: .line 861
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 862
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.defaultSerializeEx:Ljava/io/InvalidClassException;
            ifnull 7
         2: .line 864
            new java.io.InvalidClassException
            dup
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.defaultSerializeEx:Ljava/io/InvalidClassException;
            getfield java.io.InvalidClassException.classname:Ljava/lang/String;
         3: .line 865
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.defaultSerializeEx:Ljava/io/InvalidClassException;
            invokevirtual java.io.InvalidClassException.getMessage:()Ljava/lang/String;
         4: .line 864
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         5: .line 863
            astore 1 /* ice */
        start local 1 // java.io.InvalidClassException ice
         6: .line 866
            aload 1 /* ice */
            athrow
        end local 1 // java.io.InvalidClassException ice
         7: .line 868
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.io.ObjectStreamClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/io/ObjectStreamClass;
            6    7     1   ice  Ljava/io/InvalidClassException;
    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 876
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 877
            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 887
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 888
            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 898
            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 908
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 11
         2: .line 909
      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 910
            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 911
            aload 2 /* type */
            ifnull 6
         5: .line 912
            aload 2 /* type */
            ldc Ljava/lang/Object;
            if_acmpne 7
            aload 4 /* f */
            invokevirtual java.io.ObjectStreamField.isPrimitive:()Z
            ifne 7
         6: .line 914
      StackMap locals: java.io.ObjectStreamField
      StackMap stack:
            aload 4 /* f */
            areturn
         7: .line 916
      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 917
            aload 5 /* ftype */
            ifnull 10
            aload 2 /* type */
            aload 5 /* ftype */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 10
         9: .line 918
            aload 4 /* f */
            areturn
        end local 5 // java.lang.Class ftype
        end local 4 // java.io.ObjectStreamField f
        10: .line 908
      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 922
            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 930
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 931
            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 939
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 940
            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 948
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 949
            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 957
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 958
            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 966
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 967
            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 976
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 977
            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 988
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 989
            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 998
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 999
            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 1008
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 1009
            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 1018
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 1019
            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 1027
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 1028
            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 1036
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 1037
            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 1053
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 1054
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.cons:Ljava/lang/reflect/Constructor;
            ifnull 23
         2: .line 1056
            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 1057
      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 1059
      StackMap locals:
      StackMap stack:
            invokestatic sun.misc.SharedSecrets.getJavaSecurityAccess:()Lsun/misc/JavaSecurityAccess;
            astore 1 /* jsa */
        start local 1 // sun.misc.JavaSecurityAccess jsa
         6: .line 1060
            new java.io.ObjectStreamClass$4
            dup
            aload 0 /* this */
            invokespecial java.io.ObjectStreamClass$4.<init>:(Ljava/io/ObjectStreamClass;)V
            astore 2 /* pea */
        start local 2 // java.security.PrivilegedAction pea
         7: .line 1075
            aload 1 /* jsa */
            aload 2 /* pea */
         8: .line 1076
            invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
         9: .line 1077
            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 1075
            invokeinterface sun.misc.JavaSecurityAccess.doIntersectionPrivilege:(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;Ljava/security/AccessControlContext;)Ljava/lang/Object;
        11: areturn
        12: .line 1078
      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 1079
            aload 3 /* x */
            invokevirtual java.lang.reflect.UndeclaredThrowableException.getCause:()Ljava/lang/Throwable;
            astore 4 /* cause */
        start local 4 // java.lang.Throwable cause
        14: .line 1080
            aload 4 /* cause */
            instanceof java.lang.InstantiationException
            ifeq 16
        15: .line 1081
            aload 4 /* cause */
            checkcast java.lang.InstantiationException
            athrow
        16: .line 1082
      StackMap locals: java.lang.reflect.UndeclaredThrowableException java.lang.Throwable
      StackMap stack:
            aload 4 /* cause */
            instanceof java.lang.reflect.InvocationTargetException
            ifeq 18
        17: .line 1083
            aload 4 /* cause */
            checkcast java.lang.reflect.InvocationTargetException
            athrow
        18: .line 1084
      StackMap locals:
      StackMap stack:
            aload 4 /* cause */
            instanceof java.lang.IllegalAccessException
            ifeq 20
        19: .line 1085
            aload 4 /* cause */
            checkcast java.lang.IllegalAccessException
            athrow
        20: .line 1087
      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 1090
      StackMap locals: java.io.ObjectStreamClass
      StackMap stack: java.lang.IllegalAccessException
            pop
        22: .line 1092
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
        23: .line 1095
      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   24     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;
      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
    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 1108
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 1109
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.writeObjectMethod:Ljava/lang/reflect/Method;
            ifnull 12
         2: .line 1111
            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 1112
            goto 13
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
         4: astore 3 /* ex */
        start local 3 // java.lang.reflect.InvocationTargetException ex
         5: .line 1113
            aload 3 /* ex */
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
            astore 4 /* th */
        start local 4 // java.lang.Throwable th
         6: .line 1114
            aload 4 /* th */
            instanceof java.io.IOException
            ifeq 8
         7: .line 1115
            aload 4 /* th */
            checkcast java.io.IOException
            athrow
         8: .line 1117
      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 1119
      StackMap locals: java.io.ObjectStreamClass java.lang.Object java.io.ObjectOutputStream
      StackMap stack: java.lang.IllegalAccessException
            pop
        11: .line 1121
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
        12: .line 1124
      StackMap locals:
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        13: .line 1126
      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;
      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 1138
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 1139
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.readObjectMethod:Ljava/lang/reflect/Method;
            ifnull 14
         2: .line 1141
            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 1142
            goto 15
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
         4: astore 3 /* ex */
        start local 3 // java.lang.reflect.InvocationTargetException ex
         5: .line 1143
            aload 3 /* ex */
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
            astore 4 /* th */
        start local 4 // java.lang.Throwable th
         6: .line 1144
            aload 4 /* th */
            instanceof java.lang.ClassNotFoundException
            ifeq 8
         7: .line 1145
            aload 4 /* th */
            checkcast java.lang.ClassNotFoundException
            athrow
         8: .line 1146
      StackMap locals: java.lang.reflect.InvocationTargetException java.lang.Throwable
      StackMap stack:
            aload 4 /* th */
            instanceof java.io.IOException
            ifeq 10
         9: .line 1147
            aload 4 /* th */
            checkcast java.io.IOException
            athrow
        10: .line 1149
      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 1151
      StackMap locals: java.io.ObjectStreamClass java.lang.Object java.io.ObjectInputStream
      StackMap stack: java.lang.IllegalAccessException
            pop
        13: .line 1153
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
        14: .line 1156
      StackMap locals:
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        15: .line 1158
      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;
      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 1169
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 1170
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.readObjectNoDataMethod:Ljava/lang/reflect/Method;
            ifnull 12
         2: .line 1172
            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 1173
            goto 13
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
         4: astore 2 /* ex */
        start local 2 // java.lang.reflect.InvocationTargetException ex
         5: .line 1174
            aload 2 /* ex */
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
            astore 3 /* th */
        start local 3 // java.lang.Throwable th
         6: .line 1175
            aload 3 /* th */
            instanceof java.io.ObjectStreamException
            ifeq 8
         7: .line 1176
            aload 3 /* th */
            checkcast java.io.ObjectStreamException
            athrow
         8: .line 1178
      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 1180
      StackMap locals: java.io.ObjectStreamClass java.lang.Object
      StackMap stack: java.lang.IllegalAccessException
            pop
        11: .line 1182
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
        12: .line 1185
      StackMap locals:
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        13: .line 1187
      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;
      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 1198
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 1199
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.writeReplaceMethod:Ljava/lang/reflect/Method;
            ifnull 12
         2: .line 1201
            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 1202
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 2 /* ex */
        start local 2 // java.lang.reflect.InvocationTargetException ex
         5: .line 1203
            aload 2 /* ex */
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
            astore 3 /* th */
        start local 3 // java.lang.Throwable th
         6: .line 1204
            aload 3 /* th */
            instanceof java.io.ObjectStreamException
            ifeq 8
         7: .line 1205
            aload 3 /* th */
            checkcast java.io.ObjectStreamException
            athrow
         8: .line 1207
      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 1208
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
        end local 3 // java.lang.Throwable th
        end local 2 // java.lang.reflect.InvocationTargetException ex
        10: .line 1210
      StackMap locals: java.io.ObjectStreamClass java.lang.Object
      StackMap stack: java.lang.IllegalAccessException
            pop
        11: .line 1212
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
        12: .line 1215
      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;
      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 1228
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.requireInitialized:()V
         1: .line 1229
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.readResolveMethod:Ljava/lang/reflect/Method;
            ifnull 12
         2: .line 1231
            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 1232
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 2 /* ex */
        start local 2 // java.lang.reflect.InvocationTargetException ex
         5: .line 1233
            aload 2 /* ex */
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
            astore 3 /* th */
        start local 3 // java.lang.Throwable th
         6: .line 1234
            aload 3 /* th */
            instanceof java.io.ObjectStreamException
            ifeq 8
         7: .line 1235
            aload 3 /* th */
            checkcast java.io.ObjectStreamException
            athrow
         8: .line 1237
      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 1238
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
        end local 3 // java.lang.Throwable th
        end local 2 // java.lang.reflect.InvocationTargetException ex
        10: .line 1240
      StackMap locals: java.io.ObjectStreamClass java.lang.Object
      StackMap stack: java.lang.IllegalAccessException
            pop
        11: .line 1242
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
        12: .line 1245
      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;
      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 1277
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.dataLayout:[Ljava/io/ObjectStreamClass$ClassDataSlot;
            ifnonnull 2
         1: .line 1278
            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 1280
      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 1286
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* slots */
        start local 1 // java.util.ArrayList slots
         1: .line 1287
            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 1290
            goto 5
         4: .line 1291
      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 1290
      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 1294
      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 1296
            aload 0 /* this */
            astore 5 /* d */
        start local 5 // java.io.ObjectStreamClass d
         8: goto 34
         9: .line 1297
      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 1298
            new java.io.InvalidClassException
            dup
            ldc "Circular reference."
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 1300
      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 1304
            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 1305
            aconst_null
            astore 7 /* match */
        start local 7 // java.lang.Class match
        16: .line 1306
            aload 2 /* start */
            astore 8 /* c */
        start local 8 // java.lang.Class c
        17: goto 22
        18: .line 1307
      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 1308
            aload 8 /* c */
            astore 7 /* match */
        20: .line 1309
            goto 23
        21: .line 1306
      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 1314
      StackMap locals:
      StackMap stack:
            aload 7 /* match */
            ifnull 32
        24: .line 1315
            aload 2 /* start */
            astore 8 /* c */
        start local 8 // java.lang.Class c
        25: goto 30
        26: .line 1316
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 1 /* slots */
            new java.io.ObjectStreamClass$ClassDataSlot
            dup
        27: .line 1317
            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 1316
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        29: .line 1315
            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 1319
            aload 7 /* match */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            astore 2 /* start */
        32: .line 1323
      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 1296
            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 1327
            aload 2 /* start */
            astore 5 /* c */
        start local 5 // java.lang.Class c
        36: goto 41
        37: .line 1328
      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 1329
            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 1328
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        40: .line 1327
            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 1333
            aload 1 /* slots */
            invokestatic java.util.Collections.reverse:(Ljava/util/List;)V
        43: .line 1334
            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 1342
            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 1350
            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 1360
            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 1361
            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 1370
            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 1371
            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 1379
            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 1380
            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 1388
            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 1389
            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 1397
            aload 0 /* this */
            iconst_0
            putfield java.io.ObjectStreamClass.primDataSize:I
         1: .line 1398
            aload 0 /* this */
            iconst_0
            putfield java.io.ObjectStreamClass.numObjFields:I
         2: .line 1399
            iconst_m1
            istore 1 /* firstObjIndex */
        start local 1 // int firstObjIndex
         3: .line 1401
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 24
         5: .line 1402
      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 1403
            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 1406
      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 1407
            goto 23
         9: .line 1411
      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 1412
            aload 0 /* this */
            dup
            getfield java.io.ObjectStreamClass.primDataSize:I
            iconst_2
            iadd
            putfield java.io.ObjectStreamClass.primDataSize:I
        11: .line 1413
            goto 23
        12: .line 1417
      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 1418
            aload 0 /* this */
            dup
            getfield java.io.ObjectStreamClass.primDataSize:I
            iconst_4
            iadd
            putfield java.io.ObjectStreamClass.primDataSize:I
        14: .line 1419
            goto 23
        15: .line 1423
      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 1424
            aload 0 /* this */
            dup
            getfield java.io.ObjectStreamClass.primDataSize:I
            bipush 8
            iadd
            putfield java.io.ObjectStreamClass.primDataSize:I
        17: .line 1425
            goto 23
        18: .line 1429
      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 1430
            iload 1 /* firstObjIndex */
            iconst_m1
            if_icmpne 23
        20: .line 1431
            iload 2 /* i */
            istore 1 /* firstObjIndex */
        21: .line 1433
            goto 23
        22: .line 1436
      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 1401
      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 1439
            iload 1 /* firstObjIndex */
            iconst_m1
            if_icmpeq 28
        26: .line 1440
            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 1442
            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 1444
      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 1454
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.cl:Ljava/lang/Class;
            aload 1 /* cl */
            if_acmpne 2
         1: .line 1455
            aload 0 /* this */
            areturn
         2: .line 1457
      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 1458
            aload 0 /* this */
            getfield java.io.ObjectStreamClass.isProxy:Z
            ifeq 6
         4: .line 1459
            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 1460
            goto 7
         6: .line 1461
      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 1463
      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
    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 1473
            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 1474
            aload 1 /* cons */
            iconst_1
            invokevirtual java.lang.reflect.Constructor.setAccessible:(Z)V
         2: .line 1475
            aload 1 /* cons */
            invokevirtual java.lang.reflect.Constructor.getModifiers:()I
            iconst_1
            iand
            ifeq 4
         3: .line 1476
            aload 1 /* cons */
            goto 5
      StackMap locals: java.lang.reflect.Constructor
      StackMap stack:
         4: aconst_null
         5: .line 1475
      StackMap locals:
      StackMap stack: java.lang.reflect.Constructor
            areturn
        end local 1 // java.lang.reflect.Constructor cons
         6: .line 1477
      StackMap locals: java.lang.Class
      StackMap stack: java.lang.NoSuchMethodException
            pop
         7: .line 1478
            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 1496
            aload 0 /* cl */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            astore 1 /* superCl */
        start local 1 // java.lang.Class superCl
         1: .line 1497
            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 1498
      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 1499
      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 1501
            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 1502
            aload 2 /* ctor */
            invokevirtual java.lang.reflect.Constructor.getModifiers:()I
            iconst_2
            iand
            ifne 8
         7: .line 1503
            iconst_1
            ireturn
        end local 2 // java.lang.reflect.Constructor ctor
         8: .line 1501
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         9: iload 3
            iload 4
            if_icmplt 5
        10: .line 1506
            iconst_0
            ireturn
        11: .line 1509
      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 1510
            iconst_0
            ireturn
        13: .line 1513
      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 1514
            aload 2 /* ctor */
            invokevirtual java.lang.reflect.Constructor.getModifiers:()I
            iconst_5
            iand
            ifeq 17
        16: .line 1515
            iconst_1
            ireturn
        end local 2 // java.lang.reflect.Constructor ctor
        17: .line 1513
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
        18: iload 3
            iload 4
            if_icmplt 14
        19: .line 1518
            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 1528
            aload 0 /* cl */
            astore 1 /* initCl */
        start local 1 // java.lang.Class initCl
         1: .line 1529
            goto 6
         2: .line 1530
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 1 /* initCl */
            astore 2 /* prev */
        start local 2 // java.lang.Class prev
         3: .line 1531
            aload 1 /* initCl */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            dup
            astore 1 /* initCl */
            ifnull 5
         4: .line 1532
            getstatic java.io.ObjectStreamClass.disableSerialConstructorChecks:Z
            ifne 6
            aload 2 /* prev */
            invokestatic java.io.ObjectStreamClass.superHasAccessibleConstructor:(Ljava/lang/Class;)Z
            ifne 6
         5: .line 1533
      StackMap locals: java.lang.Class
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.Class prev
         6: .line 1529
      StackMap locals:
      StackMap stack:
            ldc Ljava/io/Serializable;
            aload 1 /* initCl */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 2
         7: .line 1537
            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 1538
            aload 2 /* cons */
            invokevirtual java.lang.reflect.Constructor.getModifiers:()I
            istore 3 /* mods */
        start local 3 // int mods
         9: .line 1539
            iload 3 /* mods */
            iconst_2
            iand
            ifne 12
        10: .line 1540
            iload 3 /* mods */
            iconst_5
            iand
            ifne 13
        11: .line 1541
            aload 0 /* cl */
            aload 1 /* initCl */
            invokestatic java.io.ObjectStreamClass.packageEquals:(Ljava/lang/Class;Ljava/lang/Class;)Z
            ifne 13
        12: .line 1543
      StackMap locals: java.lang.reflect.Constructor int
      StackMap stack:
            aconst_null
            areturn
        13: .line 1545
      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 1546
            aload 2 /* cons */
            iconst_1
            invokevirtual java.lang.reflect.Constructor.setAccessible:(Z)V
        15: .line 1547
            aload 2 /* cons */
        16: areturn
        end local 3 // int mods
        end local 2 // java.lang.reflect.Constructor cons
        17: .line 1548
      StackMap locals: java.lang.Class java.lang.Class
      StackMap stack: java.lang.NoSuchMethodException
            pop
        18: .line 1549
            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 1563
            aconst_null
            astore 4 /* meth */
        start local 4 // java.lang.reflect.Method meth
         1: .line 1564
            aload 0 /* cl */
            astore 5 /* defCl */
        start local 5 // java.lang.Class defCl
         2: .line 1565
            goto 7
         3: .line 1567
      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 1568
            goto 8
         5: .line 1569
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
         6: .line 1570
            aload 5 /* defCl */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            astore 5 /* defCl */
         7: .line 1565
      StackMap locals:
      StackMap stack:
            aload 5 /* defCl */
            ifnonnull 3
         8: .line 1574
      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 1575
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        10: .line 1577
      StackMap locals:
      StackMap stack:
            aload 4 /* meth */
            iconst_1
            invokevirtual java.lang.reflect.Method.setAccessible:(Z)V
        11: .line 1578
            aload 4 /* meth */
            invokevirtual java.lang.reflect.Method.getModifiers:()I
            istore 6 /* mods */
        start local 6 // int mods
        12: .line 1579
            iload 6 /* mods */
            sipush 1032
            iand
            ifeq 14
        13: .line 1580
            aconst_null
            areturn
        14: .line 1581
      StackMap locals: int
      StackMap stack:
            iload 6 /* mods */
            iconst_5
            iand
            ifeq 16
        15: .line 1582
            aload 4 /* meth */
            areturn
        16: .line 1583
      StackMap locals:
      StackMap stack:
            iload 6 /* mods */
            iconst_2
            iand
            ifeq 20
        17: .line 1584
            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 1586
      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 1600
            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 1601
            aload 4 /* meth */
            iconst_1
            invokevirtual java.lang.reflect.Method.setAccessible:(Z)V
         2: .line 1602
            aload 4 /* meth */
            invokevirtual java.lang.reflect.Method.getModifiers:()I
            istore 5 /* mods */
        start local 5 // int mods
         3: .line 1603
            aload 4 /* meth */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            aload 3 /* returnType */
            if_acmpne 6
         4: .line 1604
            iload 5 /* mods */
            bipush 8
            iand
            ifne 6
         5: .line 1605
            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 1603
      StackMap locals:
      StackMap stack: java.lang.reflect.Method
            areturn
        end local 5 // int mods
        end local 4 // java.lang.reflect.Method meth
         8: .line 1606
      StackMap locals: java.lang.Class java.lang.String java.lang.Class[] java.lang.Class
      StackMap stack: java.lang.NoSuchMethodException
            pop
         9: .line 1607
            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 1616
            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 1617
            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 1616
            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;
    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 1624
            aload 0 /* cl */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 1 /* s */
        start local 1 // java.lang.String s
         1: .line 1625
            aload 1 /* s */
            bipush 91
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 2 /* i */
        start local 2 // int i
         2: .line 1626
            iload 2 /* i */
            iflt 4
         3: .line 1627
            aload 1 /* s */
            iload 2 /* i */
            iconst_2
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* s */
         4: .line 1629
      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 1630
            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
    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 1638
            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 1639
            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 1640
            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  

  static java.lang.String getClassSignature(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.Class cl
         0: .line 1647
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sbuf */
        start local 1 // java.lang.StringBuilder sbuf
         1: .line 1648
            goto 4
         2: .line 1649
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 1 /* sbuf */
            bipush 91
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         3: .line 1650
            aload 0 /* cl */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 0 /* cl */
         4: .line 1648
      StackMap locals:
      StackMap stack:
            aload 0 /* cl */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 2
         5: .line 1652
            aload 0 /* cl */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 34
         6: .line 1653
            aload 0 /* cl */
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            if_acmpne 9
         7: .line 1654
            aload 1 /* sbuf */
            bipush 73
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         8: .line 1655
            goto 35
      StackMap locals:
      StackMap stack:
         9: aload 0 /* cl */
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
            if_acmpne 12
        10: .line 1656
            aload 1 /* sbuf */
            bipush 66
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        11: .line 1657
            goto 35
      StackMap locals:
      StackMap stack:
        12: aload 0 /* cl */
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            if_acmpne 15
        13: .line 1658
            aload 1 /* sbuf */
            bipush 74
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        14: .line 1659
            goto 35
      StackMap locals:
      StackMap stack:
        15: aload 0 /* cl */
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            if_acmpne 18
        16: .line 1660
            aload 1 /* sbuf */
            bipush 70
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        17: .line 1661
            goto 35
      StackMap locals:
      StackMap stack:
        18: aload 0 /* cl */
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            if_acmpne 21
        19: .line 1662
            aload 1 /* sbuf */
            bipush 68
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        20: .line 1663
            goto 35
      StackMap locals:
      StackMap stack:
        21: aload 0 /* cl */
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
            if_acmpne 24
        22: .line 1664
            aload 1 /* sbuf */
            bipush 83
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        23: .line 1665
            goto 35
      StackMap locals:
      StackMap stack:
        24: aload 0 /* cl */
            getstatic java.lang.Character.TYPE:Ljava/lang/Class;
            if_acmpne 27
        25: .line 1666
            aload 1 /* sbuf */
            bipush 67
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        26: .line 1667
            goto 35
      StackMap locals:
      StackMap stack:
        27: aload 0 /* cl */
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            if_acmpne 30
        28: .line 1668
            aload 1 /* sbuf */
            bipush 90
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        29: .line 1669
            goto 35
      StackMap locals:
      StackMap stack:
        30: aload 0 /* cl */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 33
        31: .line 1670
            aload 1 /* sbuf */
            bipush 86
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        32: .line 1671
            goto 35
        33: .line 1672
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
        34: .line 1675
      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 1677
      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;
    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 1686
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* sbuf */
        start local 2 // java.lang.StringBuilder sbuf
         1: .line 1687
            aload 2 /* sbuf */
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         2: .line 1688
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 1689
      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 1688
            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 1691
            aload 2 /* sbuf */
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         8: .line 1692
            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 1693
            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
    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 1702
            aload 0 /* th */
            instanceof java.lang.RuntimeException
            ifeq 2
         1: .line 1703
            aload 0 /* th */
            checkcast java.lang.RuntimeException
            athrow
         2: .line 1704
      StackMap locals:
      StackMap stack:
            aload 0 /* th */
            instanceof java.lang.Error
            ifeq 4
         3: .line 1705
            aload 0 /* th */
            checkcast java.lang.Error
            athrow
         4: .line 1707
      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 1708
            aload 1 /* ex */
            aload 0 /* th */
            invokevirtual java.io.IOException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         6: .line 1709
            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 1724
            ldc Ljava/io/Serializable;
            aload 0 /* cl */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 9
         1: .line 1725
            ldc Ljava/io/Externalizable;
            aload 0 /* cl */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 9
         2: .line 1726
            aload 0 /* cl */
            invokestatic java.lang.reflect.Proxy.isProxyClass:(Ljava/lang/Class;)Z
            ifne 9
         3: .line 1727
            aload 0 /* cl */
            invokevirtual java.lang.Class.isInterface:()Z
            ifne 9
         4: .line 1729
            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 1730
            aload 0 /* cl */
            invokestatic java.io.ObjectStreamClass.getDefaultSerialFields:(Ljava/lang/Class;)[Ljava/io/ObjectStreamField;
            astore 1 /* fields */
         7: .line 1732
      StackMap locals: java.io.ObjectStreamField[]
      StackMap stack:
            aload 1 /* fields */
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;)V
         8: .line 1733
            goto 10
        end local 1 // java.io.ObjectStreamField[] fields
         9: .line 1734
      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 1736
      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
    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 1753
            aconst_null
            astore 1 /* serialPersistentFields */
        start local 1 // java.io.ObjectStreamField[] serialPersistentFields
         1: .line 1755
            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 1756
            bipush 26
            istore 3 /* mask */
        start local 3 // int mask
         3: .line 1757
            aload 2 /* f */
            invokevirtual java.lang.reflect.Field.getModifiers:()I
            iload 3 /* mask */
            iand
            iload 3 /* mask */
            if_icmpne 8
         4: .line 1758
            aload 2 /* f */
            iconst_1
            invokevirtual java.lang.reflect.Field.setAccessible:(Z)V
         5: .line 1759
            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 1761
            goto 8
      StackMap locals: java.lang.Class java.io.ObjectStreamField[]
      StackMap stack: java.lang.Exception
         7: pop
         8: .line 1763
      StackMap locals:
      StackMap stack:
            aload 1 /* serialPersistentFields */
            ifnonnull 10
         9: .line 1764
            aconst_null
            areturn
        10: .line 1765
      StackMap locals:
      StackMap stack:
            aload 1 /* serialPersistentFields */
            arraylength
            ifne 12
        11: .line 1766
            getstatic java.io.ObjectStreamClass.NO_FIELDS:[Ljava/io/ObjectStreamField;
            areturn
        12: .line 1770
      StackMap locals:
      StackMap stack:
            aload 1 /* serialPersistentFields */
            arraylength
            anewarray java.io.ObjectStreamField
        13: .line 1769
            astore 2 /* boundFields */
        start local 2 // java.io.ObjectStreamField[] boundFields
        14: .line 1771
            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 1773
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        16: goto 37
        17: .line 1774
      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 1776
            aload 5 /* spf */
            invokevirtual java.io.ObjectStreamField.getName:()Ljava/lang/String;
            astore 6 /* fname */
        start local 6 // java.lang.String fname
        19: .line 1777
            aload 3 /* fieldNames */
            aload 6 /* fname */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 23
        20: .line 1778
            new java.io.InvalidClassException
            dup
        21: .line 1779
            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 1778
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 1781
      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 1784
            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 1785
            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 1786
            aload 7 /* f */
            invokevirtual java.lang.reflect.Field.getModifiers:()I
            bipush 8
            iand
            ifne 32
        27: .line 1788
            aload 2 /* boundFields */
            iload 4 /* i */
        28: .line 1789
            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 1788
            aastore
        end local 7 // java.lang.reflect.Field f
        30: .line 1791
            goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldException
        31: pop
        32: .line 1793
      StackMap locals:
      StackMap stack:
            aload 2 /* boundFields */
            iload 4 /* i */
            aaload
            ifnonnull 36
        33: .line 1794
            aload 2 /* boundFields */
            iload 4 /* i */
            new java.io.ObjectStreamField
            dup
        34: .line 1795
            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 1794
            aastore
        end local 6 // java.lang.String fname
        end local 5 // java.io.ObjectStreamField spf
        36: .line 1773
      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 1798
            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
    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 1808
            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 1809
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* list */
        start local 2 // java.util.ArrayList list
         2: .line 1810
            sipush 136
            istore 3 /* mask */
        start local 3 // int mask
         3: .line 1812
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 8
         5: .line 1813
      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 1814
            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 1812
      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 1817
            aload 2 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 4 /* size */
        start local 4 // int size
        10: .line 1818
            iload 4 /* size */
            ifne 11
            getstatic java.io.ObjectStreamClass.NO_FIELDS:[Ljava/io/ObjectStreamField;
            goto 12
        11: .line 1819
      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 1818
      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
    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 1828
            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 1829
            bipush 24
            istore 2 /* mask */
        start local 2 // int mask
         2: .line 1830
            aload 1 /* f */
            invokevirtual java.lang.reflect.Field.getModifiers:()I
            iload 2 /* mask */
            iand
            iload 2 /* mask */
            if_icmpne 7
         3: .line 1831
            aload 1 /* f */
            iconst_1
            invokevirtual java.lang.reflect.Field.setAccessible:(Z)V
         4: .line 1832
            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 1834
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         7: .line 1836
      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
    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 1843
            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 1845
      StackMap locals:
      StackMap stack:
            lconst_0
            lreturn
         2: .line 1849
      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 1850
            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 1852
            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 1854
            aload 0 /* cl */
            invokevirtual java.lang.Class.getModifiers:()I
         6: .line 1855
            sipush 1553
         7: .line 1854
            iand
            istore 3 /* classMods */
        start local 3 // int classMods
         8: .line 1862
            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 1863
            iload 3 /* classMods */
            sipush 512
            iand
            ifeq 14
        10: .line 1864
            aload 4 /* methods */
            arraylength
            ifle 12
        11: .line 1865
            iload 3 /* classMods */
            sipush 1024
            ior
            goto 13
        12: .line 1866
      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 1864
      StackMap locals:
      StackMap stack: int
            istore 3 /* classMods */
        14: .line 1868
      StackMap locals:
      StackMap stack:
            aload 2 /* dout */
            iload 3 /* classMods */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        15: .line 1870
            aload 0 /* cl */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 29
        16: .line 1876
            aload 0 /* cl */
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
            astore 5 /* interfaces */
        start local 5 // java.lang.Class[] interfaces
        17: .line 1877
            aload 5 /* interfaces */
            arraylength
            anewarray java.lang.String
            astore 6 /* ifaceNames */
        start local 6 // java.lang.String[] ifaceNames
        18: .line 1878
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        19: goto 22
        20: .line 1879
      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 1878
            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 1881
            aload 6 /* ifaceNames */
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;)V
        24: .line 1882
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        25: goto 28
        26: .line 1883
      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 1882
            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 1887
      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 1888
            aload 5 /* fields */
            arraylength
            anewarray java.io.ObjectStreamClass$MemberSignature
            astore 6 /* fieldSigs */
        start local 6 // java.io.ObjectStreamClass$MemberSignature[] fieldSigs
        31: .line 1889
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        32: goto 35
        33: .line 1890
      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 1889
            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 1892
            aload 6 /* fieldSigs */
            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
        37: .line 1897
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        38: goto 49
        39: .line 1898
      StackMap locals:
      StackMap stack:
            aload 6 /* fieldSigs */
            iload 7 /* i */
            aaload
            astore 8 /* sig */
        start local 8 // java.io.ObjectStreamClass$MemberSignature sig
        40: .line 1899
            aload 8 /* sig */
            getfield java.io.ObjectStreamClass$MemberSignature.member:Ljava/lang/reflect/Member;
            invokeinterface java.lang.reflect.Member.getModifiers:()I
        41: .line 1900
            sipush 223
        42: .line 1899
            iand
            istore 9 /* mods */
        start local 9 // int mods
        43: .line 1903
            iload 9 /* mods */
            iconst_2
            iand
            ifeq 45
        44: .line 1904
            iload 9 /* mods */
            sipush 136
            iand
            ifne 48
        45: .line 1906
      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 1907
            aload 2 /* dout */
            iload 9 /* mods */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        47: .line 1908
            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 1897
      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 1912
            aload 0 /* cl */
            invokestatic java.io.ObjectStreamClass.hasStaticInitializer:(Ljava/lang/Class;)Z
            ifeq 54
        51: .line 1913
            aload 2 /* dout */
            ldc "<clinit>"
            invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
        52: .line 1914
            aload 2 /* dout */
            bipush 8
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        53: .line 1915
            aload 2 /* dout */
            ldc "()V"
            invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
        54: .line 1918
      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 1919
            aload 7 /* cons */
            arraylength
            anewarray java.io.ObjectStreamClass$MemberSignature
            astore 8 /* consSigs */
        start local 8 // java.io.ObjectStreamClass$MemberSignature[] consSigs
        56: .line 1920
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        57: goto 60
        58: .line 1921
      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 1920
            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 1923
            aload 8 /* consSigs */
            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
        62: .line 1928
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        63: goto 73
        64: .line 1929
      StackMap locals:
      StackMap stack:
            aload 8 /* consSigs */
            iload 9 /* i */
            aaload
            astore 10 /* sig */
        start local 10 // java.io.ObjectStreamClass$MemberSignature sig
        65: .line 1930
            aload 10 /* sig */
            getfield java.io.ObjectStreamClass$MemberSignature.member:Ljava/lang/reflect/Member;
            invokeinterface java.lang.reflect.Member.getModifiers:()I
        66: .line 1931
            sipush 3391
        67: .line 1930
            iand
            istore 11 /* mods */
        start local 11 // int mods
        68: .line 1935
            iload 11 /* mods */
            iconst_2
            iand
            ifne 72
        69: .line 1936
            aload 2 /* dout */
            ldc "<init>"
            invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
        70: .line 1937
            aload 2 /* dout */
            iload 11 /* mods */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        71: .line 1938
            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 1928
      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 1942
            aload 4 /* methods */
            arraylength
            anewarray java.io.ObjectStreamClass$MemberSignature
            astore 9 /* methSigs */
        start local 9 // java.io.ObjectStreamClass$MemberSignature[] methSigs
        75: .line 1943
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        76: goto 79
        77: .line 1944
      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 1943
            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 1946
            aload 9 /* methSigs */
            new java.io.ObjectStreamClass$7
            dup
            invokespecial java.io.ObjectStreamClass$7.<init>:()V
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
        81: .line 1955
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        82: goto 92
        83: .line 1956
      StackMap locals:
      StackMap stack:
            aload 9 /* methSigs */
            iload 10 /* i */
            aaload
            astore 11 /* sig */
        start local 11 // java.io.ObjectStreamClass$MemberSignature sig
        84: .line 1957
            aload 11 /* sig */
            getfield java.io.ObjectStreamClass$MemberSignature.member:Ljava/lang/reflect/Member;
            invokeinterface java.lang.reflect.Member.getModifiers:()I
        85: .line 1958
            sipush 3391
        86: .line 1957
            iand
            istore 12 /* mods */
        start local 12 // int mods
        87: .line 1962
            iload 12 /* mods */
            iconst_2
            iand
            ifne 91
        88: .line 1963
            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 1964
            aload 2 /* dout */
            iload 12 /* mods */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        90: .line 1965
            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 1955
      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 1969
            aload 2 /* dout */
            invokevirtual java.io.DataOutputStream.flush:()V
        94: .line 1971
            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 1972
            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 1973
            lconst_0
            lstore 12 /* hash */
        start local 12 // long hash
        97: .line 1974
            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 1975
      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 1974
            iinc 14 /* i */ -1
      StackMap locals:
      StackMap stack:
       101: iload 14 /* i */
            ifge 99
        end local 14 // int i
       102: .line 1977
            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 1978
      StackMap locals: java.lang.Class
      StackMap stack: java.io.IOException
            pop
       105: .line 1979
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
       106: .line 1980
      StackMap locals:
      StackMap stack: java.security.NoSuchAlgorithmException
            astore 1 /* ex */
        start local 1 // java.security.NoSuchAlgorithmException ex
       107: .line 1981
            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
          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
    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
    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 2283
            aload 1 /* localDesc */
            ifnull 2
            aload 0 /* fields */
            arraylength
            ifle 2
         1: .line 2284
            aload 1 /* localDesc */
            getfield java.io.ObjectStreamClass.cl:Ljava/lang/Class;
            goto 3
      StackMap locals:
      StackMap stack:
         2: aconst_null
         3: .line 2283
      StackMap locals:
      StackMap stack: java.lang.Class
            astore 2 /* cl */
        start local 2 // java.lang.Class cl
         4: .line 2285
            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 2286
            new java.io.ObjectStreamClass$FieldReflectorKey
            dup
            aload 2 /* cl */
            aload 0 /* fields */
         6: .line 2287
            getstatic java.io.ObjectStreamClass$Caches.reflectorsQueue:Ljava/lang/ref/ReferenceQueue;
         7: .line 2286
            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 2288
            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 2289
            aconst_null
            astore 5 /* entry */
        start local 5 // java.lang.Object entry
        10: .line 2290
            aload 4 /* ref */
            ifnull 12
        11: .line 2291
            aload 4 /* ref */
            invokevirtual java.lang.ref.Reference.get:()Ljava/lang/Object;
            astore 5 /* entry */
        12: .line 2293
      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 2294
            aload 5 /* entry */
            ifnonnull 24
        14: .line 2295
            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 2296
            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 2298
      StackMap locals: java.io.ObjectStreamClass$EntryFuture java.io.ObjectStreamClass$EntryFuture java.lang.ref.Reference
      StackMap stack:
            aload 4 /* ref */
            ifnull 18
        17: .line 2299
            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 2301
      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 2302
            aload 4 /* ref */
            ifnull 21
        20: .line 2303
            aload 4 /* ref */
            invokevirtual java.lang.ref.Reference.get:()Ljava/lang/Object;
            astore 5 /* entry */
        21: .line 2305
      StackMap locals:
      StackMap stack:
            aload 4 /* ref */
            ifnull 22
            aload 5 /* entry */
            ifnull 16
        22: .line 2306
      StackMap locals:
      StackMap stack:
            aload 5 /* entry */
            ifnonnull 24
        23: .line 2307
            aload 7 /* newEntry */
            astore 6 /* future */
        end local 8 // java.lang.ref.Reference newRef
        end local 7 // java.io.ObjectStreamClass$EntryFuture newEntry
        24: .line 2311
      StackMap locals:
      StackMap stack:
            aload 5 /* entry */
            instanceof java.io.ObjectStreamClass$FieldReflector
            ifeq 26
        25: .line 2312
            aload 5 /* entry */
            checkcast java.io.ObjectStreamClass$FieldReflector
            areturn
        26: .line 2313
      StackMap locals:
      StackMap stack:
            aload 5 /* entry */
            instanceof java.io.ObjectStreamClass$EntryFuture
            ifeq 29
        27: .line 2314
            aload 5 /* entry */
            checkcast java.io.ObjectStreamClass$EntryFuture
            invokevirtual java.io.ObjectStreamClass$EntryFuture.get:()Ljava/lang/Object;
            astore 5 /* entry */
        28: .line 2315
            goto 36
      StackMap locals:
      StackMap stack:
        29: aload 5 /* entry */
            ifnonnull 36
        30: .line 2317
            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 2318
            goto 34
      StackMap locals:
      StackMap stack: java.lang.Throwable
        32: astore 7 /* th */
        start local 7 // java.lang.Throwable th
        33: .line 2319
            aload 7 /* th */
            astore 5 /* entry */
        end local 7 // java.lang.Throwable th
        34: .line 2321
      StackMap locals:
      StackMap stack:
            aload 6 /* future */
            aload 5 /* entry */
            invokevirtual java.io.ObjectStreamClass$EntryFuture.set:(Ljava/lang/Object;)Z
            pop
        35: .line 2322
            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 2325
      StackMap locals:
      StackMap stack:
            aload 5 /* entry */
            instanceof java.io.ObjectStreamClass$FieldReflector
            ifeq 38
        37: .line 2326
            aload 5 /* entry */
            checkcast java.io.ObjectStreamClass$FieldReflector
            areturn
        38: .line 2327
      StackMap locals:
      StackMap stack:
            aload 5 /* entry */
            instanceof java.io.InvalidClassException
            ifeq 40
        39: .line 2328
            aload 5 /* entry */
            checkcast java.io.InvalidClassException
            athrow
        40: .line 2329
      StackMap locals:
      StackMap stack:
            aload 5 /* entry */
            instanceof java.lang.RuntimeException
            ifeq 42
        41: .line 2330
            aload 5 /* entry */
            checkcast java.lang.RuntimeException
            athrow
        42: .line 2331
      StackMap locals:
      StackMap stack:
            aload 5 /* entry */
            instanceof java.lang.Error
            ifeq 44
        43: .line 2332
            aload 5 /* entry */
            checkcast java.lang.Error
            athrow
        44: .line 2334
      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 2399
            aload 1 /* localDesc */
            ifnull 2
         1: .line 2400
            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 2399
      StackMap locals:
      StackMap stack: java.io.ObjectStreamField[]
            astore 2 /* localFields */
        start local 2 // java.io.ObjectStreamField[] localFields
         4: .line 2413
            aload 0 /* fields */
            arraylength
            anewarray java.io.ObjectStreamField
            astore 3 /* matches */
        start local 3 // java.io.ObjectStreamField[] matches
         5: .line 2414
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: goto 35
         7: .line 2415
      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 2416
            iconst_0
            istore 7 /* j */
        start local 7 // int j
        10: goto 27
        11: .line 2417
      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 2418
            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 2419
            aload 5 /* f */
            invokevirtual java.io.ObjectStreamField.isPrimitive:()Z
            ifne 14
            aload 8 /* lf */
            invokevirtual java.io.ObjectStreamField.isPrimitive:()Z
            ifeq 18
        14: .line 2420
      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 2422
            new java.io.InvalidClassException
            dup
            aload 1 /* localDesc */
            getfield java.io.ObjectStreamClass.name:Ljava/lang/String;
        16: .line 2423
            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 2422
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            athrow
        18: .line 2425
      StackMap locals:
      StackMap stack:
            aload 8 /* lf */
            invokevirtual java.io.ObjectStreamField.getField:()Ljava/lang/reflect/Field;
            ifnull 23
        19: .line 2426
            new java.io.ObjectStreamField
            dup
        20: .line 2427
            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 2426
            invokespecial java.io.ObjectStreamField.<init>:(Ljava/lang/reflect/Field;ZZ)V
            astore 6 /* m */
        22: .line 2428
            goto 26
        23: .line 2429
      StackMap locals:
      StackMap stack:
            new java.io.ObjectStreamField
            dup
        24: .line 2430
            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 2429
            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 2416
      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 2434
            aload 6 /* m */
            ifnonnull 32
        29: .line 2435
            new java.io.ObjectStreamField
            dup
        30: .line 2436
            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 2435
            invokespecial java.io.ObjectStreamField.<init>:(Ljava/lang/String;Ljava/lang/String;Z)V
            astore 6 /* m */
        32: .line 2438
      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 2439
            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 2414
            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 2441
            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 2453
            goto 2
        start local 2 // java.lang.ref.Reference ref
         1: .line 2454
      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 2453
      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 2456
            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    
}
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$7  java.io.ObjectStreamClass$Caches  java.io.ObjectStreamClass$ClassDataSlot  java.io.ObjectStreamClass$EntryFuture  java.io.ObjectStreamClass$EntryFuture$1  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
  java.io.ObjectStreamClass$7
  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 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 GetReflectionFactoryAction = sun.reflect.ReflectionFactory$GetReflectionFactoryAction of sun.reflect.ReflectionFactory