public class java.io.ObjectInputStream extends java.io.InputStream implements java.io.ObjectInput, java.io.ObjectStreamConstants
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: java.io.ObjectInputStream
  super_class: java.io.InputStream
{
  private static final int NULL_HANDLE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  private static final java.lang.Object unsharedMarker;
    descriptor: Ljava/lang/Object;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.HashMap<java.lang.String, java.lang.Class<?>> primClasses;
    descriptor: Ljava/util/HashMap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Class<*>;>;

  private final java.io.ObjectInputStream$BlockDataInputStream bin;
    descriptor: Ljava/io/ObjectInputStream$BlockDataInputStream;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.io.ObjectInputStream$ValidationList vlist;
    descriptor: Ljava/io/ObjectInputStream$ValidationList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private long depth;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long totalObjectRefs;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

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

  private final java.io.ObjectInputStream$HandleTable handles;
    descriptor: Ljava/io/ObjectInputStream$HandleTable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private byte[] primVals;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private final boolean enableOverride;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private java.io.SerialCallbackContext curContext;
    descriptor: Ljava/io/SerialCallbackContext;
    flags: (0x0002) ACC_PRIVATE

  private sun.misc.ObjectInputFilter serialFilter;
    descriptor: Lsun/misc/ObjectInputFilter;
    flags: (0x0002) ACC_PRIVATE

  private volatile sun.misc.ObjectStreamClassValidator validator;
    descriptor: Lsun/misc/ObjectStreamClassValidator;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 222
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
         1: .line 226
            new java.util.HashMap
            dup
            bipush 8
            fconst_1
            invokespecial java.util.HashMap.<init>:(IF)V
         2: .line 225
            putstatic java.io.ObjectInputStream.primClasses:Ljava/util/HashMap;
         3: .line 228
            getstatic java.io.ObjectInputStream.primClasses:Ljava/util/HashMap;
            ldc "boolean"
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 229
            getstatic java.io.ObjectInputStream.primClasses:Ljava/util/HashMap;
            ldc "byte"
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 230
            getstatic java.io.ObjectInputStream.primClasses:Ljava/util/HashMap;
            ldc "char"
            getstatic java.lang.Character.TYPE:Ljava/lang/Class;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 231
            getstatic java.io.ObjectInputStream.primClasses:Ljava/util/HashMap;
            ldc "short"
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 232
            getstatic java.io.ObjectInputStream.primClasses:Ljava/util/HashMap;
            ldc "int"
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 233
            getstatic java.io.ObjectInputStream.primClasses:Ljava/util/HashMap;
            ldc "long"
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 234
            getstatic java.io.ObjectInputStream.primClasses:Ljava/util/HashMap;
            ldc "float"
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 235
            getstatic java.io.ObjectInputStream.primClasses:Ljava/util/HashMap;
            ldc "double"
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 236
            getstatic java.io.ObjectInputStream.primClasses:Ljava/util/HashMap;
            ldc "void"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 268
            new java.io.ObjectInputStream$1
            dup
            invokespecial java.io.ObjectInputStream$1.<init>:()V
            astore 0 /* javaOISAccess */
        start local 0 // sun.misc.JavaOISAccess javaOISAccess
        13: .line 284
            aload 0 /* javaOISAccess */
            invokestatic sun.misc.SharedSecrets.setJavaOISAccess:(Lsun/misc/JavaOISAccess;)V
        end local 0 // sun.misc.JavaOISAccess javaOISAccess
        14: .line 4007
            invokedynamic setValidator()Lsun/misc/JavaObjectInputStreamAccess;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/io/ObjectInputStream;Lsun/misc/ObjectStreamClassValidator;)V
                  java/io/ObjectInputStream.setValidator(Ljava/io/ObjectInputStream;Lsun/misc/ObjectStreamClassValidator;)V (6)
                  (Ljava/io/ObjectInputStream;Lsun/misc/ObjectStreamClassValidator;)V
            invokestatic sun.misc.SharedSecrets.setJavaObjectInputStreamAccess:(Lsun/misc/JavaObjectInputStreamAccess;)V
        15: .line 4008
            invokedynamic readString()Lsun/misc/JavaObjectInputStreamReadString;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/io/ObjectInputStream;)Ljava/lang/String;
                  java/io/ObjectInputStream.readString()Ljava/lang/String; (7)
                  (Ljava/io/ObjectInputStream;)Ljava/lang/String;
            invokestatic sun.misc.SharedSecrets.setJavaObjectInputStreamReadString:(Lsun/misc/JavaObjectInputStreamReadString;)V
        16: .line 4009
            return
      LocalVariableTable:
        Start  End  Slot           Name  Signature
           13   14     0  javaOISAccess  Lsun/misc/JavaOISAccess;

  public void <init>(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.io.InputStream in
         0: .line 369
            aload 0 /* this */
            invokespecial java.io.InputStream.<init>:()V
         1: .line 322
            aload 0 /* this */
            iconst_m1
            putfield java.io.ObjectInputStream.passHandle:I
         2: .line 324
            aload 0 /* this */
            iconst_0
            putfield java.io.ObjectInputStream.defaultDataEnd:Z
         3: .line 370
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.verifySubclass:()V
         4: .line 371
            aload 0 /* this */
            new java.io.ObjectInputStream$BlockDataInputStream
            dup
            aload 0 /* this */
            aload 1 /* in */
            invokespecial java.io.ObjectInputStream$BlockDataInputStream.<init>:(Ljava/io/ObjectInputStream;Ljava/io/InputStream;)V
            putfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
         5: .line 372
            aload 0 /* this */
            new java.io.ObjectInputStream$HandleTable
            dup
            bipush 10
            invokespecial java.io.ObjectInputStream$HandleTable.<init>:(I)V
            putfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
         6: .line 373
            aload 0 /* this */
            new java.io.ObjectInputStream$ValidationList
            dup
            invokespecial java.io.ObjectInputStream$ValidationList.<init>:()V
            putfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
         7: .line 374
            aload 0 /* this */
            invokestatic sun.misc.ObjectInputFilter$Config.getSerialFilter:()Lsun/misc/ObjectInputFilter;
            putfield java.io.ObjectInputStream.serialFilter:Lsun/misc/ObjectInputFilter;
         8: .line 375
            aload 0 /* this */
            iconst_0
            putfield java.io.ObjectInputStream.enableOverride:Z
         9: .line 376
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readStreamHeader:()V
        10: .line 377
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        11: .line 378
            return
        end local 1 // java.io.InputStream in
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljava/io/ObjectInputStream;
            0   12     1    in  Ljava/io/InputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      in    

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 397
            aload 0 /* this */
            invokespecial java.io.InputStream.<init>:()V
         1: .line 322
            aload 0 /* this */
            iconst_m1
            putfield java.io.ObjectInputStream.passHandle:I
         2: .line 324
            aload 0 /* this */
            iconst_0
            putfield java.io.ObjectInputStream.defaultDataEnd:Z
         3: .line 398
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         4: .line 399
            aload 1 /* sm */
            ifnull 6
         5: .line 400
            aload 1 /* sm */
            getstatic java.io.ObjectInputStream.SUBCLASS_IMPLEMENTATION_PERMISSION:Ljava/io/SerializablePermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         6: .line 402
      StackMap locals: java.io.ObjectInputStream java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
         7: .line 403
            aload 0 /* this */
            aconst_null
            putfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
         8: .line 404
            aload 0 /* this */
            aconst_null
            putfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
         9: .line 405
            aload 0 /* this */
            invokestatic sun.misc.ObjectInputFilter$Config.getSerialFilter:()Lsun/misc/ObjectInputFilter;
            putfield java.io.ObjectInputStream.serialFilter:Lsun/misc/ObjectInputFilter;
        10: .line 406
            aload 0 /* this */
            iconst_1
            putfield java.io.ObjectInputStream.enableOverride:Z
        11: .line 407
            return
        end local 1 // java.lang.SecurityManager sm
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljava/io/ObjectInputStream;
            4   12     1    sm  Ljava/lang/SecurityManager;
    Exceptions:
      throws java.io.IOException, java.lang.SecurityException

  public final java.lang.Object readObject();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 441
            aload 0 /* this */
            ldc Ljava/lang/Object;
            invokevirtual java.io.ObjectInputStream.readObject:(Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException

  private java.lang.String readString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 453
            aload 0 /* this */
            ldc Ljava/lang/String;
            invokevirtual java.io.ObjectInputStream.readObject:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast java.lang.String
         1: areturn
         2: .line 454
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            astore 1 /* cnf */
        start local 1 // java.lang.ClassNotFoundException cnf
         3: .line 455
            new java.lang.IllegalStateException
            dup
            aload 1 /* cnf */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.ClassNotFoundException cnf
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/io/ObjectInputStream;
            3    4     1   cnf  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.ClassNotFoundException
    Exceptions:
      throws java.io.IOException

  private final  readObject(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Class type
         0: .line 473
            aload 0 /* this */
            getfield java.io.ObjectInputStream.enableOverride:Z
            ifeq 2
         1: .line 474
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readObjectOverride:()Ljava/lang/Object;
            areturn
         2: .line 477
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Ljava/lang/Object;
            if_acmpeq 4
            aload 1 /* type */
            ldc Ljava/lang/String;
            if_acmpeq 4
         3: .line 478
            new java.lang.AssertionError
            dup
            ldc "internal error"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 481
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            istore 2 /* outerHandle */
        start local 2 // int outerHandle
         5: .line 483
            aload 0 /* this */
            aload 1 /* type */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
            astore 3 /* obj */
        start local 3 // java.lang.Object obj
         6: .line 484
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 2 /* outerHandle */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.markDependency:(II)V
         7: .line 485
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            astore 4 /* ex */
        start local 4 // java.lang.ClassNotFoundException ex
         8: .line 486
            aload 4 /* ex */
            ifnull 10
         9: .line 487
            aload 4 /* ex */
            athrow
        10: .line 489
      StackMap locals: int java.lang.Object java.lang.ClassNotFoundException
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 12
        11: .line 490
            aload 0 /* this */
            getfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
            invokevirtual java.io.ObjectInputStream$ValidationList.doCallbacks:()V
        12: .line 492
      StackMap locals:
      StackMap stack:
            aload 3 /* obj */
            astore 6
        13: .line 494
            aload 0 /* this */
            iload 2 /* outerHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        14: .line 495
            aload 0 /* this */
            getfield java.io.ObjectInputStream.closed:Z
            ifeq 16
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 16
        15: .line 496
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
        16: .line 492
      StackMap locals: java.io.ObjectInputStream java.lang.Class int java.lang.Object java.lang.ClassNotFoundException top java.lang.Object
      StackMap stack:
            aload 6
            areturn
        end local 4 // java.lang.ClassNotFoundException ex
        end local 3 // java.lang.Object obj
        17: .line 493
      StackMap locals: java.io.ObjectInputStream java.lang.Class int
      StackMap stack: java.lang.Throwable
            astore 5
        18: .line 494
            aload 0 /* this */
            iload 2 /* outerHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        19: .line 495
            aload 0 /* this */
            getfield java.io.ObjectInputStream.closed:Z
            ifeq 21
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 21
        20: .line 496
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
        21: .line 498
      StackMap locals: java.io.ObjectInputStream java.lang.Class int top top java.lang.Throwable
      StackMap stack:
            aload 5
            athrow
        end local 2 // int outerHandle
        end local 1 // java.lang.Class type
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   22     0         this  Ljava/io/ObjectInputStream;
            0   22     1         type  Ljava/lang/Class<*>;
            5   22     2  outerHandle  I
            6   17     3          obj  Ljava/lang/Object;
            8   17     4           ex  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           5    13      17  any
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      type  

  protected java.lang.Object readObjectOverride();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 521
            aconst_null
            areturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException

  public java.lang.Object readUnshared();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 571
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            istore 1 /* outerHandle */
        start local 1 // int outerHandle
         1: .line 573
            aload 0 /* this */
            ldc Ljava/lang/Object;
            iconst_1
            invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
            astore 2 /* obj */
        start local 2 // java.lang.Object obj
         2: .line 574
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* outerHandle */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.markDependency:(II)V
         3: .line 575
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            astore 3 /* ex */
        start local 3 // java.lang.ClassNotFoundException ex
         4: .line 576
            aload 3 /* ex */
            ifnull 6
         5: .line 577
            aload 3 /* ex */
            athrow
         6: .line 579
      StackMap locals: int java.lang.Object java.lang.ClassNotFoundException
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 8
         7: .line 580
            aload 0 /* this */
            getfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
            invokevirtual java.io.ObjectInputStream$ValidationList.doCallbacks:()V
         8: .line 582
      StackMap locals:
      StackMap stack:
            aload 2 /* obj */
            astore 5
         9: .line 584
            aload 0 /* this */
            iload 1 /* outerHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        10: .line 585
            aload 0 /* this */
            getfield java.io.ObjectInputStream.closed:Z
            ifeq 12
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 12
        11: .line 586
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
        12: .line 582
      StackMap locals: java.io.ObjectInputStream int java.lang.Object java.lang.ClassNotFoundException top java.lang.Object
      StackMap stack:
            aload 5
            areturn
        end local 3 // java.lang.ClassNotFoundException ex
        end local 2 // java.lang.Object obj
        13: .line 583
      StackMap locals: java.io.ObjectInputStream int
      StackMap stack: java.lang.Throwable
            astore 4
        14: .line 584
            aload 0 /* this */
            iload 1 /* outerHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        15: .line 585
            aload 0 /* this */
            getfield java.io.ObjectInputStream.closed:Z
            ifeq 17
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 17
        16: .line 586
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
        17: .line 588
      StackMap locals: java.io.ObjectInputStream int top top java.lang.Throwable
      StackMap stack:
            aload 4
            athrow
        end local 1 // int outerHandle
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   18     0         this  Ljava/io/ObjectInputStream;
            1   18     1  outerHandle  I
            2   13     2          obj  Ljava/lang/Object;
            4   13     3           ex  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           1     9      13  any
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException

  public void defaultReadObject();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 606
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            astore 1 /* ctx */
        start local 1 // java.io.SerialCallbackContext ctx
         1: .line 607
            aload 1 /* ctx */
            ifnonnull 3
         2: .line 608
            new java.io.NotActiveException
            dup
            ldc "not in call to readObject"
            invokespecial java.io.NotActiveException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 610
      StackMap locals: java.io.SerialCallbackContext
      StackMap stack:
            aload 1 /* ctx */
            invokevirtual java.io.SerialCallbackContext.getObj:()Ljava/lang/Object;
            astore 2 /* curObj */
        start local 2 // java.lang.Object curObj
         4: .line 611
            aload 1 /* ctx */
            invokevirtual java.io.SerialCallbackContext.getDesc:()Ljava/io/ObjectStreamClass;
            astore 3 /* curDesc */
        start local 3 // java.io.ObjectStreamClass curDesc
         5: .line 612
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
         6: .line 613
            aload 0 /* this */
            aload 2 /* curObj */
            aload 3 /* curDesc */
            invokevirtual java.io.ObjectInputStream.defaultReadFields:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
         7: .line 614
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
         8: .line 615
            aload 3 /* curDesc */
            invokevirtual java.io.ObjectStreamClass.hasWriteObjectData:()Z
            ifne 10
         9: .line 621
            aload 0 /* this */
            iconst_1
            putfield java.io.ObjectInputStream.defaultDataEnd:Z
        10: .line 623
      StackMap locals: java.lang.Object java.io.ObjectStreamClass
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            astore 4 /* ex */
        start local 4 // java.lang.ClassNotFoundException ex
        11: .line 624
            aload 4 /* ex */
            ifnull 13
        12: .line 625
            aload 4 /* ex */
            athrow
        13: .line 627
      StackMap locals: java.lang.ClassNotFoundException
      StackMap stack:
            return
        end local 4 // java.lang.ClassNotFoundException ex
        end local 3 // java.io.ObjectStreamClass curDesc
        end local 2 // java.lang.Object curObj
        end local 1 // java.io.SerialCallbackContext ctx
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Ljava/io/ObjectInputStream;
            1   14     1      ctx  Ljava/io/SerialCallbackContext;
            4   14     2   curObj  Ljava/lang/Object;
            5   14     3  curDesc  Ljava/io/ObjectStreamClass;
           11   14     4       ex  Ljava/lang/ClassNotFoundException;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException

  public java.io.ObjectInputStream$GetField readFields();
    descriptor: ()Ljava/io/ObjectInputStream$GetField;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 645
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            astore 1 /* ctx */
        start local 1 // java.io.SerialCallbackContext ctx
         1: .line 646
            aload 1 /* ctx */
            ifnonnull 3
         2: .line 647
            new java.io.NotActiveException
            dup
            ldc "not in call to readObject"
            invokespecial java.io.NotActiveException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 649
      StackMap locals: java.io.SerialCallbackContext
      StackMap stack:
            aload 1 /* ctx */
            invokevirtual java.io.SerialCallbackContext.getObj:()Ljava/lang/Object;
            pop
         4: .line 650
            aload 1 /* ctx */
            invokevirtual java.io.SerialCallbackContext.getDesc:()Ljava/io/ObjectStreamClass;
            astore 2 /* curDesc */
        start local 2 // java.io.ObjectStreamClass curDesc
         5: .line 651
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
         6: .line 652
            new java.io.ObjectInputStream$GetFieldImpl
            dup
            aload 0 /* this */
            aload 2 /* curDesc */
            invokespecial java.io.ObjectInputStream$GetFieldImpl.<init>:(Ljava/io/ObjectInputStream;Ljava/io/ObjectStreamClass;)V
            astore 3 /* getField */
        start local 3 // java.io.ObjectInputStream$GetFieldImpl getField
         7: .line 653
            aload 3 /* getField */
            invokevirtual java.io.ObjectInputStream$GetFieldImpl.readFields:()V
         8: .line 654
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
         9: .line 655
            aload 2 /* curDesc */
            invokevirtual java.io.ObjectStreamClass.hasWriteObjectData:()Z
            ifne 11
        10: .line 661
            aload 0 /* this */
            iconst_1
            putfield java.io.ObjectInputStream.defaultDataEnd:Z
        11: .line 664
      StackMap locals: java.io.ObjectStreamClass java.io.ObjectInputStream$GetFieldImpl
      StackMap stack:
            aload 3 /* getField */
            areturn
        end local 3 // java.io.ObjectInputStream$GetFieldImpl getField
        end local 2 // java.io.ObjectStreamClass curDesc
        end local 1 // java.io.SerialCallbackContext ctx
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Ljava/io/ObjectInputStream;
            1   12     1       ctx  Ljava/io/SerialCallbackContext;
            5   12     2   curDesc  Ljava/io/ObjectStreamClass;
            7   12     3  getField  Ljava/io/ObjectInputStream$GetFieldImpl;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException

  public void registerValidation(java.io.ObjectInputValidation, int);
    descriptor: (Ljava/io/ObjectInputValidation;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.io.ObjectInputValidation obj
        start local 2 // int prio
         0: .line 686
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 2
         1: .line 687
            new java.io.NotActiveException
            dup
            ldc "stream inactive"
            invokespecial java.io.NotActiveException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 689
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
            aload 1 /* obj */
            iload 2 /* prio */
            invokevirtual java.io.ObjectInputStream$ValidationList.register:(Ljava/io/ObjectInputValidation;I)V
         3: .line 690
            return
        end local 2 // int prio
        end local 1 // java.io.ObjectInputValidation obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/io/ObjectInputStream;
            0    4     1   obj  Ljava/io/ObjectInputValidation;
            0    4     2  prio  I
    Exceptions:
      throws java.io.NotActiveException, java.io.InvalidObjectException
    MethodParameters:
      Name  Flags
      obj   
      prio  

  protected java.lang.Class<?> resolveClass(java.io.ObjectStreamClass);
    descriptor: (Ljava/io/ObjectStreamClass;)Ljava/lang/Class;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.io.ObjectStreamClass desc
         0: .line 736
            aload 1 /* desc */
            invokevirtual java.io.ObjectStreamClass.getName:()Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         1: .line 738
            aload 2 /* name */
            iconst_0
            invokestatic java.io.ObjectInputStream.latestUserDefinedLoader:()Ljava/lang/ClassLoader;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
         2: areturn
         3: .line 739
      StackMap locals: java.io.ObjectInputStream java.io.ObjectStreamClass java.lang.String
      StackMap stack: java.lang.ClassNotFoundException
            astore 3 /* ex */
        start local 3 // java.lang.ClassNotFoundException ex
         4: .line 740
            getstatic java.io.ObjectInputStream.primClasses:Ljava/util/HashMap;
            aload 2 /* name */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Class
            astore 4 /* cl */
        start local 4 // java.lang.Class cl
         5: .line 741
            aload 4 /* cl */
            ifnull 7
         6: .line 742
            aload 4 /* cl */
            areturn
         7: .line 744
      StackMap locals: java.lang.ClassNotFoundException java.lang.Class
      StackMap stack:
            aload 3 /* ex */
            athrow
        end local 4 // java.lang.Class cl
        end local 3 // java.lang.ClassNotFoundException ex
        end local 2 // java.lang.String name
        end local 1 // java.io.ObjectStreamClass desc
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/io/ObjectInputStream;
            0    8     1  desc  Ljava/io/ObjectStreamClass;
            1    8     2  name  Ljava/lang/String;
            4    8     3    ex  Ljava/lang/ClassNotFoundException;
            5    8     4    cl  Ljava/lang/Class<*>;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.ClassNotFoundException
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    Signature: (Ljava/io/ObjectStreamClass;)Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      desc  

  protected java.lang.Class<?> resolveProxyClass(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.String[] interfaces
         0: .line 803
            invokestatic java.io.ObjectInputStream.latestUserDefinedLoader:()Ljava/lang/ClassLoader;
            astore 2 /* latestLoader */
        start local 2 // java.lang.ClassLoader latestLoader
         1: .line 804
            aconst_null
            astore 3 /* nonPublicLoader */
        start local 3 // java.lang.ClassLoader nonPublicLoader
         2: .line 805
            iconst_0
            istore 4 /* hasNonPublicInterface */
        start local 4 // boolean hasNonPublicInterface
         3: .line 808
            aload 1 /* interfaces */
            arraylength
            anewarray java.lang.Class
            astore 5 /* classObjs */
        start local 5 // java.lang.Class[] classObjs
         4: .line 809
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 17
         6: .line 810
      StackMap locals: java.io.ObjectInputStream java.lang.String[] java.lang.ClassLoader java.lang.ClassLoader int java.lang.Class[] int
      StackMap stack:
            aload 1 /* interfaces */
            iload 6 /* i */
            aaload
            iconst_0
            aload 2 /* latestLoader */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 7 /* cl */
        start local 7 // java.lang.Class cl
         7: .line 811
            aload 7 /* cl */
            invokevirtual java.lang.Class.getModifiers:()I
            iconst_1
            iand
            ifne 15
         8: .line 812
            iload 4 /* hasNonPublicInterface */
            ifeq 13
         9: .line 813
            aload 3 /* nonPublicLoader */
            aload 7 /* cl */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            if_acmpeq 15
        10: .line 814
            new java.lang.IllegalAccessError
            dup
        11: .line 815
            ldc "conflicting non-public interface class loaders"
        12: .line 814
            invokespecial java.lang.IllegalAccessError.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 818
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 7 /* cl */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 3 /* nonPublicLoader */
        14: .line 819
            iconst_1
            istore 4 /* hasNonPublicInterface */
        15: .line 822
      StackMap locals:
      StackMap stack:
            aload 5 /* classObjs */
            iload 6 /* i */
            aload 7 /* cl */
            aastore
        end local 7 // java.lang.Class cl
        16: .line 809
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 6 /* i */
            aload 1 /* interfaces */
            arraylength
            if_icmplt 6
        end local 6 // int i
        18: .line 826
            iload 4 /* hasNonPublicInterface */
            ifeq 19
            aload 3 /* nonPublicLoader */
            goto 20
      StackMap locals:
      StackMap stack:
        19: aload 2 /* latestLoader */
        20: .line 827
      StackMap locals:
      StackMap stack: java.lang.ClassLoader
            aload 5 /* classObjs */
        21: .line 825
            invokestatic java.lang.reflect.Proxy.getProxyClass:(Ljava/lang/ClassLoader;[Ljava/lang/Class;)Ljava/lang/Class;
        22: areturn
        23: .line 828
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            astore 6 /* e */
        start local 6 // java.lang.IllegalArgumentException e
        24: .line 829
            new java.lang.ClassNotFoundException
            dup
            aconst_null
            aload 6 /* e */
            invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.IllegalArgumentException e
        end local 5 // java.lang.Class[] classObjs
        end local 4 // boolean hasNonPublicInterface
        end local 3 // java.lang.ClassLoader nonPublicLoader
        end local 2 // java.lang.ClassLoader latestLoader
        end local 1 // java.lang.String[] interfaces
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   25     0                   this  Ljava/io/ObjectInputStream;
            0   25     1             interfaces  [Ljava/lang/String;
            1   25     2           latestLoader  Ljava/lang/ClassLoader;
            2   25     3        nonPublicLoader  Ljava/lang/ClassLoader;
            3   25     4  hasNonPublicInterface  Z
            4   25     5              classObjs  [Ljava/lang/Class;
            5   18     6                      i  I
            7   16     7                     cl  Ljava/lang/Class<*>;
           24   25     6                      e  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
          18    22      23  Class java.lang.IllegalArgumentException
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    Signature: ([Ljava/lang/String;)Ljava/lang/Class<*>;
    MethodParameters:
            Name  Flags
      interfaces  

  protected java.lang.Object resolveObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Object obj
         0: .line 861
            aload 1 /* obj */
            areturn
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
            0    1     1   obj  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      obj   

  protected boolean enableResolveObject(boolean);
    descriptor: (Z)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean enable
         0: .line 888
            iload 1 /* enable */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.enableResolve:Z
            if_icmpne 2
         1: .line 889
            iload 1 /* enable */
            ireturn
         2: .line 891
      StackMap locals:
      StackMap stack:
            iload 1 /* enable */
            ifeq 6
         3: .line 892
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         4: .line 893
            aload 2 /* sm */
            ifnull 6
         5: .line 894
            aload 2 /* sm */
            getstatic java.io.ObjectInputStream.SUBSTITUTION_PERMISSION:Ljava/io/SerializablePermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        end local 2 // java.lang.SecurityManager sm
         6: .line 897
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* enable */
            putfield java.io.ObjectInputStream.enableResolve:Z
         7: .line 898
            aload 0 /* this */
            getfield java.io.ObjectInputStream.enableResolve:Z
            ifeq 8
            iconst_0
            goto 9
      StackMap locals:
      StackMap stack:
         8: iconst_1
      StackMap locals:
      StackMap stack: int
         9: ireturn
        end local 1 // boolean enable
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Ljava/io/ObjectInputStream;
            0   10     1  enable  Z
            4    6     2      sm  Ljava/lang/SecurityManager;
    Exceptions:
      throws java.lang.SecurityException
    MethodParameters:
        Name  Flags
      enable  

  protected void readStreamHeader();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 914
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readShort:()S
            istore 1 /* s0 */
        start local 1 // short s0
         1: .line 915
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readShort:()S
            istore 2 /* s1 */
        start local 2 // short s1
         2: .line 916
            iload 1 /* s0 */
            sipush -21267
            if_icmpne 3
            iload 2 /* s1 */
            iconst_5
            if_icmpeq 6
         3: .line 917
      StackMap locals: int int
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
         4: .line 918
            ldc "invalid stream header: %04X%04X"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* s0 */
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            aastore
            dup
            iconst_1
            iload 2 /* s1 */
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         5: .line 917
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 920
      StackMap locals:
      StackMap stack:
            return
        end local 2 // short s1
        end local 1 // short s0
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/io/ObjectInputStream;
            1    7     1    s0  S
            2    7     2    s1  S
    Exceptions:
      throws java.io.IOException, java.io.StreamCorruptedException

  protected java.io.ObjectStreamClass readClassDescriptor();
    descriptor: ()Ljava/io/ObjectStreamClass;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 942
            new java.io.ObjectStreamClass
            dup
            invokespecial java.io.ObjectStreamClass.<init>:()V
            astore 1 /* desc */
        start local 1 // java.io.ObjectStreamClass desc
         1: .line 943
            aload 1 /* desc */
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.readNonProxy:(Ljava/io/ObjectInputStream;)V
         2: .line 944
            aload 1 /* desc */
            areturn
        end local 1 // java.io.ObjectStreamClass desc
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/io/ObjectInputStream;
            1    3     1  desc  Ljava/io/ObjectStreamClass;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException

  public int read();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 954
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.read:()I
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public int read(byte[], int, int);
    descriptor: ([BII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // java.io.ObjectInputStream this
        start local 1 // byte[] buf
        start local 2 // int off
        start local 3 // int len
         0: .line 971
            aload 1 /* buf */
            ifnonnull 2
         1: .line 972
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 974
      StackMap locals:
      StackMap stack:
            iload 2 /* off */
            iload 3 /* len */
            iadd
            istore 4 /* endoff */
        start local 4 // int endoff
         3: .line 975
            iload 2 /* off */
            iflt 4
            iload 3 /* len */
            iflt 4
            iload 4 /* endoff */
            aload 1 /* buf */
            arraylength
            if_icmpgt 4
            iload 4 /* endoff */
            ifge 5
         4: .line 976
      StackMap locals: int
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
            invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
            athrow
         5: .line 978
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 1 /* buf */
            iload 2 /* off */
            iload 3 /* len */
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.read:([BIIZ)I
            ireturn
        end local 4 // int endoff
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] buf
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Ljava/io/ObjectInputStream;
            0    6     1     buf  [B
            0    6     2     off  I
            0    6     3     len  I
            3    6     4  endoff  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      buf   
      off   
      len   

  public int available();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 989
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.available:()I
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1003
            aload 0 /* this */
            iconst_1
            putfield java.io.ObjectInputStream.closed:Z
         1: .line 1004
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 3
         2: .line 1005
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
         3: .line 1007
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.close:()V
         4: .line 1008
            return
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public boolean readBoolean();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1018
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readBoolean:()Z
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public byte readByte();
    descriptor: ()B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1029
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public int readUnsignedByte();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1040
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readUnsignedByte:()I
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public char readChar();
    descriptor: ()C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1051
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readChar:()C
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public short readShort();
    descriptor: ()S
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1062
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readShort:()S
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public int readUnsignedShort();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1073
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readUnsignedShort:()I
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public int readInt();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1084
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readInt:()I
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public long readLong();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1095
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readLong:()J
            lreturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public float readFloat();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1106
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFloat:()F
            freturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public double readDouble();
    descriptor: ()D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1117
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readDouble:()D
            dreturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public void readFully(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // byte[] buf
         0: .line 1128
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 1 /* buf */
            iconst_0
            aload 1 /* buf */
            arraylength
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFully:([BIIZ)V
         1: .line 1129
            return
        end local 1 // byte[] buf
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/io/ObjectInputStream;
            0    2     1   buf  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      buf   

  public void readFully(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // java.io.ObjectInputStream this
        start local 1 // byte[] buf
        start local 2 // int off
        start local 3 // int len
         0: .line 1141
            iload 2 /* off */
            iload 3 /* len */
            iadd
            istore 4 /* endoff */
        start local 4 // int endoff
         1: .line 1142
            iload 2 /* off */
            iflt 2
            iload 3 /* len */
            iflt 2
            iload 4 /* endoff */
            aload 1 /* buf */
            arraylength
            if_icmpgt 2
            iload 4 /* endoff */
            ifge 3
         2: .line 1143
      StackMap locals: int
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
            invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
            athrow
         3: .line 1145
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 1 /* buf */
            iload 2 /* off */
            iload 3 /* len */
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFully:([BIIZ)V
         4: .line 1146
            return
        end local 4 // int endoff
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] buf
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljava/io/ObjectInputStream;
            0    5     1     buf  [B
            0    5     2     off  I
            0    5     3     len  I
            1    5     4  endoff  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      buf   
      off   
      len   

  public int skipBytes(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // int len
         0: .line 1156
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 1 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.skipBytes:(I)I
            ireturn
        end local 1 // int len
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
            0    1     1   len  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      len   

  public java.lang.String readLine();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1170
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readLine:()Ljava/lang/String;
            areturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public java.lang.String readUTF();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1185
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readUTF:()Ljava/lang/String;
            areturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  private final sun.misc.ObjectInputFilter getInternalObjectInputFilter();
    descriptor: ()Lsun/misc/ObjectInputFilter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1198
            aload 0 /* this */
            getfield java.io.ObjectInputStream.serialFilter:Lsun/misc/ObjectInputFilter;
            areturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;

  private final void setInternalObjectInputFilter(sun.misc.ObjectInputFilter);
    descriptor: (Lsun/misc/ObjectInputFilter;)V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // sun.misc.ObjectInputFilter filter
         0: .line 1262
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         1: .line 1263
            aload 2 /* sm */
            ifnull 3
         2: .line 1264
            aload 2 /* sm */
            new java.io.SerializablePermission
            dup
            ldc "serialFilter"
            invokespecial java.io.SerializablePermission.<init>:(Ljava/lang/String;)V
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         3: .line 1267
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.serialFilter:Lsun/misc/ObjectInputFilter;
            ifnull 6
         4: .line 1268
            aload 0 /* this */
            getfield java.io.ObjectInputStream.serialFilter:Lsun/misc/ObjectInputFilter;
            invokestatic sun.misc.ObjectInputFilter$Config.getSerialFilter:()Lsun/misc/ObjectInputFilter;
            if_acmpeq 6
         5: .line 1269
            new java.lang.IllegalStateException
            dup
            ldc "filter can not be set more than once"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 1271
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.totalObjectRefs:J
            lconst_0
            lcmp
            ifle 10
            getstatic java.io.ObjectInputStream$Caches.SET_FILTER_AFTER_READ:Z
            ifne 10
         7: .line 1272
            new java.lang.IllegalStateException
            dup
         8: .line 1273
            ldc "filter can not be set after an object has been read"
         9: .line 1272
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 1275
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* filter */
            putfield java.io.ObjectInputStream.serialFilter:Lsun/misc/ObjectInputFilter;
        11: .line 1276
            return
        end local 2 // java.lang.SecurityManager sm
        end local 1 // sun.misc.ObjectInputFilter filter
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Ljava/io/ObjectInputStream;
            0   12     1  filter  Lsun/misc/ObjectInputFilter;
            1   12     2      sm  Ljava/lang/SecurityManager;
    MethodParameters:
        Name  Flags
      filter  

  private void filterCheck(java.lang.Class<?>, );
    descriptor: (Ljava/lang/Class;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=12, locals=8, args_size=3
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Class clazz
        start local 2 // int arrayLength
         0: .line 1289
            aload 0 /* this */
            getfield java.io.ObjectInputStream.serialFilter:Lsun/misc/ObjectInputFilter;
            ifnull 29
         1: .line 1290
            aconst_null
            astore 3 /* ex */
        start local 3 // java.lang.RuntimeException ex
         2: .line 1293
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            ifnonnull 3
            lconst_0
            goto 4
      StackMap locals: java.lang.RuntimeException
      StackMap stack:
         3: aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.getBytesRead:()J
      StackMap locals:
      StackMap stack: long
         4: lstore 5 /* bytesRead */
        start local 5 // long bytesRead
         5: .line 1295
            aload 0 /* this */
            getfield java.io.ObjectInputStream.serialFilter:Lsun/misc/ObjectInputFilter;
            new java.io.ObjectInputStream$FilterValues
            dup
            aload 1 /* clazz */
            iload 2 /* arrayLength */
            i2l
         6: .line 1296
            aload 0 /* this */
            getfield java.io.ObjectInputStream.totalObjectRefs:J
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lload 5 /* bytesRead */
            invokespecial java.io.ObjectInputStream$FilterValues.<init>:(Ljava/lang/Class;JJJJ)V
         7: .line 1295
            invokeinterface sun.misc.ObjectInputFilter.checkInput:(Lsun/misc/ObjectInputFilter$FilterInfo;)Lsun/misc/ObjectInputFilter$Status;
            astore 4 /* status */
        start local 4 // sun.misc.ObjectInputFilter$Status status
         8: .line 1297
            goto 12
        end local 4 // sun.misc.ObjectInputFilter$Status status
      StackMap locals: java.io.ObjectInputStream java.lang.Class int java.lang.RuntimeException top long
      StackMap stack: java.lang.RuntimeException
         9: astore 7 /* e */
        start local 7 // java.lang.RuntimeException e
        10: .line 1299
            getstatic sun.misc.ObjectInputFilter$Status.REJECTED:Lsun/misc/ObjectInputFilter$Status;
            astore 4 /* status */
        start local 4 // sun.misc.ObjectInputFilter$Status status
        11: .line 1300
            aload 7 /* e */
            astore 3 /* ex */
        end local 7 // java.lang.RuntimeException e
        12: .line 1302
      StackMap locals: java.io.ObjectInputStream java.lang.Class int java.lang.RuntimeException sun.misc.ObjectInputFilter$Status long
      StackMap stack:
            aload 4 /* status */
            ifnull 14
        13: .line 1303
            aload 4 /* status */
            getstatic sun.misc.ObjectInputFilter$Status.REJECTED:Lsun/misc/ObjectInputFilter$Status;
            if_acmpne 23
        14: .line 1305
      StackMap locals:
      StackMap stack:
            getstatic java.io.ObjectInputStream$Logging.infoLogger:Lsun/util/logging/PlatformLogger;
            ifnull 20
        15: .line 1306
            getstatic java.io.ObjectInputStream$Logging.infoLogger:Lsun/util/logging/PlatformLogger;
        16: .line 1307
            ldc "ObjectInputFilter {0}: {1}, array length: {2}, nRefs: {3}, depth: {4}, bytes: {5}, ex: {6}"
            bipush 7
            anewarray java.lang.Object
            dup
            iconst_0
        17: .line 1308
            aload 4 /* status */
            aastore
            dup
            iconst_1
            aload 1 /* clazz */
            aastore
            dup
            iconst_2
            iload 2 /* arrayLength */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
            aload 0 /* this */
            getfield java.io.ObjectInputStream.totalObjectRefs:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_4
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_5
            lload 5 /* bytesRead */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            bipush 6
        18: .line 1309
            aload 3 /* ex */
            ldc "n/a"
            invokestatic java.util.Objects.toString:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            aastore
        19: .line 1306
            invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;[Ljava/lang/Object;)V
        20: .line 1311
      StackMap locals:
      StackMap stack:
            new java.io.InvalidClassException
            dup
            new java.lang.StringBuilder
            dup
            ldc "filter status: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* status */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
            astore 7 /* ice */
        start local 7 // java.io.InvalidClassException ice
        21: .line 1312
            aload 7 /* ice */
            aload 3 /* ex */
            invokevirtual java.io.InvalidClassException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        22: .line 1313
            aload 7 /* ice */
            athrow
        end local 7 // java.io.InvalidClassException ice
        23: .line 1316
      StackMap locals:
      StackMap stack:
            getstatic java.io.ObjectInputStream$Logging.traceLogger:Lsun/util/logging/PlatformLogger;
            ifnull 29
        24: .line 1317
            getstatic java.io.ObjectInputStream$Logging.traceLogger:Lsun/util/logging/PlatformLogger;
        25: .line 1318
            ldc "ObjectInputFilter {0}: {1}, array length: {2}, nRefs: {3}, depth: {4}, bytes: {5}, ex: {6}"
            bipush 7
            anewarray java.lang.Object
            dup
            iconst_0
        26: .line 1319
            aload 4 /* status */
            aastore
            dup
            iconst_1
            aload 1 /* clazz */
            aastore
            dup
            iconst_2
            iload 2 /* arrayLength */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
            aload 0 /* this */
            getfield java.io.ObjectInputStream.totalObjectRefs:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_4
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_5
            lload 5 /* bytesRead */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            bipush 6
        27: .line 1320
            aload 3 /* ex */
            ldc "n/a"
            invokestatic java.util.Objects.toString:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            aastore
        28: .line 1317
            invokevirtual sun.util.logging.PlatformLogger.finer:(Ljava/lang/String;[Ljava/lang/Object;)V
        end local 5 // long bytesRead
        end local 4 // sun.misc.ObjectInputFilter$Status status
        end local 3 // java.lang.RuntimeException ex
        29: .line 1324
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int arrayLength
        end local 1 // java.lang.Class clazz
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   30     0         this  Ljava/io/ObjectInputStream;
            0   30     1        clazz  Ljava/lang/Class<*>;
            0   30     2  arrayLength  I
            2   29     3           ex  Ljava/lang/RuntimeException;
            8    9     4       status  Lsun/misc/ObjectInputFilter$Status;
           11   29     4       status  Lsun/misc/ObjectInputFilter$Status;
            5   29     5    bytesRead  J
           10   12     7            e  Ljava/lang/RuntimeException;
           21   23     7          ice  Ljava/io/InvalidClassException;
      Exception table:
        from    to  target  type
           5     8       9  Class java.lang.RuntimeException
    Exceptions:
      throws java.io.InvalidClassException
    Signature: (Ljava/lang/Class<*>;I)V
    MethodParameters:
             Name  Flags
      clazz        
      arrayLength  

  private void checkArray(java.lang.Class<?>, );
    descriptor: (Ljava/lang/Class;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Class arrayType
        start local 2 // int arrayLength
         0: .line 1341
            aload 1 /* arrayType */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1342
            aload 1 /* arrayType */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 3
         2: .line 1343
            new java.lang.IllegalArgumentException
            dup
            ldc "not an array type"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 1346
      StackMap locals:
      StackMap stack:
            iload 2 /* arrayLength */
            ifge 5
         4: .line 1347
            new java.lang.NegativeArraySizeException
            dup
            invokespecial java.lang.NegativeArraySizeException.<init>:()V
            athrow
         5: .line 1350
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* arrayType */
            iload 2 /* arrayLength */
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
         6: .line 1351
            return
        end local 2 // int arrayLength
        end local 1 // java.lang.Class arrayType
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Ljava/io/ObjectInputStream;
            0    7     1    arrayType  Ljava/lang/Class<*>;
            0    7     2  arrayLength  I
    Exceptions:
      throws java.io.InvalidClassException
    Signature: (Ljava/lang/Class<*>;I)V
    MethodParameters:
             Name  Flags
      arrayType    
      arrayLength  

  private void verifySubclass();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1513
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 1 /* cl */
        start local 1 // java.lang.Class cl
         1: .line 1514
            aload 1 /* cl */
            ldc Ljava/io/ObjectInputStream;
            if_acmpne 3
         2: .line 1515
            return
         3: .line 1517
      StackMap locals: java.lang.Class
      StackMap stack:
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         4: .line 1518
            aload 2 /* sm */
            ifnonnull 6
         5: .line 1519
            return
         6: .line 1521
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            getstatic java.io.ObjectInputStream$Caches.subclassAuditsQueue:Ljava/lang/ref/ReferenceQueue;
            getstatic java.io.ObjectInputStream$Caches.subclassAudits:Ljava/util/concurrent/ConcurrentMap;
            invokestatic java.io.ObjectStreamClass.processQueue:(Ljava/lang/ref/ReferenceQueue;Ljava/util/concurrent/ConcurrentMap;)V
         7: .line 1522
            new java.io.ObjectStreamClass$WeakClassKey
            dup
            aload 1 /* cl */
            getstatic java.io.ObjectInputStream$Caches.subclassAuditsQueue:Ljava/lang/ref/ReferenceQueue;
            invokespecial java.io.ObjectStreamClass$WeakClassKey.<init>:(Ljava/lang/Class;Ljava/lang/ref/ReferenceQueue;)V
            astore 3 /* key */
        start local 3 // java.io.ObjectStreamClass$WeakClassKey key
         8: .line 1523
            getstatic java.io.ObjectInputStream$Caches.subclassAudits:Ljava/util/concurrent/ConcurrentMap;
            aload 3 /* key */
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 4 /* result */
        start local 4 // java.lang.Boolean result
         9: .line 1524
            aload 4 /* result */
            ifnonnull 12
        10: .line 1525
            aload 1 /* cl */
            invokestatic java.io.ObjectInputStream.auditSubclass:(Ljava/lang/Class;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            astore 4 /* result */
        11: .line 1526
            getstatic java.io.ObjectInputStream$Caches.subclassAudits:Ljava/util/concurrent/ConcurrentMap;
            aload 3 /* key */
            aload 4 /* result */
            invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 1528
      StackMap locals: java.io.ObjectStreamClass$WeakClassKey java.lang.Boolean
      StackMap stack:
            aload 4 /* result */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 14
        13: .line 1529
            return
        14: .line 1531
      StackMap locals:
      StackMap stack:
            aload 2 /* sm */
            getstatic java.io.ObjectInputStream.SUBCLASS_IMPLEMENTATION_PERMISSION:Ljava/io/SerializablePermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        15: .line 1532
            return
        end local 4 // java.lang.Boolean result
        end local 3 // java.io.ObjectStreamClass$WeakClassKey key
        end local 2 // java.lang.SecurityManager sm
        end local 1 // java.lang.Class cl
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   16     0    this  Ljava/io/ObjectInputStream;
            1   16     1      cl  Ljava/lang/Class<*>;
            4   16     2      sm  Ljava/lang/SecurityManager;
            8   16     3     key  Ljava/io/ObjectStreamClass$WeakClassKey;
            9   16     4  result  Ljava/lang/Boolean;

  private static boolean auditSubclass(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.Class subcl
         0: .line 1541
            new java.io.ObjectInputStream$2
            dup
            aload 0 /* subcl */
            invokespecial java.io.ObjectInputStream$2.<init>:(Ljava/lang/Class;)V
         1: .line 1540
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 1 /* result */
        start local 1 // java.lang.Boolean result
         2: .line 1563
            aload 1 /* result */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 1 // java.lang.Boolean result
        end local 0 // java.lang.Class subcl
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0   subcl  Ljava/lang/Class<*>;
            2    3     1  result  Ljava/lang/Boolean;
    Signature: (Ljava/lang/Class<*>;)Z
    MethodParameters:
       Name  Flags
      subcl  final

  private void clear();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1570
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            invokevirtual java.io.ObjectInputStream$HandleTable.clear:()V
         1: .line 1571
            aload 0 /* this */
            getfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
            invokevirtual java.io.ObjectInputStream$ValidationList.clear:()V
         2: .line 1572
            return
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/io/ObjectInputStream;

  private  readObject0(java.lang.Class<?>, boolean);
    descriptor: (Ljava/lang/Class;Z)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=3
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Class type
        start local 2 // boolean unshared
         0: .line 1580
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.getBlockDataMode:()Z
            istore 3 /* oldMode */
        start local 3 // boolean oldMode
         1: .line 1581
            iload 3 /* oldMode */
            ifeq 11
         2: .line 1582
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.currentBlockRemaining:()I
            istore 4 /* remain */
        start local 4 // int remain
         3: .line 1583
            iload 4 /* remain */
            ifle 5
         4: .line 1584
            new java.io.OptionalDataException
            dup
            iload 4 /* remain */
            invokespecial java.io.OptionalDataException.<init>:(I)V
            athrow
         5: .line 1585
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.defaultDataEnd:Z
            ifeq 7
         6: .line 1592
            new java.io.OptionalDataException
            dup
            iconst_1
            invokespecial java.io.OptionalDataException.<init>:(Z)V
            athrow
         7: .line 1594
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        end local 4 // int remain
         8: .line 1598
            goto 11
        start local 4 // byte tc
         9: .line 1599
      StackMap locals: java.io.ObjectInputStream java.lang.Class int int int
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            pop
        10: .line 1600
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.handleReset:()V
        end local 4 // byte tc
        11: .line 1598
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.peekByte:()B
            dup
            istore 4 /* tc */
        start local 4 // byte tc
        12: bipush 121
            if_icmpeq 9
        13: .line 1603
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            ladd
            putfield java.io.ObjectInputStream.depth:J
        14: .line 1604
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.totalObjectRefs:J
            lconst_1
            ladd
            putfield java.io.ObjectInputStream.totalObjectRefs:J
        15: .line 1606
            iload 4 /* tc */
            tableswitch { // 112 - 126
                  112: 16
                  113: 20
                  114: 30
                  115: 52
                  116: 36
                  117: 40
                  118: 24
                  119: 62
                  120: 71
                  121: 76
                  122: 62
                  123: 58
                  124: 36
                  125: 30
                  126: 46
              default: 76
          }
        16: .line 1608
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readNull:()Ljava/lang/Object;
            astore 7
        17: .line 1681
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        18: .line 1682
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        19: .line 1608
            aload 7
            areturn
        20: .line 1612
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            aload 0 /* this */
            iload 2 /* unshared */
            invokevirtual java.io.ObjectInputStream.readHandle:(Z)Ljava/lang/Object;
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7
        21: .line 1681
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        22: .line 1682
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        23: .line 1612
            aload 7
            areturn
        24: .line 1615
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Ljava/lang/String;
            if_acmpne 26
        25: .line 1616
            new java.lang.ClassCastException
            dup
            ldc "Cannot cast a class to java.lang.String"
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 1618
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* unshared */
            invokevirtual java.io.ObjectInputStream.readClass:(Z)Ljava/lang/Class;
            astore 7
        27: .line 1681
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        28: .line 1682
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        29: .line 1618
            aload 7
            areturn
        30: .line 1622
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Ljava/lang/String;
            if_acmpne 32
        31: .line 1623
            new java.lang.ClassCastException
            dup
            ldc "Cannot cast a class to java.lang.String"
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        32: .line 1625
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* unshared */
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 7
        33: .line 1681
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        34: .line 1682
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        35: .line 1625
            aload 7
            areturn
        36: .line 1629
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 2 /* unshared */
            invokevirtual java.io.ObjectInputStream.readString:(Z)Ljava/lang/String;
            invokevirtual java.io.ObjectInputStream.checkResolve:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7
        37: .line 1681
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        38: .line 1682
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        39: .line 1629
            aload 7
            areturn
        40: .line 1632
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Ljava/lang/String;
            if_acmpne 42
        41: .line 1633
            new java.lang.ClassCastException
            dup
            ldc "Cannot cast an array to java.lang.String"
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        42: .line 1635
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 2 /* unshared */
            invokevirtual java.io.ObjectInputStream.readArray:(Z)Ljava/lang/Object;
            invokevirtual java.io.ObjectInputStream.checkResolve:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7
        43: .line 1681
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        44: .line 1682
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        45: .line 1635
            aload 7
            areturn
        46: .line 1638
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Ljava/lang/String;
            if_acmpne 48
        47: .line 1639
            new java.lang.ClassCastException
            dup
            ldc "Cannot cast an enum to java.lang.String"
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        48: .line 1641
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 2 /* unshared */
            invokevirtual java.io.ObjectInputStream.readEnum:(Z)Ljava/lang/Enum;
            invokevirtual java.io.ObjectInputStream.checkResolve:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7
        49: .line 1681
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        50: .line 1682
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        51: .line 1641
            aload 7
            areturn
        52: .line 1644
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Ljava/lang/String;
            if_acmpne 54
        53: .line 1645
            new java.lang.ClassCastException
            dup
            ldc "Cannot cast an object to java.lang.String"
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        54: .line 1647
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 2 /* unshared */
            invokevirtual java.io.ObjectInputStream.readOrdinaryObject:(Z)Ljava/lang/Object;
            invokevirtual java.io.ObjectInputStream.checkResolve:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7
        55: .line 1681
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        56: .line 1682
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        57: .line 1647
            aload 7
            areturn
        58: .line 1650
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Ljava/lang/String;
            if_acmpne 60
        59: .line 1651
            new java.lang.ClassCastException
            dup
            ldc "Cannot cast an exception to java.lang.String"
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        60: .line 1653
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readFatalException:()Ljava/io/IOException;
            astore 5 /* ex */
        start local 5 // java.io.IOException ex
        61: .line 1654
            new java.io.WriteAbortedException
            dup
            ldc "writing aborted"
            aload 5 /* ex */
            invokespecial java.io.WriteAbortedException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 5 // java.io.IOException ex
        62: .line 1658
      StackMap locals:
      StackMap stack:
            iload 3 /* oldMode */
            ifeq 68
        63: .line 1659
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        64: .line 1660
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.peek:()I
            pop
        65: .line 1661
            new java.io.OptionalDataException
            dup
        66: .line 1662
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.currentBlockRemaining:()I
        67: .line 1661
            invokespecial java.io.OptionalDataException.<init>:(I)V
            athrow
        68: .line 1664
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
        69: .line 1665
            ldc "unexpected block data"
        70: .line 1664
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
        71: .line 1669
      StackMap locals:
      StackMap stack:
            iload 3 /* oldMode */
            ifeq 73
        72: .line 1670
            new java.io.OptionalDataException
            dup
            iconst_1
            invokespecial java.io.OptionalDataException.<init>:(Z)V
            athrow
        73: .line 1672
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
        74: .line 1673
            ldc "unexpected end of block data"
        75: .line 1672
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
        76: .line 1677
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
        77: .line 1678
            ldc "invalid type code: %02X"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 4 /* tc */
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        78: .line 1677
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
        79: .line 1680
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        80: .line 1681
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        81: .line 1682
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        82: .line 1683
            aload 6
            athrow
        end local 4 // byte tc
        end local 3 // boolean oldMode
        end local 2 // boolean unshared
        end local 1 // java.lang.Class type
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   83     0      this  Ljava/io/ObjectInputStream;
            0   83     1      type  Ljava/lang/Class<*>;
            0   83     2  unshared  Z
            1   83     3   oldMode  Z
            3    8     4    remain  I
            9   11     4        tc  B
           12   83     4        tc  B
           61   62     5        ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          15    17      79  any
          20    21      79  any
          24    27      79  any
          30    33      79  any
          36    37      79  any
          40    43      79  any
          46    49      79  any
          52    55      79  any
          58    79      79  any
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/Class<*>;Z)Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      type      
      unshared  

  private java.lang.Object checkResolve(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Object obj
         0: .line 1695
            aload 0 /* this */
            getfield java.io.ObjectInputStream.enableResolve:Z
            ifeq 1
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            ifnull 2
         1: .line 1696
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            areturn
         2: .line 1698
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* obj */
            invokevirtual java.io.ObjectInputStream.resolveObject:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* rep */
        start local 2 // java.lang.Object rep
         3: .line 1699
            aload 2 /* rep */
            aload 1 /* obj */
            if_acmpeq 10
         4: .line 1702
            aload 2 /* rep */
            ifnull 9
         5: .line 1703
            aload 2 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 8
         6: .line 1704
            aload 0 /* this */
            aload 2 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 2 /* rep */
            invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
         7: .line 1705
            goto 9
         8: .line 1706
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 2 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            iconst_m1
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
         9: .line 1709
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 2 /* rep */
            invokevirtual java.io.ObjectInputStream$HandleTable.setObject:(ILjava/lang/Object;)V
        10: .line 1711
      StackMap locals:
      StackMap stack:
            aload 2 /* rep */
            areturn
        end local 2 // java.lang.Object rep
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Ljava/io/ObjectInputStream;
            0   11     1   obj  Ljava/lang/Object;
            3   11     2   rep  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      obj   

  java.lang.String readTypeString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=7, locals=5, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1719
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            istore 1 /* oldHandle */
        start local 1 // int oldHandle
         1: .line 1721
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.peekByte:()B
            istore 2 /* tc */
        start local 2 // byte tc
         2: .line 1722
            iload 2 /* tc */
            lookupswitch { // 4
                  112: 3
                  113: 6
                  116: 9
                  124: 9
              default: 12
          }
         3: .line 1724
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readNull:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4
         4: .line 1738
            aload 0 /* this */
            iload 1 /* oldHandle */
            putfield java.io.ObjectInputStream.passHandle:I
         5: .line 1724
            aload 4
            areturn
         6: .line 1727
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readHandle:(Z)Ljava/lang/Object;
            checkcast java.lang.String
            astore 4
         7: .line 1738
            aload 0 /* this */
            iload 1 /* oldHandle */
            putfield java.io.ObjectInputStream.passHandle:I
         8: .line 1727
            aload 4
            areturn
         9: .line 1731
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readString:(Z)Ljava/lang/String;
            astore 4
        10: .line 1738
            aload 0 /* this */
            iload 1 /* oldHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        11: .line 1731
            aload 4
            areturn
        12: .line 1734
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
        13: .line 1735
            ldc "invalid type code: %02X"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* tc */
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        14: .line 1734
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // byte tc
        15: .line 1737
      StackMap locals: java.io.ObjectInputStream int
      StackMap stack: java.lang.Throwable
            astore 3
        16: .line 1738
            aload 0 /* this */
            iload 1 /* oldHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        17: .line 1739
            aload 3
            athrow
        end local 1 // int oldHandle
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0       this  Ljava/io/ObjectInputStream;
            1   18     1  oldHandle  I
            2   15     2         tc  B
      Exception table:
        from    to  target  type
           1     4      15  any
           6     7      15  any
           9    10      15  any
          12    15      15  any
    Exceptions:
      throws java.io.IOException

  private java.lang.Object readNull();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1746
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 112
            if_icmpeq 2
         1: .line 1747
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 1749
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield java.io.ObjectInputStream.passHandle:I
         3: .line 1750
            aconst_null
            areturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  private java.lang.Object readHandle(boolean);
    descriptor: (Z)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 1758
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 113
            if_icmpeq 2
         1: .line 1759
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 1761
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readInt:()I
            ldc 8257536
            isub
            putfield java.io.ObjectInputStream.passHandle:I
         3: .line 1762
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            iflt 4
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            invokevirtual java.io.ObjectInputStream$HandleTable.size:()I
            if_icmplt 9
         4: .line 1763
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
         5: .line 1764
            ldc "invalid handle value: %08X"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
         6: .line 1765
            ldc 8257536
            iadd
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         7: .line 1764
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         8: .line 1763
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 1767
      StackMap locals:
      StackMap stack:
            iload 1 /* unshared */
            ifeq 13
        10: .line 1769
            new java.io.InvalidObjectException
            dup
        11: .line 1770
            ldc "cannot read back reference as unshared"
        12: .line 1769
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 1773
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupObject:(I)Ljava/lang/Object;
            astore 2 /* obj */
        start local 2 // java.lang.Object obj
        14: .line 1774
            aload 2 /* obj */
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            if_acmpne 18
        15: .line 1776
            new java.io.InvalidObjectException
            dup
        16: .line 1777
            ldc "cannot read back reference to unshared object"
        17: .line 1776
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 1779
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aconst_null
            iconst_m1
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
        19: .line 1780
            aload 2 /* obj */
            areturn
        end local 2 // java.lang.Object obj
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0      this  Ljava/io/ObjectInputStream;
            0   20     1  unshared  Z
           14   20     2       obj  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private java.lang.Class<?> readClass(boolean);
    descriptor: (Z)Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 1790
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 118
            if_icmpeq 2
         1: .line 1791
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 1793
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 2 /* desc */
        start local 2 // java.io.ObjectStreamClass desc
         3: .line 1794
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            astore 3 /* cl */
        start local 3 // java.lang.Class cl
         4: .line 1795
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 5
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 6
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass java.lang.Class
      StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable
         5: aload 3 /* cl */
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass java.lang.Class
      StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable java.lang.Object
         6: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            putfield java.io.ObjectInputStream.passHandle:I
         7: .line 1797
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getResolveException:()Ljava/lang/ClassNotFoundException;
            astore 4 /* resolveEx */
        start local 4 // java.lang.ClassNotFoundException resolveEx
         8: .line 1798
            aload 4 /* resolveEx */
            ifnull 10
         9: .line 1799
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 4 /* resolveEx */
            invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
        10: .line 1802
      StackMap locals: java.lang.ClassNotFoundException
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        11: .line 1803
            aload 3 /* cl */
            areturn
        end local 4 // java.lang.ClassNotFoundException resolveEx
        end local 3 // java.lang.Class cl
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Ljava/io/ObjectInputStream;
            0   12     1   unshared  Z
            3   12     2       desc  Ljava/io/ObjectStreamClass;
            4   12     3         cl  Ljava/lang/Class<*>;
            8   12     4  resolveEx  Ljava/lang/ClassNotFoundException;
    Exceptions:
      throws java.io.IOException
    Signature: (Z)Ljava/lang/Class<*>;
    MethodParameters:
          Name  Flags
      unshared  

  private java.io.ObjectStreamClass readClassDesc(boolean);
    descriptor: (Z)Ljava/io/ObjectStreamClass;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 1815
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.peekByte:()B
            istore 2 /* tc */
        start local 2 // byte tc
         1: .line 1817
            iload 2 /* tc */
            lookupswitch { // 4
                  112: 2
                  113: 4
                  114: 9
                  125: 7
              default: 11
          }
         2: .line 1819
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readNull:()Ljava/lang/Object;
            checkcast java.io.ObjectStreamClass
            astore 3 /* descriptor */
        start local 3 // java.io.ObjectStreamClass descriptor
         3: .line 1820
            goto 14
        end local 3 // java.io.ObjectStreamClass descriptor
         4: .line 1822
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* unshared */
            invokevirtual java.io.ObjectInputStream.readHandle:(Z)Ljava/lang/Object;
            checkcast java.io.ObjectStreamClass
            astore 3 /* descriptor */
        start local 3 // java.io.ObjectStreamClass descriptor
         5: .line 1824
            aload 3 /* descriptor */
            invokevirtual java.io.ObjectStreamClass.checkInitialized:()V
         6: .line 1825
            goto 14
        end local 3 // java.io.ObjectStreamClass descriptor
         7: .line 1827
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* unshared */
            invokevirtual java.io.ObjectInputStream.readProxyDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 3 /* descriptor */
        start local 3 // java.io.ObjectStreamClass descriptor
         8: .line 1828
            goto 14
        end local 3 // java.io.ObjectStreamClass descriptor
         9: .line 1830
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* unshared */
            invokevirtual java.io.ObjectInputStream.readNonProxyDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 3 /* descriptor */
        start local 3 // java.io.ObjectStreamClass descriptor
        10: .line 1831
            goto 14
        end local 3 // java.io.ObjectStreamClass descriptor
        11: .line 1833
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
        12: .line 1834
            ldc "invalid type code: %02X"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* tc */
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        13: .line 1833
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
        start local 3 // java.io.ObjectStreamClass descriptor
        14: .line 1836
      StackMap locals: java.io.ObjectStreamClass
      StackMap stack:
            aload 3 /* descriptor */
            ifnull 16
        15: .line 1837
            aload 0 /* this */
            aload 3 /* descriptor */
            invokevirtual java.io.ObjectInputStream.validateDescriptor:(Ljava/io/ObjectStreamClass;)V
        16: .line 1839
      StackMap locals:
      StackMap stack:
            aload 3 /* descriptor */
            areturn
        end local 3 // java.io.ObjectStreamClass descriptor
        end local 2 // byte tc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Ljava/io/ObjectInputStream;
            0   17     1    unshared  Z
            1   17     2          tc  B
            3    4     3  descriptor  Ljava/io/ObjectStreamClass;
            5    7     3  descriptor  Ljava/io/ObjectStreamClass;
            8    9     3  descriptor  Ljava/io/ObjectStreamClass;
           10   11     3  descriptor  Ljava/io/ObjectStreamClass;
           14   17     3  descriptor  Ljava/io/ObjectStreamClass;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private boolean isCustomSubclass();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1844
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
         1: .line 1845
            ldc Ljava/io/ObjectInputStream;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
         2: .line 1844
            if_acmpeq 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/io/ObjectInputStream;

  private java.io.ObjectStreamClass readProxyDesc(boolean);
    descriptor: (Z)Ljava/io/ObjectStreamClass;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=12, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 1857
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 125
            if_icmpeq 2
         1: .line 1858
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 1861
      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 1862
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 4
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 5
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass
      StackMap stack: java.io.ObjectInputStream$HandleTable
         4: aload 2 /* desc */
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass
      StackMap stack: java.io.ObjectInputStream$HandleTable java.lang.Object
         5: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            istore 3 /* descHandle */
        start local 3 // int descHandle
         6: .line 1863
            aload 0 /* this */
            iconst_m1
            putfield java.io.ObjectInputStream.passHandle:I
         7: .line 1865
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readInt:()I
            istore 4 /* numIfaces */
        start local 4 // int numIfaces
         8: .line 1866
            iload 4 /* numIfaces */
            ldc 65535
            if_icmple 12
         9: .line 1867
            new java.io.InvalidObjectException
            dup
            new java.lang.StringBuilder
            dup
            ldc "interface limit exceeded: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        10: .line 1868
            iload 4 /* numIfaces */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 1867
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 1870
      StackMap locals: int int
      StackMap stack:
            iload 4 /* numIfaces */
            anewarray java.lang.String
            astore 5 /* ifaces */
        start local 5 // java.lang.String[] ifaces
        13: .line 1871
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        14: goto 17
        15: .line 1872
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 5 /* ifaces */
            iload 6 /* i */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readUTF:()Ljava/lang/String;
            aastore
        16: .line 1871
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 6 /* i */
            iload 4 /* numIfaces */
            if_icmplt 15
        end local 6 // int i
        18: .line 1875
            aconst_null
            astore 6 /* cl */
        start local 6 // java.lang.Class cl
        19: .line 1876
            aconst_null
            astore 7 /* resolveEx */
        start local 7 // java.lang.ClassNotFoundException resolveEx
        20: .line 1877
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        21: .line 1879
            aload 0 /* this */
            aload 5 /* ifaces */
            invokevirtual java.io.ObjectInputStream.resolveProxyClass:([Ljava/lang/String;)Ljava/lang/Class;
            dup
            astore 6 /* cl */
            ifnonnull 24
        22: .line 1880
            new java.lang.ClassNotFoundException
            dup
            ldc "null class"
            invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
            astore 7 /* resolveEx */
        23: .line 1881
            goto 37
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int int java.lang.String[] java.lang.Class java.lang.ClassNotFoundException
      StackMap stack:
        24: aload 6 /* cl */
            invokestatic java.lang.reflect.Proxy.isProxyClass:(Ljava/lang/Class;)Z
            ifne 26
        25: .line 1882
            new java.io.InvalidClassException
            dup
            ldc "Not a proxy"
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 1888
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
        27: .line 1889
            aload 6 /* cl */
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
        28: .line 1887
            invokestatic sun.reflect.misc.ReflectUtil.checkProxyPackageAccess:(Ljava/lang/ClassLoader;[Ljava/lang/Class;)V
        29: .line 1891
            aload 6 /* cl */
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 33
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int int java.lang.String[] java.lang.Class java.lang.ClassNotFoundException top int int java.lang.Class[]
      StackMap stack:
        30: aload 11
            iload 9
            aaload
            astore 8 /* clazz */
        start local 8 // java.lang.Class clazz
        31: .line 1892
            aload 0 /* this */
            aload 8 /* clazz */
            iconst_m1
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
        end local 8 // java.lang.Class clazz
        32: .line 1891
            iinc 9 1
      StackMap locals:
      StackMap stack:
        33: iload 9
            iload 10
            if_icmplt 30
        34: .line 1895
            goto 37
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int int java.lang.String[] java.lang.Class java.lang.ClassNotFoundException
      StackMap stack: java.lang.ClassNotFoundException
        35: astore 8 /* ex */
        start local 8 // java.lang.ClassNotFoundException ex
        36: .line 1896
            aload 8 /* ex */
            astore 7 /* resolveEx */
        end local 8 // java.lang.ClassNotFoundException ex
        37: .line 1900
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* cl */
            iconst_m1
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
        38: .line 1902
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.skipCustomData:()V
        39: .line 1905
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.totalObjectRefs:J
            lconst_1
            ladd
            putfield java.io.ObjectInputStream.totalObjectRefs:J
        40: .line 1906
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            ladd
            putfield java.io.ObjectInputStream.depth:J
        41: .line 1907
            aload 2 /* desc */
            aload 6 /* cl */
            aload 7 /* resolveEx */
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            invokevirtual java.io.ObjectStreamClass.initProxy:(Ljava/lang/Class;Ljava/lang/ClassNotFoundException;Ljava/io/ObjectStreamClass;)V
        42: .line 1908
            goto 46
      StackMap locals:
      StackMap stack: java.lang.Throwable
        43: astore 8
        44: .line 1909
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        45: .line 1910
            aload 8
            athrow
        46: .line 1909
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        47: .line 1912
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 3 /* descHandle */
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        48: .line 1913
            aload 0 /* this */
            iload 3 /* descHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        49: .line 1914
            aload 2 /* desc */
            areturn
        end local 7 // java.lang.ClassNotFoundException resolveEx
        end local 6 // java.lang.Class cl
        end local 5 // java.lang.String[] ifaces
        end local 4 // int numIfaces
        end local 3 // int descHandle
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   50     0        this  Ljava/io/ObjectInputStream;
            0   50     1    unshared  Z
            3   50     2        desc  Ljava/io/ObjectStreamClass;
            6   50     3  descHandle  I
            8   50     4   numIfaces  I
           13   50     5      ifaces  [Ljava/lang/String;
           14   18     6           i  I
           19   50     6          cl  Ljava/lang/Class<*>;
           20   50     7   resolveEx  Ljava/lang/ClassNotFoundException;
           31   32     8       clazz  Ljava/lang/Class<*>;
           36   37     8          ex  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
          21    34      35  Class java.lang.ClassNotFoundException
          39    43      43  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private java.io.ObjectStreamClass readNonProxyDesc(boolean);
    descriptor: (Z)Ljava/io/ObjectStreamClass;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 1926
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 114
            if_icmpeq 2
         1: .line 1927
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 1930
      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 1931
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 4
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 5
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass
      StackMap stack: java.io.ObjectInputStream$HandleTable
         4: aload 2 /* desc */
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass
      StackMap stack: java.io.ObjectInputStream$HandleTable java.lang.Object
         5: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            istore 3 /* descHandle */
        start local 3 // int descHandle
         6: .line 1932
            aload 0 /* this */
            iconst_m1
            putfield java.io.ObjectInputStream.passHandle:I
         7: .line 1934
            aconst_null
            astore 4 /* readDesc */
        start local 4 // java.io.ObjectStreamClass readDesc
         8: .line 1936
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readClassDescriptor:()Ljava/io/ObjectStreamClass;
            astore 4 /* readDesc */
         9: .line 1937
            goto 16
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int java.io.ObjectStreamClass
      StackMap stack: java.lang.ClassNotFoundException
        10: astore 5 /* ex */
        start local 5 // java.lang.ClassNotFoundException ex
        11: .line 1938
            new java.io.InvalidClassException
            dup
        12: .line 1939
            ldc "failed to read class descriptor"
        13: .line 1938
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
        14: .line 1939
            aload 5 /* ex */
            invokevirtual java.io.InvalidClassException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
        15: .line 1938
            checkcast java.io.IOException
            athrow
        end local 5 // java.lang.ClassNotFoundException ex
        16: .line 1942
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* cl */
        start local 5 // java.lang.Class cl
        17: .line 1943
            aconst_null
            astore 6 /* resolveEx */
        start local 6 // java.lang.ClassNotFoundException resolveEx
        18: .line 1944
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        19: .line 1945
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.isCustomSubclass:()Z
            istore 7 /* checksRequired */
        start local 7 // boolean checksRequired
        20: .line 1947
            aload 0 /* this */
            aload 4 /* readDesc */
            invokevirtual java.io.ObjectInputStream.resolveClass:(Ljava/io/ObjectStreamClass;)Ljava/lang/Class;
            dup
            astore 5 /* cl */
            ifnonnull 23
        21: .line 1948
            new java.lang.ClassNotFoundException
            dup
            ldc "null class"
            invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
            astore 6 /* resolveEx */
        22: .line 1949
            goto 28
      StackMap locals: java.lang.Class java.lang.ClassNotFoundException int
      StackMap stack:
        23: iload 7 /* checksRequired */
            ifeq 28
        24: .line 1950
            aload 5 /* cl */
            invokestatic sun.reflect.misc.ReflectUtil.checkPackageAccess:(Ljava/lang/Class;)V
        25: .line 1952
            goto 28
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
        26: astore 8 /* ex */
        start local 8 // java.lang.ClassNotFoundException ex
        27: .line 1953
            aload 8 /* ex */
            astore 6 /* resolveEx */
        end local 8 // java.lang.ClassNotFoundException ex
        28: .line 1957
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* cl */
            iconst_m1
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
        29: .line 1959
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.skipCustomData:()V
        30: .line 1962
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.totalObjectRefs:J
            lconst_1
            ladd
            putfield java.io.ObjectInputStream.totalObjectRefs:J
        31: .line 1963
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            ladd
            putfield java.io.ObjectInputStream.depth:J
        32: .line 1964
            aload 2 /* desc */
            aload 4 /* readDesc */
            aload 5 /* cl */
            aload 6 /* resolveEx */
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            invokevirtual java.io.ObjectStreamClass.initNonProxy:(Ljava/io/ObjectStreamClass;Ljava/lang/Class;Ljava/lang/ClassNotFoundException;Ljava/io/ObjectStreamClass;)V
        33: .line 1965
            goto 37
      StackMap locals:
      StackMap stack: java.lang.Throwable
        34: astore 8
        35: .line 1966
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        36: .line 1967
            aload 8
            athrow
        37: .line 1966
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        38: .line 1969
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 3 /* descHandle */
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        39: .line 1970
            aload 0 /* this */
            iload 3 /* descHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        40: .line 1972
            aload 2 /* desc */
            areturn
        end local 7 // boolean checksRequired
        end local 6 // java.lang.ClassNotFoundException resolveEx
        end local 5 // java.lang.Class cl
        end local 4 // java.io.ObjectStreamClass readDesc
        end local 3 // int descHandle
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   41     0            this  Ljava/io/ObjectInputStream;
            0   41     1        unshared  Z
            3   41     2            desc  Ljava/io/ObjectStreamClass;
            6   41     3      descHandle  I
            8   41     4        readDesc  Ljava/io/ObjectStreamClass;
           11   16     5              ex  Ljava/lang/ClassNotFoundException;
           17   41     5              cl  Ljava/lang/Class<*>;
           18   41     6       resolveEx  Ljava/lang/ClassNotFoundException;
           20   41     7  checksRequired  Z
           27   28     8              ex  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           8     9      10  Class java.lang.ClassNotFoundException
          20    25      26  Class java.lang.ClassNotFoundException
          30    34      34  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private java.lang.String readString(boolean);
    descriptor: (Z)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 1981
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            istore 3 /* tc */
        start local 3 // byte tc
         1: .line 1982
            iload 3 /* tc */
            lookupswitch { // 2
                  116: 2
                  124: 4
              default: 6
          }
         2: .line 1984
      StackMap locals: java.io.ObjectInputStream int top int
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readUTF:()Ljava/lang/String;
            astore 2 /* str */
        start local 2 // java.lang.String str
         3: .line 1985
            goto 9
        end local 2 // java.lang.String str
         4: .line 1988
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readLongUTF:()Ljava/lang/String;
            astore 2 /* str */
        start local 2 // java.lang.String str
         5: .line 1989
            goto 9
        end local 2 // java.lang.String str
         6: .line 1992
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
         7: .line 1993
            ldc "invalid type code: %02X"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 3 /* tc */
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         8: .line 1992
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
        start local 2 // java.lang.String str
         9: .line 1995
      StackMap locals: java.io.ObjectInputStream int java.lang.String int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 10
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 11
      StackMap locals: java.io.ObjectInputStream int java.lang.String int
      StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable
        10: aload 2 /* str */
      StackMap locals: java.io.ObjectInputStream int java.lang.String int
      StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable java.lang.Object
        11: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            putfield java.io.ObjectInputStream.passHandle:I
        12: .line 1996
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        13: .line 1997
            aload 2 /* str */
            areturn
        end local 3 // byte tc
        end local 2 // java.lang.String str
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Ljava/io/ObjectInputStream;
            0   14     1  unshared  Z
            3    4     2       str  Ljava/lang/String;
            5    6     2       str  Ljava/lang/String;
            9   14     2       str  Ljava/lang/String;
            1   14     3        tc  B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private java.lang.Object readArray(boolean);
    descriptor: (Z)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 2005
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 117
            if_icmpeq 2
         1: .line 2006
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 2009
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 2 /* desc */
        start local 2 // java.io.ObjectStreamClass desc
         3: .line 2010
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readInt:()I
            istore 3 /* len */
        start local 3 // int len
         4: .line 2012
            aload 0 /* this */
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
         5: .line 2014
            aconst_null
            astore 4 /* array */
        start local 4 // java.lang.Object array
         6: .line 2015
            aconst_null
            astore 6 /* ccl */
        start local 6 // java.lang.Class ccl
         7: .line 2016
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            dup
            astore 5 /* cl */
        start local 5 // java.lang.Class cl
         8: ifnull 11
         9: .line 2017
            aload 5 /* cl */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 6 /* ccl */
        10: .line 2018
            aload 6 /* ccl */
            iload 3 /* len */
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            astore 4 /* array */
        11: .line 2021
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int java.lang.Object java.lang.Class java.lang.Class
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 12
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 13
      StackMap locals:
      StackMap stack: java.io.ObjectInputStream$HandleTable
        12: aload 4 /* array */
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int java.lang.Object java.lang.Class java.lang.Class
      StackMap stack: java.io.ObjectInputStream$HandleTable java.lang.Object
        13: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            istore 7 /* arrayHandle */
        start local 7 // int arrayHandle
        14: .line 2022
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getResolveException:()Ljava/lang/ClassNotFoundException;
            astore 8 /* resolveEx */
        start local 8 // java.lang.ClassNotFoundException resolveEx
        15: .line 2023
            aload 8 /* resolveEx */
            ifnull 17
        16: .line 2024
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 7 /* arrayHandle */
            aload 8 /* resolveEx */
            invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
        17: .line 2027
      StackMap locals: int java.lang.ClassNotFoundException
      StackMap stack:
            aload 6 /* ccl */
            ifnonnull 24
        18: .line 2028
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        19: goto 22
        20: .line 2029
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            ldc Ljava/lang/Object;
            iconst_0
            invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
            pop
        21: .line 2028
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 9 /* i */
            iload 3 /* len */
            if_icmplt 20
        end local 9 // int i
        23: .line 2031
            goto 57
      StackMap locals:
      StackMap stack:
        24: aload 6 /* ccl */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 50
        25: .line 2032
            aload 6 /* ccl */
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            if_acmpne 28
        26: .line 2033
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast int[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readInts:([III)V
        27: .line 2034
            goto 57
      StackMap locals:
      StackMap stack:
        28: aload 6 /* ccl */
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
            if_acmpne 31
        29: .line 2035
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast byte[]
            iconst_0
            iload 3 /* len */
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFully:([BIIZ)V
        30: .line 2036
            goto 57
      StackMap locals:
      StackMap stack:
        31: aload 6 /* ccl */
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            if_acmpne 34
        32: .line 2037
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast long[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readLongs:([JII)V
        33: .line 2038
            goto 57
      StackMap locals:
      StackMap stack:
        34: aload 6 /* ccl */
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            if_acmpne 37
        35: .line 2039
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast float[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFloats:([FII)V
        36: .line 2040
            goto 57
      StackMap locals:
      StackMap stack:
        37: aload 6 /* ccl */
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            if_acmpne 40
        38: .line 2041
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast double[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readDoubles:([DII)V
        39: .line 2042
            goto 57
      StackMap locals:
      StackMap stack:
        40: aload 6 /* ccl */
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
            if_acmpne 43
        41: .line 2043
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast short[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readShorts:([SII)V
        42: .line 2044
            goto 57
      StackMap locals:
      StackMap stack:
        43: aload 6 /* ccl */
            getstatic java.lang.Character.TYPE:Ljava/lang/Class;
            if_acmpne 46
        44: .line 2045
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast char[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readChars:([CII)V
        45: .line 2046
            goto 57
      StackMap locals:
      StackMap stack:
        46: aload 6 /* ccl */
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            if_acmpne 49
        47: .line 2047
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast boolean[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readBooleans:([ZII)V
        48: .line 2048
            goto 57
        49: .line 2049
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
        50: .line 2052
      StackMap locals:
      StackMap stack:
            aload 4 /* array */
            checkcast java.lang.Object[]
            astore 9 /* oa */
        start local 9 // java.lang.Object[] oa
        51: .line 2053
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        52: goto 56
        53: .line 2054
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 9 /* oa */
            iload 10 /* i */
            aload 0 /* this */
            ldc Ljava/lang/Object;
            iconst_0
            invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
            aastore
        54: .line 2055
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 7 /* arrayHandle */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.markDependency:(II)V
        55: .line 2053
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        56: iload 10 /* i */
            iload 3 /* len */
            if_icmplt 53
        end local 10 // int i
        end local 9 // java.lang.Object[] oa
        57: .line 2059
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 7 /* arrayHandle */
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        58: .line 2060
            aload 0 /* this */
            iload 7 /* arrayHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        59: .line 2061
            aload 4 /* array */
            areturn
        end local 8 // java.lang.ClassNotFoundException resolveEx
        end local 7 // int arrayHandle
        end local 6 // java.lang.Class ccl
        end local 5 // java.lang.Class cl
        end local 4 // java.lang.Object array
        end local 3 // int len
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   60     0         this  Ljava/io/ObjectInputStream;
            0   60     1     unshared  Z
            3   60     2         desc  Ljava/io/ObjectStreamClass;
            4   60     3          len  I
            6   60     4        array  Ljava/lang/Object;
            8   60     5           cl  Ljava/lang/Class<*>;
            7   60     6          ccl  Ljava/lang/Class<*>;
           14   60     7  arrayHandle  I
           15   60     8    resolveEx  Ljava/lang/ClassNotFoundException;
           19   23     9            i  I
           51   57     9           oa  [Ljava/lang/Object;
           52   57    10            i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private java.lang.Enum<?> readEnum(boolean);
    descriptor: (Z)Ljava/lang/Enum;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 2069
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 126
            if_icmpeq 2
         1: .line 2070
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 2073
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 2 /* desc */
        start local 2 // java.io.ObjectStreamClass desc
         3: .line 2074
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.isEnum:()Z
            ifne 5
         4: .line 2075
            new java.io.InvalidClassException
            dup
            new java.lang.StringBuilder
            dup
            ldc "non-enum class: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* desc */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 2078
      StackMap locals: java.io.ObjectStreamClass
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 6
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 7
      StackMap locals:
      StackMap stack: java.io.ObjectInputStream$HandleTable
         6: aconst_null
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass
      StackMap stack: java.io.ObjectInputStream$HandleTable java.lang.Object
         7: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            istore 3 /* enumHandle */
        start local 3 // int enumHandle
         8: .line 2079
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getResolveException:()Ljava/lang/ClassNotFoundException;
            astore 4 /* resolveEx */
        start local 4 // java.lang.ClassNotFoundException resolveEx
         9: .line 2080
            aload 4 /* resolveEx */
            ifnull 11
        10: .line 2081
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 3 /* enumHandle */
            aload 4 /* resolveEx */
            invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
        11: .line 2084
      StackMap locals: int java.lang.ClassNotFoundException
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readString:(Z)Ljava/lang/String;
            astore 5 /* name */
        start local 5 // java.lang.String name
        12: .line 2085
            aconst_null
            astore 6 /* result */
        start local 6 // java.lang.Enum result
        13: .line 2086
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            astore 7 /* cl */
        start local 7 // java.lang.Class cl
        14: .line 2087
            aload 7 /* cl */
            ifnull 28
        15: .line 2090
            aload 7 /* cl */
            aload 5 /* name */
            invokestatic java.lang.Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
            astore 8 /* en */
        start local 8 // java.lang.Enum en
        16: .line 2091
            aload 8 /* en */
            astore 6 /* result */
        end local 8 // java.lang.Enum en
        17: .line 2092
            goto 26
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int java.lang.ClassNotFoundException java.lang.String java.lang.Enum java.lang.Class
      StackMap stack: java.lang.IllegalArgumentException
        18: astore 8 /* ex */
        start local 8 // java.lang.IllegalArgumentException ex
        19: .line 2093
            new java.io.InvalidObjectException
            dup
        20: .line 2094
            new java.lang.StringBuilder
            dup
            ldc "enum constant "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " does not exist in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        21: .line 2095
            aload 7 /* cl */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        22: .line 2094
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        23: .line 2093
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
        24: .line 2095
            aload 8 /* ex */
            invokevirtual java.io.InvalidObjectException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
        25: .line 2093
            checkcast java.io.IOException
            athrow
        end local 8 // java.lang.IllegalArgumentException ex
        26: .line 2097
      StackMap locals:
      StackMap stack:
            iload 1 /* unshared */
            ifne 28
        27: .line 2098
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 3 /* enumHandle */
            aload 6 /* result */
            invokevirtual java.io.ObjectInputStream$HandleTable.setObject:(ILjava/lang/Object;)V
        28: .line 2102
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 3 /* enumHandle */
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        29: .line 2103
            aload 0 /* this */
            iload 3 /* enumHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        30: .line 2104
            aload 6 /* result */
            areturn
        end local 7 // java.lang.Class cl
        end local 6 // java.lang.Enum result
        end local 5 // java.lang.String name
        end local 4 // java.lang.ClassNotFoundException resolveEx
        end local 3 // int enumHandle
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   31     0        this  Ljava/io/ObjectInputStream;
            0   31     1    unshared  Z
            3   31     2        desc  Ljava/io/ObjectStreamClass;
            8   31     3  enumHandle  I
            9   31     4   resolveEx  Ljava/lang/ClassNotFoundException;
           12   31     5        name  Ljava/lang/String;
           13   31     6      result  Ljava/lang/Enum<*>;
           14   31     7          cl  Ljava/lang/Class<*>;
           16   17     8          en  Ljava/lang/Enum<*>;
           19   26     8          ex  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
          15    17      18  Class java.lang.IllegalArgumentException
    Exceptions:
      throws java.io.IOException
    Signature: (Z)Ljava/lang/Enum<*>;
    MethodParameters:
          Name  Flags
      unshared  

  private java.lang.Object readOrdinaryObject(boolean);
    descriptor: (Z)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 2117
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 115
            if_icmpeq 2
         1: .line 2118
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 2121
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 2 /* desc */
        start local 2 // java.io.ObjectStreamClass desc
         3: .line 2122
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.checkDeserialize:()V
         4: .line 2124
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            astore 3 /* cl */
        start local 3 // java.lang.Class cl
         5: .line 2125
            aload 3 /* cl */
            ldc Ljava/lang/String;
            if_acmpeq 7
            aload 3 /* cl */
            ldc Ljava/lang/Class;
            if_acmpeq 7
         6: .line 2126
            aload 3 /* cl */
            ldc Ljava/io/ObjectStreamClass;
            if_acmpne 8
         7: .line 2127
      StackMap locals: java.io.ObjectStreamClass java.lang.Class
      StackMap stack:
            new java.io.InvalidClassException
            dup
            ldc "invalid class descriptor"
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 2132
      StackMap locals:
      StackMap stack:
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.isInstantiable:()Z
            ifeq 9
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.newInstance:()Ljava/lang/Object;
            goto 10
      StackMap locals:
      StackMap stack:
         9: aconst_null
      StackMap locals:
      StackMap stack: java.lang.Object
        10: astore 4 /* obj */
        start local 4 // java.lang.Object obj
        11: .line 2133
            goto 19
        end local 4 // java.lang.Object obj
      StackMap locals:
      StackMap stack: java.lang.Exception
        12: astore 5 /* ex */
        start local 5 // java.lang.Exception ex
        13: .line 2134
            new java.io.InvalidClassException
            dup
        14: .line 2135
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        15: .line 2136
            ldc "unable to create instance"
        16: .line 2134
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
        17: .line 2136
            aload 5 /* ex */
            invokevirtual java.io.InvalidClassException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
        18: .line 2134
            checkcast java.io.IOException
            athrow
        end local 5 // java.lang.Exception ex
        start local 4 // java.lang.Object obj
        19: .line 2139
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 20
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 21
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass java.lang.Class java.lang.Object
      StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable
        20: aload 4 /* obj */
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass java.lang.Class java.lang.Object
      StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable java.lang.Object
        21: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            putfield java.io.ObjectInputStream.passHandle:I
        22: .line 2140
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getResolveException:()Ljava/lang/ClassNotFoundException;
            astore 5 /* resolveEx */
        start local 5 // java.lang.ClassNotFoundException resolveEx
        23: .line 2141
            aload 5 /* resolveEx */
            ifnull 25
        24: .line 2142
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 5 /* resolveEx */
            invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
        25: .line 2145
      StackMap locals: java.lang.ClassNotFoundException
      StackMap stack:
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.isExternalizable:()Z
            ifeq 28
        26: .line 2146
            aload 0 /* this */
            aload 4 /* obj */
            checkcast java.io.Externalizable
            aload 2 /* desc */
            invokevirtual java.io.ObjectInputStream.readExternalData:(Ljava/io/Externalizable;Ljava/io/ObjectStreamClass;)V
        27: .line 2147
            goto 29
        28: .line 2148
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* obj */
            aload 2 /* desc */
            invokevirtual java.io.ObjectInputStream.readSerialData:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
        29: .line 2151
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        30: .line 2153
            aload 4 /* obj */
            ifnull 43
        31: .line 2154
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            ifnonnull 43
        32: .line 2155
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.hasReadResolveMethod:()Z
            ifeq 43
        33: .line 2157
            aload 2 /* desc */
            aload 4 /* obj */
            invokevirtual java.io.ObjectStreamClass.invokeReadResolve:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 6 /* rep */
        start local 6 // java.lang.Object rep
        34: .line 2158
            iload 1 /* unshared */
            ifeq 36
            aload 6 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 36
        35: .line 2159
            aload 6 /* rep */
            invokestatic java.io.ObjectInputStream.cloneArray:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 6 /* rep */
        36: .line 2161
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 6 /* rep */
            aload 4 /* obj */
            if_acmpeq 43
        37: .line 2163
            aload 6 /* rep */
            ifnull 42
        38: .line 2164
            aload 6 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 41
        39: .line 2165
            aload 0 /* this */
            aload 6 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 6 /* rep */
            invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
        40: .line 2166
            goto 42
        41: .line 2167
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            iconst_m1
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
        42: .line 2170
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 6 /* rep */
            dup
            astore 4 /* obj */
            invokevirtual java.io.ObjectInputStream$HandleTable.setObject:(ILjava/lang/Object;)V
        end local 6 // java.lang.Object rep
        43: .line 2174
      StackMap locals:
      StackMap stack:
            aload 4 /* obj */
            areturn
        end local 5 // java.lang.ClassNotFoundException resolveEx
        end local 4 // java.lang.Object obj
        end local 3 // java.lang.Class cl
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   44     0       this  Ljava/io/ObjectInputStream;
            0   44     1   unshared  Z
            3   44     2       desc  Ljava/io/ObjectStreamClass;
            5   44     3         cl  Ljava/lang/Class<*>;
           11   12     4        obj  Ljava/lang/Object;
           19   44     4        obj  Ljava/lang/Object;
           13   19     5         ex  Ljava/lang/Exception;
           23   44     5  resolveEx  Ljava/lang/ClassNotFoundException;
           34   43     6        rep  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           8    11      12  Class java.lang.Exception
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private void readExternalData(java.io.Externalizable, java.io.ObjectStreamClass);
    descriptor: (Ljava/io/Externalizable;Ljava/io/ObjectStreamClass;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.io.Externalizable obj
        start local 2 // java.io.ObjectStreamClass desc
         0: .line 2186
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            astore 3 /* oldContext */
        start local 3 // java.io.SerialCallbackContext oldContext
         1: .line 2187
            aload 3 /* oldContext */
            ifnull 3
         2: .line 2188
            aload 3 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
         3: .line 2189
      StackMap locals: java.io.SerialCallbackContext
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
         4: .line 2191
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.hasBlockExternalData:()Z
            istore 4 /* blocked */
        start local 4 // boolean blocked
         5: .line 2192
            iload 4 /* blocked */
            ifeq 7
         6: .line 2193
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
         7: .line 2195
      StackMap locals: int
      StackMap stack:
            aload 1 /* obj */
            ifnull 12
         8: .line 2197
            aload 1 /* obj */
            aload 0 /* this */
            invokeinterface java.io.Externalizable.readExternal:(Ljava/io/ObjectInput;)V
         9: .line 2198
            goto 12
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
        10: astore 5 /* ex */
        start local 5 // java.lang.ClassNotFoundException ex
        11: .line 2206
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 5 /* ex */
            invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
        end local 5 // java.lang.ClassNotFoundException ex
        12: .line 2209
      StackMap locals:
      StackMap stack:
            iload 4 /* blocked */
            ifeq 20
        13: .line 2210
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.skipCustomData:()V
        end local 4 // boolean blocked
        14: .line 2212
            goto 20
      StackMap locals: java.io.ObjectInputStream java.io.Externalizable java.io.ObjectStreamClass java.io.SerialCallbackContext
      StackMap stack: java.lang.Throwable
        15: astore 6
        16: .line 2213
            aload 3 /* oldContext */
            ifnull 18
        17: .line 2214
            aload 3 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
        18: .line 2215
      StackMap locals: java.io.ObjectInputStream java.io.Externalizable java.io.ObjectStreamClass java.io.SerialCallbackContext top top java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            aload 3 /* oldContext */
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
        19: .line 2216
            aload 6
            athrow
        20: .line 2213
      StackMap locals: java.io.ObjectInputStream java.io.Externalizable java.io.ObjectStreamClass java.io.SerialCallbackContext
      StackMap stack:
            aload 3 /* oldContext */
            ifnull 22
        21: .line 2214
            aload 3 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
        22: .line 2215
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* oldContext */
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
        23: .line 2229
            return
        end local 3 // java.io.SerialCallbackContext oldContext
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // java.io.Externalizable obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   24     0        this  Ljava/io/ObjectInputStream;
            0   24     1         obj  Ljava/io/Externalizable;
            0   24     2        desc  Ljava/io/ObjectStreamClass;
            1   24     3  oldContext  Ljava/io/SerialCallbackContext;
            5   14     4     blocked  Z
           11   12     5          ex  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           8     9      10  Class java.lang.ClassNotFoundException
           4    15      15  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      obj   
      desc  

  private void readSerialData(java.lang.Object, java.io.ObjectStreamClass);
    descriptor: (Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=12, args_size=3
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Object obj
        start local 2 // java.io.ObjectStreamClass desc
         0: .line 2240
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getClassDataLayout:()[Ljava/io/ObjectStreamClass$ClassDataSlot;
            astore 3 /* slots */
        start local 3 // java.io.ObjectStreamClass$ClassDataSlot[] slots
         1: .line 2241
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 68
         3: .line 2242
      StackMap locals: java.io.ObjectStreamClass$ClassDataSlot[] int
      StackMap stack:
            aload 3 /* slots */
            iload 4 /* i */
            aaload
            getfield java.io.ObjectStreamClass$ClassDataSlot.desc:Ljava/io/ObjectStreamClass;
            astore 5 /* slotDesc */
        start local 5 // java.io.ObjectStreamClass slotDesc
         4: .line 2244
            aload 3 /* slots */
            iload 4 /* i */
            aaload
            getfield java.io.ObjectStreamClass$ClassDataSlot.hasData:Z
            ifeq 63
         5: .line 2245
            aload 1 /* obj */
            ifnull 6
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            ifnull 8
         6: .line 2246
      StackMap locals: java.io.ObjectStreamClass
      StackMap stack:
            aload 0 /* this */
            aconst_null
            aload 5 /* slotDesc */
            invokevirtual java.io.ObjectInputStream.defaultReadFields:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
         7: .line 2247
            goto 58
      StackMap locals:
      StackMap stack:
         8: aload 5 /* slotDesc */
            invokevirtual java.io.ObjectStreamClass.hasReadObjectMethod:()Z
            ifeq 57
         9: .line 2248
            aconst_null
            astore 6 /* t */
        start local 6 // java.lang.ThreadDeath t
        10: .line 2249
            iconst_0
            istore 7 /* reset */
        start local 7 // boolean reset
        11: .line 2250
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            astore 8 /* oldContext */
        start local 8 // java.io.SerialCallbackContext oldContext
        12: .line 2251
            aload 8 /* oldContext */
            ifnull 14
        13: .line 2252
            aload 8 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
        14: .line 2254
      StackMap locals: java.lang.ThreadDeath int java.io.SerialCallbackContext
      StackMap stack:
            aload 0 /* this */
            new java.io.SerialCallbackContext
            dup
            aload 1 /* obj */
            aload 5 /* slotDesc */
            invokespecial java.io.SerialCallbackContext.<init>:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
        15: .line 2256
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        16: .line 2257
            aload 5 /* slotDesc */
            aload 1 /* obj */
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.invokeReadObject:(Ljava/lang/Object;Ljava/io/ObjectInputStream;)V
        17: .line 2258
            goto 44
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
        18: astore 9 /* ex */
        start local 9 // java.lang.ClassNotFoundException ex
        19: .line 2266
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 9 /* ex */
            invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
        end local 9 // java.lang.ClassNotFoundException ex
        20: .line 2270
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            invokevirtual java.io.SerialCallbackContext.setUsed:()V
        21: .line 2271
            aload 8 /* oldContext */
            ifnull 23
        22: .line 2272
            aload 8 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
        23: .line 2273
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* oldContext */
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
        24: .line 2274
            iconst_1
            istore 7 /* reset */
        25: .line 2275
            goto 28
      StackMap locals:
      StackMap stack: java.lang.ThreadDeath
        26: astore 11 /* x */
        start local 11 // java.lang.ThreadDeath x
        27: .line 2276
            aload 11 /* x */
            astore 6 /* t */
        end local 11 // java.lang.ThreadDeath x
        28: .line 2278
      StackMap locals:
      StackMap stack:
            iload 7 /* reset */
            ifeq 20
        29: .line 2279
            aload 6 /* t */
            ifnull 55
        30: .line 2280
            aload 6 /* t */
            athrow
        31: .line 2267
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 10
        32: .line 2270
      StackMap locals: java.io.ObjectInputStream java.lang.Object java.io.ObjectStreamClass java.io.ObjectStreamClass$ClassDataSlot[] int java.io.ObjectStreamClass java.lang.ThreadDeath int java.io.SerialCallbackContext top java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            invokevirtual java.io.SerialCallbackContext.setUsed:()V
        33: .line 2271
            aload 8 /* oldContext */
            ifnull 35
        34: .line 2272
            aload 8 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
        35: .line 2273
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* oldContext */
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
        36: .line 2274
            iconst_1
            istore 7 /* reset */
        37: .line 2275
            goto 40
      StackMap locals:
      StackMap stack: java.lang.ThreadDeath
        38: astore 11 /* x */
        start local 11 // java.lang.ThreadDeath x
        39: .line 2276
            aload 11 /* x */
            astore 6 /* t */
        end local 11 // java.lang.ThreadDeath x
        40: .line 2278
      StackMap locals:
      StackMap stack:
            iload 7 /* reset */
            ifeq 32
        41: .line 2279
            aload 6 /* t */
            ifnull 43
        42: .line 2280
            aload 6 /* t */
            athrow
        43: .line 2281
      StackMap locals:
      StackMap stack:
            aload 10
            athrow
        44: .line 2270
      StackMap locals: java.io.ObjectInputStream java.lang.Object java.io.ObjectStreamClass java.io.ObjectStreamClass$ClassDataSlot[] int java.io.ObjectStreamClass java.lang.ThreadDeath int java.io.SerialCallbackContext
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            invokevirtual java.io.SerialCallbackContext.setUsed:()V
        45: .line 2271
            aload 8 /* oldContext */
            ifnull 47
        46: .line 2272
            aload 8 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
        47: .line 2273
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* oldContext */
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
        48: .line 2274
            iconst_1
            istore 7 /* reset */
        49: .line 2275
            goto 52
      StackMap locals:
      StackMap stack: java.lang.ThreadDeath
        50: astore 11 /* x */
        start local 11 // java.lang.ThreadDeath x
        51: .line 2276
            aload 11 /* x */
            astore 6 /* t */
        end local 11 // java.lang.ThreadDeath x
        52: .line 2278
      StackMap locals:
      StackMap stack:
            iload 7 /* reset */
            ifeq 44
        53: .line 2279
            aload 6 /* t */
            ifnull 55
        54: .line 2280
            aload 6 /* t */
            athrow
        55: .line 2288
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield java.io.ObjectInputStream.defaultDataEnd:Z
        end local 8 // java.io.SerialCallbackContext oldContext
        end local 7 // boolean reset
        end local 6 // java.lang.ThreadDeath t
        56: .line 2289
            goto 58
        57: .line 2290
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* obj */
            aload 5 /* slotDesc */
            invokevirtual java.io.ObjectInputStream.defaultReadFields:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
        58: .line 2293
      StackMap locals:
      StackMap stack:
            aload 5 /* slotDesc */
            invokevirtual java.io.ObjectStreamClass.hasWriteObjectData:()Z
            ifeq 61
        59: .line 2294
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.skipCustomData:()V
        60: .line 2295
            goto 67
        61: .line 2296
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        62: .line 2298
            goto 67
        63: .line 2299
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            ifnull 67
        64: .line 2300
            aload 5 /* slotDesc */
            invokevirtual java.io.ObjectStreamClass.hasReadObjectNoDataMethod:()Z
            ifeq 67
        65: .line 2301
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            ifnonnull 67
        66: .line 2303
            aload 5 /* slotDesc */
            aload 1 /* obj */
            invokevirtual java.io.ObjectStreamClass.invokeReadObjectNoData:(Ljava/lang/Object;)V
        end local 5 // java.io.ObjectStreamClass slotDesc
        67: .line 2241
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        68: iload 4 /* i */
            aload 3 /* slots */
            arraylength
            if_icmplt 3
        end local 4 // int i
        69: .line 2307
            return
        end local 3 // java.io.ObjectStreamClass$ClassDataSlot[] slots
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   70     0        this  Ljava/io/ObjectInputStream;
            0   70     1         obj  Ljava/lang/Object;
            0   70     2        desc  Ljava/io/ObjectStreamClass;
            1   70     3       slots  [Ljava/io/ObjectStreamClass$ClassDataSlot;
            2   69     4           i  I
            4   67     5    slotDesc  Ljava/io/ObjectStreamClass;
           10   56     6           t  Ljava/lang/ThreadDeath;
           11   56     7       reset  Z
           12   56     8  oldContext  Ljava/io/SerialCallbackContext;
           19   20     9          ex  Ljava/lang/ClassNotFoundException;
           27   28    11           x  Ljava/lang/ThreadDeath;
           39   40    11           x  Ljava/lang/ThreadDeath;
           51   52    11           x  Ljava/lang/ThreadDeath;
      Exception table:
        from    to  target  type
          14    17      18  Class java.lang.ClassNotFoundException
          20    25      26  Class java.lang.ThreadDeath
          14    20      31  any
          32    37      38  Class java.lang.ThreadDeath
          44    49      50  Class java.lang.ThreadDeath
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      obj   
      desc  

  private void skipCustomData();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 2314
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            istore 1 /* oldHandle */
        start local 1 // int oldHandle
         1: .line 2316
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.getBlockDataMode:()Z
            ifeq 4
         2: .line 2317
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.skipBlockData:()V
         3: .line 2318
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
         4: .line 2320
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.peekByte:()B
            tableswitch { // 119 - 122
                  119: 5
                  120: 7
                  121: 10
                  122: 5
              default: 10
          }
         5: .line 2323
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
         6: .line 2324
            goto 1
         7: .line 2327
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            pop
         8: .line 2328
            aload 0 /* this */
            iload 1 /* oldHandle */
            putfield java.io.ObjectInputStream.passHandle:I
         9: .line 2329
            return
        10: .line 2332
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc Ljava/lang/Object;
            iconst_0
            invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
            pop
        11: .line 2315
            goto 1
        end local 1 // int oldHandle
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Ljava/io/ObjectInputStream;
            1   12     1  oldHandle  I
    Exceptions:
      throws java.io.IOException

  private void defaultReadFields(java.lang.Object, java.io.ObjectStreamClass);
    descriptor: (Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=3
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Object obj
        start local 2 // java.io.ObjectStreamClass desc
         0: .line 2346
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            astore 3 /* cl */
        start local 3 // java.lang.Class cl
         1: .line 2347
            aload 3 /* cl */
            ifnull 3
            aload 1 /* obj */
            ifnull 3
            aload 3 /* cl */
            aload 1 /* obj */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifne 3
         2: .line 2348
            new java.lang.ClassCastException
            dup
            invokespecial java.lang.ClassCastException.<init>:()V
            athrow
         3: .line 2351
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getPrimDataSize:()I
            istore 4 /* primDataSize */
        start local 4 // int primDataSize
         4: .line 2352
            aload 0 /* this */
            getfield java.io.ObjectInputStream.primVals:[B
            ifnull 5
            aload 0 /* this */
            getfield java.io.ObjectInputStream.primVals:[B
            arraylength
            iload 4 /* primDataSize */
            if_icmpge 6
         5: .line 2353
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* primDataSize */
            newarray 8
            putfield java.io.ObjectInputStream.primVals:[B
         6: .line 2355
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.primVals:[B
            iconst_0
            iload 4 /* primDataSize */
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFully:([BIIZ)V
         7: .line 2356
            aload 1 /* obj */
            ifnull 9
         8: .line 2357
            aload 2 /* desc */
            aload 1 /* obj */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.primVals:[B
            invokevirtual java.io.ObjectStreamClass.setPrimFieldValues:(Ljava/lang/Object;[B)V
         9: .line 2360
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            istore 5 /* objHandle */
        start local 5 // int objHandle
        10: .line 2361
            aload 2 /* desc */
            iconst_0
            invokevirtual java.io.ObjectStreamClass.getFields:(Z)[Ljava/io/ObjectStreamField;
            astore 6 /* fields */
        start local 6 // java.io.ObjectStreamField[] fields
        11: .line 2362
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getNumObjFields:()I
            anewarray java.lang.Object
            astore 7 /* objVals */
        start local 7 // java.lang.Object[] objVals
        12: .line 2363
            aload 6 /* fields */
            arraylength
            aload 7 /* objVals */
            arraylength
            isub
            istore 8 /* numPrimFields */
        start local 8 // int numPrimFields
        13: .line 2364
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        14: goto 20
        15: .line 2365
      StackMap locals: java.io.ObjectInputStream java.lang.Object java.io.ObjectStreamClass java.lang.Class int int java.io.ObjectStreamField[] java.lang.Object[] int int
      StackMap stack:
            aload 6 /* fields */
            iload 8 /* numPrimFields */
            iload 9 /* i */
            iadd
            aaload
            astore 10 /* f */
        start local 10 // java.io.ObjectStreamField f
        16: .line 2366
            aload 7 /* objVals */
            iload 9 /* i */
            aload 0 /* this */
            ldc Ljava/lang/Object;
            aload 10 /* f */
            invokevirtual java.io.ObjectStreamField.isUnshared:()Z
            invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
            aastore
        17: .line 2367
            aload 10 /* f */
            invokevirtual java.io.ObjectStreamField.getField:()Ljava/lang/reflect/Field;
            ifnull 19
        18: .line 2368
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 5 /* objHandle */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.markDependency:(II)V
        end local 10 // java.io.ObjectStreamField f
        19: .line 2364
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 9 /* i */
            aload 7 /* objVals */
            arraylength
            if_icmplt 15
        end local 9 // int i
        21: .line 2371
            aload 1 /* obj */
            ifnull 23
        22: .line 2372
            aload 2 /* desc */
            aload 1 /* obj */
            aload 7 /* objVals */
            invokevirtual java.io.ObjectStreamClass.setObjFieldValues:(Ljava/lang/Object;[Ljava/lang/Object;)V
        23: .line 2374
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* objHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        24: .line 2375
            return
        end local 8 // int numPrimFields
        end local 7 // java.lang.Object[] objVals
        end local 6 // java.io.ObjectStreamField[] fields
        end local 5 // int objHandle
        end local 4 // int primDataSize
        end local 3 // java.lang.Class cl
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   25     0           this  Ljava/io/ObjectInputStream;
            0   25     1            obj  Ljava/lang/Object;
            0   25     2           desc  Ljava/io/ObjectStreamClass;
            1   25     3             cl  Ljava/lang/Class<*>;
            4   25     4   primDataSize  I
           10   25     5      objHandle  I
           11   25     6         fields  [Ljava/io/ObjectStreamField;
           12   25     7        objVals  [Ljava/lang/Object;
           13   25     8  numPrimFields  I
           14   21     9              i  I
           16   19    10              f  Ljava/io/ObjectStreamField;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      obj   
      desc  

  private java.io.IOException readFatalException();
    descriptor: ()Ljava/io/IOException;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 2383
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 123
            if_icmpeq 2
         1: .line 2384
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 2386
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
         3: .line 2387
            aload 0 /* this */
            ldc Ljava/lang/Object;
            iconst_0
            invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
            checkcast java.io.IOException
            areturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  private void handleReset();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 2396
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifle 4
         1: .line 2397
            new java.io.StreamCorruptedException
            dup
         2: .line 2398
            new java.lang.StringBuilder
            dup
            ldc "unexpected reset; recursion depth: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 2397
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 2400
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
         5: .line 2401
            return
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.StreamCorruptedException

  private static native void bytesToFloats(byte[], int, float[], int, int);
    descriptor: ([BI[FII)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
         Name  Flags
      src      
      srcpos   
      dst      
      dstpos   
      nfloats  

  private static native void bytesToDoubles(byte[], int, double[], int, int);
    descriptor: ([BI[DII)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
          Name  Flags
      src       
      srcpos    
      dst       
      dstpos    
      ndoubles  

  private static java.lang.ClassLoader latestUserDefinedLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 2432
            invokestatic sun.misc.VM.latestUserDefinedLoader:()Ljava/lang/ClassLoader;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object cloneArray(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object array
         0: .line 3970
            aload 0 /* array */
            instanceof java.lang.Object[]
            ifeq 2
         1: .line 3971
            aload 0 /* array */
            checkcast java.lang.Object[]
            invokevirtual java.lang.Object[].clone:()Ljava/lang/Object;
            areturn
         2: .line 3972
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof boolean[]
            ifeq 4
         3: .line 3973
            aload 0 /* array */
            checkcast boolean[]
            invokevirtual boolean[].clone:()Ljava/lang/Object;
            areturn
         4: .line 3974
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof byte[]
            ifeq 6
         5: .line 3975
            aload 0 /* array */
            checkcast byte[]
            invokevirtual byte[].clone:()Ljava/lang/Object;
            areturn
         6: .line 3976
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof char[]
            ifeq 8
         7: .line 3977
            aload 0 /* array */
            checkcast char[]
            invokevirtual char[].clone:()Ljava/lang/Object;
            areturn
         8: .line 3978
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof double[]
            ifeq 10
         9: .line 3979
            aload 0 /* array */
            checkcast double[]
            invokevirtual double[].clone:()Ljava/lang/Object;
            areturn
        10: .line 3980
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof float[]
            ifeq 12
        11: .line 3981
            aload 0 /* array */
            checkcast float[]
            invokevirtual float[].clone:()Ljava/lang/Object;
            areturn
        12: .line 3982
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof int[]
            ifeq 14
        13: .line 3983
            aload 0 /* array */
            checkcast int[]
            invokevirtual int[].clone:()Ljava/lang/Object;
            areturn
        14: .line 3984
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof long[]
            ifeq 16
        15: .line 3985
            aload 0 /* array */
            checkcast long[]
            invokevirtual long[].clone:()Ljava/lang/Object;
            areturn
        16: .line 3986
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof short[]
            ifeq 18
        17: .line 3987
            aload 0 /* array */
            checkcast short[]
            invokevirtual short[].clone:()Ljava/lang/Object;
            areturn
        18: .line 3989
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 0 // java.lang.Object array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   19     0  array  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      array  

  private void validateDescriptor(java.io.ObjectStreamClass);
    descriptor: (Ljava/io/ObjectStreamClass;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.io.ObjectStreamClass descriptor
         0: .line 3994
            aload 0 /* this */
            getfield java.io.ObjectInputStream.validator:Lsun/misc/ObjectStreamClassValidator;
            astore 2 /* validating */
        start local 2 // sun.misc.ObjectStreamClassValidator validating
         1: .line 3995
            aload 2 /* validating */
            ifnull 3
         2: .line 3996
            aload 2 /* validating */
            aload 1 /* descriptor */
            invokeinterface sun.misc.ObjectStreamClassValidator.validateDescriptor:(Ljava/io/ObjectStreamClass;)V
         3: .line 3998
      StackMap locals: sun.misc.ObjectStreamClassValidator
      StackMap stack:
            return
        end local 2 // sun.misc.ObjectStreamClassValidator validating
        end local 1 // java.io.ObjectStreamClass descriptor
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Ljava/io/ObjectInputStream;
            0    4     1  descriptor  Ljava/io/ObjectStreamClass;
            1    4     2  validating  Lsun/misc/ObjectStreamClassValidator;
    MethodParameters:
            Name  Flags
      descriptor  

  private static void setValidator(java.io.ObjectInputStream, sun.misc.ObjectStreamClassValidator);
    descriptor: (Ljava/io/ObjectInputStream;Lsun/misc/ObjectStreamClassValidator;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.io.ObjectInputStream ois
        start local 1 // sun.misc.ObjectStreamClassValidator validator
         0: .line 4004
            aload 0 /* ois */
            aload 1 /* validator */
            putfield java.io.ObjectInputStream.validator:Lsun/misc/ObjectStreamClassValidator;
         1: .line 4005
            return
        end local 1 // sun.misc.ObjectStreamClassValidator validator
        end local 0 // java.io.ObjectInputStream ois
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0        ois  Ljava/io/ObjectInputStream;
            0    2     1  validator  Lsun/misc/ObjectStreamClassValidator;
    MethodParameters:
           Name  Flags
      ois        
      validator  
}
SourceFile: "ObjectInputStream.java"
NestMembers:
  java.io.ObjectInputStream$1  java.io.ObjectInputStream$2  java.io.ObjectInputStream$BlockDataInputStream  java.io.ObjectInputStream$Caches  java.io.ObjectInputStream$FilterValues  java.io.ObjectInputStream$GetField  java.io.ObjectInputStream$GetFieldImpl  java.io.ObjectInputStream$HandleTable  java.io.ObjectInputStream$HandleTable$HandleList  java.io.ObjectInputStream$Logging  java.io.ObjectInputStream$PeekInputStream  java.io.ObjectInputStream$ValidationList  java.io.ObjectInputStream$ValidationList$1  java.io.ObjectInputStream$ValidationList$Callback
InnerClasses:
  java.io.ObjectInputStream$1
  java.io.ObjectInputStream$2
  private BlockDataInputStream = java.io.ObjectInputStream$BlockDataInputStream of java.io.ObjectInputStream
  private Caches = java.io.ObjectInputStream$Caches of java.io.ObjectInputStream
  FilterValues = java.io.ObjectInputStream$FilterValues of java.io.ObjectInputStream
  public abstract GetField = java.io.ObjectInputStream$GetField of java.io.ObjectInputStream
  private GetFieldImpl = java.io.ObjectInputStream$GetFieldImpl of java.io.ObjectInputStream
  private HandleTable = java.io.ObjectInputStream$HandleTable of java.io.ObjectInputStream
  private Logging = java.io.ObjectInputStream$Logging of java.io.ObjectInputStream
  private PeekInputStream = java.io.ObjectInputStream$PeekInputStream of java.io.ObjectInputStream
  private ValidationList = java.io.ObjectInputStream$ValidationList of java.io.ObjectInputStream
  ClassDataSlot = java.io.ObjectStreamClass$ClassDataSlot of java.io.ObjectStreamClass
  WeakClassKey = java.io.ObjectStreamClass$WeakClassKey of java.io.ObjectStreamClass
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final Config = sun.misc.ObjectInputFilter$Config of sun.misc.ObjectInputFilter
  public abstract FilterInfo = sun.misc.ObjectInputFilter$FilterInfo of sun.misc.ObjectInputFilter
  public final Status = sun.misc.ObjectInputFilter$Status of sun.misc.ObjectInputFilter