public class java.beans.DefaultPersistenceDelegate extends java.beans.PersistenceDelegate
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: java.beans.DefaultPersistenceDelegate
  super_class: java.beans.PersistenceDelegate
{
  private static final java.lang.String[] EMPTY;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.lang.String[] constructor;
    descriptor: [Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.lang.Boolean definesEquals;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 61
            iconst_0
            anewarray java.lang.String
            putstatic java.beans.DefaultPersistenceDelegate.EMPTY:[Ljava/lang/String;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.beans.DefaultPersistenceDelegate this
         0: .line 70
            aload 0 /* this */
            invokespecial java.beans.PersistenceDelegate.<init>:()V
         1: .line 71
            aload 0 /* this */
            getstatic java.beans.DefaultPersistenceDelegate.EMPTY:[Ljava/lang/String;
            putfield java.beans.DefaultPersistenceDelegate.constructor:[Ljava/lang/String;
         2: .line 72
            return
        end local 0 // java.beans.DefaultPersistenceDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/beans/DefaultPersistenceDelegate;

  public void <init>(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.beans.DefaultPersistenceDelegate this
        start local 1 // java.lang.String[] constructorPropertyNames
         0: .line 95
            aload 0 /* this */
            invokespecial java.beans.PersistenceDelegate.<init>:()V
         1: .line 96
            aload 0 /* this */
            aload 1 /* constructorPropertyNames */
            ifnonnull 2
            getstatic java.beans.DefaultPersistenceDelegate.EMPTY:[Ljava/lang/String;
            goto 3
      StackMap locals: java.beans.DefaultPersistenceDelegate java.lang.String[]
      StackMap stack: java.beans.DefaultPersistenceDelegate
         2: aload 1 /* constructorPropertyNames */
            invokevirtual java.lang.String[].clone:()Ljava/lang/Object;
            checkcast java.lang.String[]
      StackMap locals: java.beans.DefaultPersistenceDelegate java.lang.String[]
      StackMap stack: java.beans.DefaultPersistenceDelegate java.lang.String[]
         3: putfield java.beans.DefaultPersistenceDelegate.constructor:[Ljava/lang/String;
         4: .line 97
            return
        end local 1 // java.lang.String[] constructorPropertyNames
        end local 0 // java.beans.DefaultPersistenceDelegate this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    5     0                      this  Ljava/beans/DefaultPersistenceDelegate;
            0    5     1  constructorPropertyNames  [Ljava/lang/String;
    MethodParameters:
                          Name  Flags
      constructorPropertyNames  

  private static boolean definesEquals(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // java.lang.Class type
         0: .line 101
            aload 0 /* type */
            aload 0 /* type */
            ldc "equals"
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
         2: ireturn
         3: .line 103
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
         4: .line 104
            iconst_0
            ireturn
        end local 0 // java.lang.Class type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  type  Ljava/lang/Class<*>;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.NoSuchMethodException
    Signature: (Ljava/lang/Class<*>;)Z
    MethodParameters:
      Name  Flags
      type  

  private boolean definesEquals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.beans.DefaultPersistenceDelegate this
        start local 1 // java.lang.Object instance
         0: .line 109
            aload 0 /* this */
            getfield java.beans.DefaultPersistenceDelegate.definesEquals:Ljava/lang/Boolean;
            ifnull 3
         1: .line 110
            aload 0 /* this */
            getfield java.beans.DefaultPersistenceDelegate.definesEquals:Ljava/lang/Boolean;
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            if_acmpne 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
         3: .line 113
      StackMap locals:
      StackMap stack:
            aload 1 /* instance */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic java.beans.DefaultPersistenceDelegate.definesEquals:(Ljava/lang/Class;)Z
            istore 2 /* result */
        start local 2 // boolean result
         4: .line 114
            aload 0 /* this */
            iload 2 /* result */
            ifeq 5
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            goto 6
      StackMap locals: java.beans.DefaultPersistenceDelegate java.lang.Object int
      StackMap stack: java.beans.DefaultPersistenceDelegate
         5: getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
      StackMap locals: java.beans.DefaultPersistenceDelegate java.lang.Object int
      StackMap stack: java.beans.DefaultPersistenceDelegate java.lang.Boolean
         6: putfield java.beans.DefaultPersistenceDelegate.definesEquals:Ljava/lang/Boolean;
         7: .line 115
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
        end local 1 // java.lang.Object instance
        end local 0 // java.beans.DefaultPersistenceDelegate this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Ljava/beans/DefaultPersistenceDelegate;
            0    8     1  instance  Ljava/lang/Object;
            4    8     2    result  Z
    MethodParameters:
          Name  Flags
      instance  

  protected boolean mutatesTo(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.beans.DefaultPersistenceDelegate this
        start local 1 // java.lang.Object oldInstance
        start local 2 // java.lang.Object newInstance
         0: .line 136
            aload 0 /* this */
            getfield java.beans.DefaultPersistenceDelegate.constructor:[Ljava/lang/String;
            arraylength
            ifeq 1
            aload 0 /* this */
            aload 1 /* oldInstance */
            invokevirtual java.beans.DefaultPersistenceDelegate.definesEquals:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 137
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* oldInstance */
            aload 2 /* newInstance */
            invokespecial java.beans.PersistenceDelegate.mutatesTo:(Ljava/lang/Object;Ljava/lang/Object;)Z
            goto 3
         2: .line 138
      StackMap locals:
      StackMap stack:
            aload 1 /* oldInstance */
            aload 2 /* newInstance */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
         3: .line 136
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 2 // java.lang.Object newInstance
        end local 1 // java.lang.Object oldInstance
        end local 0 // java.beans.DefaultPersistenceDelegate this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Ljava/beans/DefaultPersistenceDelegate;
            0    4     1  oldInstance  Ljava/lang/Object;
            0    4     2  newInstance  Ljava/lang/Object;
    MethodParameters:
             Name  Flags
      oldInstance  
      newInstance  

  protected java.beans.Expression instantiate(java.lang.Object, java.beans.Encoder);
    descriptor: (Ljava/lang/Object;Ljava/beans/Encoder;)Ljava/beans/Expression;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // java.beans.DefaultPersistenceDelegate this
        start local 1 // java.lang.Object oldInstance
        start local 2 // java.beans.Encoder out
         0: .line 157
            aload 0 /* this */
            getfield java.beans.DefaultPersistenceDelegate.constructor:[Ljava/lang/String;
            arraylength
            istore 3 /* nArgs */
        start local 3 // int nArgs
         1: .line 158
            aload 1 /* oldInstance */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 4 /* type */
        start local 4 // java.lang.Class type
         2: .line 159
            iload 3 /* nArgs */
            anewarray java.lang.Object
            astore 5 /* constructorArgs */
        start local 5 // java.lang.Object[] constructorArgs
         3: .line 160
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         4: goto 11
         5: .line 162
      StackMap locals: java.beans.DefaultPersistenceDelegate java.lang.Object java.beans.Encoder int java.lang.Class java.lang.Object[] int
      StackMap stack:
            aload 0 /* this */
            aload 4 /* type */
            aload 0 /* this */
            getfield java.beans.DefaultPersistenceDelegate.constructor:[Ljava/lang/String;
            iload 6 /* i */
            aaload
            invokevirtual java.beans.DefaultPersistenceDelegate.findMethod:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Method;
            astore 7 /* method */
        start local 7 // java.lang.reflect.Method method
         6: .line 163
            aload 5 /* constructorArgs */
            iload 6 /* i */
            aload 7 /* method */
            aload 1 /* oldInstance */
            iconst_0
            anewarray java.lang.Object
            invokestatic sun.reflect.misc.MethodUtil.invoke:(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            aastore
        end local 7 // java.lang.reflect.Method method
         7: .line 164
            goto 10
         8: .line 165
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 7 /* e */
        start local 7 // java.lang.Exception e
         9: .line 166
            aload 2 /* out */
            invokevirtual java.beans.Encoder.getExceptionListener:()Ljava/beans/ExceptionListener;
            aload 7 /* e */
            invokeinterface java.beans.ExceptionListener.exceptionThrown:(Ljava/lang/Exception;)V
        end local 7 // java.lang.Exception e
        10: .line 160
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 6 /* i */
            iload 3 /* nArgs */
            if_icmplt 5
        end local 6 // int i
        12: .line 169
            new java.beans.Expression
            dup
            aload 1 /* oldInstance */
            aload 1 /* oldInstance */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc "new"
            aload 5 /* constructorArgs */
            invokespecial java.beans.Expression.<init>:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
            areturn
        end local 5 // java.lang.Object[] constructorArgs
        end local 4 // java.lang.Class type
        end local 3 // int nArgs
        end local 2 // java.beans.Encoder out
        end local 1 // java.lang.Object oldInstance
        end local 0 // java.beans.DefaultPersistenceDelegate this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0             this  Ljava/beans/DefaultPersistenceDelegate;
            0   13     1      oldInstance  Ljava/lang/Object;
            0   13     2              out  Ljava/beans/Encoder;
            1   13     3            nArgs  I
            2   13     4             type  Ljava/lang/Class<*>;
            3   13     5  constructorArgs  [Ljava/lang/Object;
            4   12     6                i  I
            6    7     7           method  Ljava/lang/reflect/Method;
            9   10     7                e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           5     7       8  Class java.lang.Exception
    MethodParameters:
             Name  Flags
      oldInstance  
      out          

  private java.lang.reflect.Method findMethod(java.lang.Class<?>, java.lang.String);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Method;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // java.beans.DefaultPersistenceDelegate this
        start local 1 // java.lang.Class type
        start local 2 // java.lang.String property
         0: .line 173
            aload 2 /* property */
            ifnonnull 2
         1: .line 174
            new java.lang.IllegalArgumentException
            dup
            ldc "Property name is null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 176
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            aload 2 /* property */
            invokestatic java.beans.DefaultPersistenceDelegate.getPropertyDescriptor:(Ljava/lang/Class;Ljava/lang/String;)Ljava/beans/PropertyDescriptor;
            astore 3 /* pd */
        start local 3 // java.beans.PropertyDescriptor pd
         3: .line 177
            aload 3 /* pd */
            ifnonnull 5
         4: .line 178
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not find property by the name "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* property */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 180
      StackMap locals: java.beans.PropertyDescriptor
      StackMap stack:
            aload 3 /* pd */
            invokevirtual java.beans.PropertyDescriptor.getReadMethod:()Ljava/lang/reflect/Method;
            astore 4 /* method */
        start local 4 // java.lang.reflect.Method method
         6: .line 181
            aload 4 /* method */
            ifnonnull 8
         7: .line 182
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not find getter for the property "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* property */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 184
      StackMap locals: java.lang.reflect.Method
      StackMap stack:
            aload 4 /* method */
            areturn
        end local 4 // java.lang.reflect.Method method
        end local 3 // java.beans.PropertyDescriptor pd
        end local 2 // java.lang.String property
        end local 1 // java.lang.Class type
        end local 0 // java.beans.DefaultPersistenceDelegate this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Ljava/beans/DefaultPersistenceDelegate;
            0    9     1      type  Ljava/lang/Class<*>;
            0    9     2  property  Ljava/lang/String;
            3    9     3        pd  Ljava/beans/PropertyDescriptor;
            6    9     4    method  Ljava/lang/reflect/Method;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;)Ljava/lang/reflect/Method;
    MethodParameters:
          Name  Flags
      type      
      property  

  private void doProperty(java.lang.Class<?>, java.beans.PropertyDescriptor, , , java.beans.Encoder);
    descriptor: (Ljava/lang/Class;Ljava/beans/PropertyDescriptor;Ljava/lang/Object;Ljava/lang/Object;Ljava/beans/Encoder;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=16, args_size=6
        start local 0 // java.beans.DefaultPersistenceDelegate this
        start local 1 // java.lang.Class type
        start local 2 // java.beans.PropertyDescriptor pd
        start local 3 // java.lang.Object oldInstance
        start local 4 // java.lang.Object newInstance
        start local 5 // java.beans.Encoder out
         0: .line 188
            aload 2 /* pd */
            invokevirtual java.beans.PropertyDescriptor.getReadMethod:()Ljava/lang/reflect/Method;
            astore 6 /* getter */
        start local 6 // java.lang.reflect.Method getter
         1: .line 189
            aload 2 /* pd */
            invokevirtual java.beans.PropertyDescriptor.getWriteMethod:()Ljava/lang/reflect/Method;
            astore 7 /* setter */
        start local 7 // java.lang.reflect.Method setter
         2: .line 191
            aload 6 /* getter */
            ifnull 23
            aload 7 /* setter */
            ifnull 23
         3: .line 192
            new java.beans.Expression
            dup
            aload 3 /* oldInstance */
            aload 6 /* getter */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.Object
            invokespecial java.beans.Expression.<init>:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
            astore 8 /* oldGetExp */
        start local 8 // java.beans.Expression oldGetExp
         4: .line 193
            new java.beans.Expression
            dup
            aload 4 /* newInstance */
            aload 6 /* getter */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.Object
            invokespecial java.beans.Expression.<init>:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
            astore 9 /* newGetExp */
        start local 9 // java.beans.Expression newGetExp
         5: .line 194
            aload 8 /* oldGetExp */
            invokevirtual java.beans.Expression.getValue:()Ljava/lang/Object;
            astore 10 /* oldValue */
        start local 10 // java.lang.Object oldValue
         6: .line 195
            aload 9 /* newGetExp */
            invokevirtual java.beans.Expression.getValue:()Ljava/lang/Object;
            astore 11 /* newValue */
        start local 11 // java.lang.Object newValue
         7: .line 196
            aload 5 /* out */
            aload 8 /* oldGetExp */
            invokevirtual java.beans.Encoder.writeExpression:(Ljava/beans/Expression;)V
         8: .line 197
            aload 11 /* newValue */
            aload 5 /* out */
            aload 10 /* oldValue */
            invokevirtual java.beans.Encoder.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 23
         9: .line 199
            aload 2 /* pd */
            ldc "enumerationValues"
            invokevirtual java.beans.PropertyDescriptor.getValue:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.Object[]
            astore 12 /* e */
        start local 12 // java.lang.Object e
        10: .line 200
            aload 12 /* e */
            instanceof java.lang.Object[]
            ifeq 22
            aload 12 /* e */
            invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
            iconst_3
            irem
            ifne 22
        11: .line 201
            aload 12 /* e */
            checkcast java.lang.Object[]
            astore 13 /* a */
        start local 13 // java.lang.Object[] a
        12: .line 202
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        13: goto 21
        14: .line 204
      StackMap locals: java.beans.DefaultPersistenceDelegate java.lang.Class java.beans.PropertyDescriptor java.lang.Object java.lang.Object java.beans.Encoder java.lang.reflect.Method java.lang.reflect.Method java.beans.Expression java.beans.Expression java.lang.Object java.lang.Object java.lang.Object java.lang.Object[] int
      StackMap stack:
            aload 1 /* type */
            aload 13 /* a */
            iload 14 /* i */
            aaload
            checkcast java.lang.String
            invokevirtual java.lang.Class.getField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            astore 15 /* f */
        start local 15 // java.lang.reflect.Field f
        15: .line 205
            aload 15 /* f */
            aconst_null
            invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 10 /* oldValue */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 20
        16: .line 206
            aload 5 /* out */
            aload 10 /* oldValue */
            invokevirtual java.beans.Encoder.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 207
            aload 5 /* out */
            new java.beans.Expression
            dup
            aload 10 /* oldValue */
            aload 15 /* f */
            ldc "get"
            iconst_1
            anewarray java.lang.Object
            invokespecial java.beans.Expression.<init>:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
            invokevirtual java.beans.Encoder.writeExpression:(Ljava/beans/Expression;)V
        end local 15 // java.lang.reflect.Field f
        18: .line 209
            goto 20
        19: .line 210
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        20: .line 202
      StackMap locals:
      StackMap stack:
            iinc 14 /* i */ 3
      StackMap locals:
      StackMap stack:
        21: iload 14 /* i */
            aload 13 /* a */
            arraylength
            if_icmplt 14
        end local 14 // int i
        end local 13 // java.lang.Object[] a
        22: .line 213
      StackMap locals:
      StackMap stack:
            aload 3 /* oldInstance */
            aload 7 /* setter */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 10 /* oldValue */
            aastore
            aload 5 /* out */
            invokestatic java.beans.DefaultPersistenceDelegate.invokeStatement:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;Ljava/beans/Encoder;)V
        end local 12 // java.lang.Object e
        end local 11 // java.lang.Object newValue
        end local 10 // java.lang.Object oldValue
        end local 9 // java.beans.Expression newGetExp
        end local 8 // java.beans.Expression oldGetExp
        23: .line 216
      StackMap locals: java.beans.DefaultPersistenceDelegate java.lang.Class java.beans.PropertyDescriptor java.lang.Object java.lang.Object java.beans.Encoder java.lang.reflect.Method java.lang.reflect.Method
      StackMap stack:
            return
        end local 7 // java.lang.reflect.Method setter
        end local 6 // java.lang.reflect.Method getter
        end local 5 // java.beans.Encoder out
        end local 4 // java.lang.Object newInstance
        end local 3 // java.lang.Object oldInstance
        end local 2 // java.beans.PropertyDescriptor pd
        end local 1 // java.lang.Class type
        end local 0 // java.beans.DefaultPersistenceDelegate this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   24     0         this  Ljava/beans/DefaultPersistenceDelegate;
            0   24     1         type  Ljava/lang/Class<*>;
            0   24     2           pd  Ljava/beans/PropertyDescriptor;
            0   24     3  oldInstance  Ljava/lang/Object;
            0   24     4  newInstance  Ljava/lang/Object;
            0   24     5          out  Ljava/beans/Encoder;
            1   24     6       getter  Ljava/lang/reflect/Method;
            2   24     7       setter  Ljava/lang/reflect/Method;
            4   23     8    oldGetExp  Ljava/beans/Expression;
            5   23     9    newGetExp  Ljava/beans/Expression;
            6   23    10     oldValue  Ljava/lang/Object;
            7   23    11     newValue  Ljava/lang/Object;
           10   23    12            e  Ljava/lang/Object;
           12   22    13            a  [Ljava/lang/Object;
           13   22    14            i  I
           15   18    15            f  Ljava/lang/reflect/Field;
      Exception table:
        from    to  target  type
          14    18      19  Class java.lang.Exception
    Exceptions:
      throws java.lang.Exception
    Signature: (Ljava/lang/Class<*>;Ljava/beans/PropertyDescriptor;Ljava/lang/Object;Ljava/lang/Object;Ljava/beans/Encoder;)V
    MethodParameters:
             Name  Flags
      type         
      pd           
      oldInstance  
      newInstance  
      out          

  static void invokeStatement(java.lang.Object, java.lang.String, java.lang.Object[], java.beans.Encoder);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;Ljava/beans/Encoder;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // java.lang.Object instance
        start local 1 // java.lang.String methodName
        start local 2 // java.lang.Object[] args
        start local 3 // java.beans.Encoder out
         0: .line 219
            aload 3 /* out */
            new java.beans.Statement
            dup
            aload 0 /* instance */
            aload 1 /* methodName */
            aload 2 /* args */
            invokespecial java.beans.Statement.<init>:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
            invokevirtual java.beans.Encoder.writeStatement:(Ljava/beans/Statement;)V
         1: .line 220
            return
        end local 3 // java.beans.Encoder out
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String methodName
        end local 0 // java.lang.Object instance
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0    instance  Ljava/lang/Object;
            0    2     1  methodName  Ljava/lang/String;
            0    2     2        args  [Ljava/lang/Object;
            0    2     3         out  Ljava/beans/Encoder;
    MethodParameters:
            Name  Flags
      instance    
      methodName  
      args        
      out         

  private void initBean(java.lang.Class<?>, , , java.beans.Encoder);
    descriptor: (Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Ljava/beans/Encoder;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=16, args_size=5
        start local 0 // java.beans.DefaultPersistenceDelegate this
        start local 1 // java.lang.Class type
        start local 2 // java.lang.Object oldInstance
        start local 3 // java.lang.Object newInstance
        start local 4 // java.beans.Encoder out
         0: .line 224
            aload 1 /* type */
            invokevirtual java.lang.Class.getFields:()[Ljava/lang/reflect/Field;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 18
      StackMap locals: java.beans.DefaultPersistenceDelegate java.lang.Class java.lang.Object java.lang.Object java.beans.Encoder top int int java.lang.reflect.Field[]
      StackMap stack:
         1: aload 8
            iload 6
            aaload
            astore 5 /* field */
        start local 5 // java.lang.reflect.Field field
         2: .line 225
            aload 5 /* field */
            invokevirtual java.lang.reflect.Field.getDeclaringClass:()Ljava/lang/Class;
            invokestatic sun.reflect.misc.ReflectUtil.isPackageAccessible:(Ljava/lang/Class;)Z
            ifne 4
         3: .line 226
            goto 17
         4: .line 228
      StackMap locals: java.beans.DefaultPersistenceDelegate java.lang.Class java.lang.Object java.lang.Object java.beans.Encoder java.lang.reflect.Field int int java.lang.reflect.Field[]
      StackMap stack:
            aload 5 /* field */
            invokevirtual java.lang.reflect.Field.getModifiers:()I
            istore 9 /* mod */
        start local 9 // int mod
         5: .line 229
            iload 9 /* mod */
            invokestatic java.lang.reflect.Modifier.isFinal:(I)Z
            ifne 17
            iload 9 /* mod */
            invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
            ifne 17
            iload 9 /* mod */
            invokestatic java.lang.reflect.Modifier.isTransient:(I)Z
            ifeq 7
         6: .line 230
            goto 17
         7: .line 233
      StackMap locals: int
      StackMap stack:
            new java.beans.Expression
            dup
            aload 5 /* field */
            ldc "get"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* oldInstance */
            aastore
            invokespecial java.beans.Expression.<init>:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
            astore 10 /* oldGetExp */
        start local 10 // java.beans.Expression oldGetExp
         8: .line 234
            new java.beans.Expression
            dup
            aload 5 /* field */
            ldc "get"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* newInstance */
            aastore
            invokespecial java.beans.Expression.<init>:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
            astore 11 /* newGetExp */
        start local 11 // java.beans.Expression newGetExp
         9: .line 235
            aload 10 /* oldGetExp */
            invokevirtual java.beans.Expression.getValue:()Ljava/lang/Object;
            astore 12 /* oldValue */
        start local 12 // java.lang.Object oldValue
        10: .line 236
            aload 11 /* newGetExp */
            invokevirtual java.beans.Expression.getValue:()Ljava/lang/Object;
            astore 13 /* newValue */
        start local 13 // java.lang.Object newValue
        11: .line 237
            aload 4 /* out */
            aload 10 /* oldGetExp */
            invokevirtual java.beans.Encoder.writeExpression:(Ljava/beans/Expression;)V
        12: .line 238
            aload 13 /* newValue */
            aload 4 /* out */
            aload 12 /* oldValue */
            invokevirtual java.beans.Encoder.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 17
        13: .line 239
            aload 4 /* out */
            new java.beans.Statement
            dup
            aload 5 /* field */
            ldc "set"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* oldInstance */
            aastore
            dup
            iconst_1
            aload 12 /* oldValue */
            aastore
            invokespecial java.beans.Statement.<init>:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
            invokevirtual java.beans.Encoder.writeStatement:(Ljava/beans/Statement;)V
        end local 13 // java.lang.Object newValue
        end local 12 // java.lang.Object oldValue
        end local 11 // java.beans.Expression newGetExp
        end local 10 // java.beans.Expression oldGetExp
        14: .line 241
            goto 17
        15: .line 242
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 10 /* exception */
        start local 10 // java.lang.Exception exception
        16: .line 243
            aload 4 /* out */
            invokevirtual java.beans.Encoder.getExceptionListener:()Ljava/beans/ExceptionListener;
            aload 10 /* exception */
            invokeinterface java.beans.ExceptionListener.exceptionThrown:(Ljava/lang/Exception;)V
        end local 10 // java.lang.Exception exception
        end local 9 // int mod
        end local 5 // java.lang.reflect.Field field
        17: .line 224
      StackMap locals: java.beans.DefaultPersistenceDelegate java.lang.Class java.lang.Object java.lang.Object java.beans.Encoder top int int java.lang.reflect.Field[]
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        18: iload 6
            iload 7
            if_icmplt 1
        19: .line 248
            aload 1 /* type */
            invokestatic java.beans.Introspector.getBeanInfo:(Ljava/lang/Class;)Ljava/beans/BeanInfo;
            astore 5 /* info */
        start local 5 // java.beans.BeanInfo info
        20: .line 249
            goto 23
        end local 5 // java.beans.BeanInfo info
      StackMap locals: java.beans.DefaultPersistenceDelegate java.lang.Class java.lang.Object java.lang.Object java.beans.Encoder
      StackMap stack: java.beans.IntrospectionException
        21: pop
        22: .line 250
            return
        start local 5 // java.beans.BeanInfo info
        23: .line 253
      StackMap locals: java.beans.BeanInfo
      StackMap stack:
            aload 5 /* info */
            invokeinterface java.beans.BeanInfo.getPropertyDescriptors:()[Ljava/beans/PropertyDescriptor;
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 32
      StackMap locals: java.beans.DefaultPersistenceDelegate java.lang.Class java.lang.Object java.lang.Object java.beans.Encoder java.beans.BeanInfo top int int java.beans.PropertyDescriptor[]
      StackMap stack:
        24: aload 9
            iload 7
            aaload
            astore 6 /* d */
        start local 6 // java.beans.PropertyDescriptor d
        25: .line 254
            aload 6 /* d */
            invokevirtual java.beans.PropertyDescriptor.isTransient:()Z
            ifeq 27
        26: .line 255
            goto 31
        27: .line 258
      StackMap locals: java.beans.DefaultPersistenceDelegate java.lang.Class java.lang.Object java.lang.Object java.beans.Encoder java.beans.BeanInfo java.beans.PropertyDescriptor int int java.beans.PropertyDescriptor[]
      StackMap stack:
            aload 0 /* this */
            aload 1 /* type */
            aload 6 /* d */
            aload 2 /* oldInstance */
            aload 3 /* newInstance */
            aload 4 /* out */
            invokevirtual java.beans.DefaultPersistenceDelegate.doProperty:(Ljava/lang/Class;Ljava/beans/PropertyDescriptor;Ljava/lang/Object;Ljava/lang/Object;Ljava/beans/Encoder;)V
        28: .line 259
            goto 31
        29: .line 260
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 10 /* e */
        start local 10 // java.lang.Exception e
        30: .line 261
            aload 4 /* out */
            invokevirtual java.beans.Encoder.getExceptionListener:()Ljava/beans/ExceptionListener;
            aload 10 /* e */
            invokeinterface java.beans.ExceptionListener.exceptionThrown:(Ljava/lang/Exception;)V
        end local 10 // java.lang.Exception e
        end local 6 // java.beans.PropertyDescriptor d
        31: .line 253
      StackMap locals: java.beans.DefaultPersistenceDelegate java.lang.Class java.lang.Object java.lang.Object java.beans.Encoder java.beans.BeanInfo top int int java.beans.PropertyDescriptor[]
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        32: iload 7
            iload 8
            if_icmplt 24
        33: .line 289
            ldc Ljava/awt/Component;
            aload 1 /* type */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 35
        34: .line 290
            return
        35: .line 292
      StackMap locals: java.beans.DefaultPersistenceDelegate java.lang.Class java.lang.Object java.lang.Object java.beans.Encoder java.beans.BeanInfo
      StackMap stack:
            aload 5 /* info */
            invokeinterface java.beans.BeanInfo.getEventSetDescriptors:()[Ljava/beans/EventSetDescriptor;
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 71
      StackMap locals: java.beans.DefaultPersistenceDelegate java.lang.Class java.lang.Object java.lang.Object java.beans.Encoder java.beans.BeanInfo top int int java.beans.EventSetDescriptor[]
      StackMap stack:
        36: aload 9
            iload 7
            aaload
            astore 6 /* d */
        start local 6 // java.beans.EventSetDescriptor d
        37: .line 293
            aload 6 /* d */
            invokevirtual java.beans.EventSetDescriptor.isTransient:()Z
            ifeq 39
        38: .line 294
            goto 70
        39: .line 296
      StackMap locals: java.beans.DefaultPersistenceDelegate java.lang.Class java.lang.Object java.lang.Object java.beans.Encoder java.beans.BeanInfo java.beans.EventSetDescriptor int int java.beans.EventSetDescriptor[]
      StackMap stack:
            aload 6 /* d */
            invokevirtual java.beans.EventSetDescriptor.getListenerType:()Ljava/lang/Class;
            astore 10 /* listenerType */
        start local 10 // java.lang.Class listenerType
        40: .line 301
            aload 10 /* listenerType */
            ldc Ljava/awt/event/ComponentListener;
            if_acmpne 42
        41: .line 302
            goto 70
        42: .line 312
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 10 /* listenerType */
            ldc Ljavax/swing/event/ChangeListener;
            if_acmpne 45
        43: .line 313
            aload 1 /* type */
            ldc Ljavax/swing/JMenuItem;
            if_acmpne 45
        44: .line 314
            goto 70
        45: .line 317
      StackMap locals:
      StackMap stack:
            iconst_0
            anewarray java.util.EventListener
            astore 11 /* oldL */
        start local 11 // java.util.EventListener[] oldL
        46: .line 318
            iconst_0
            anewarray java.util.EventListener
            astore 12 /* newL */
        start local 12 // java.util.EventListener[] newL
        47: .line 320
            aload 6 /* d */
            invokevirtual java.beans.EventSetDescriptor.getGetListenerMethod:()Ljava/lang/reflect/Method;
            astore 13 /* m */
        start local 13 // java.lang.reflect.Method m
        48: .line 321
            aload 13 /* m */
            aload 2 /* oldInstance */
            iconst_0
            anewarray java.lang.Object
            invokestatic sun.reflect.misc.MethodUtil.invoke:(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.EventListener[]
            astore 11 /* oldL */
        49: .line 322
            aload 13 /* m */
            aload 3 /* newInstance */
            iconst_0
            anewarray java.lang.Object
            invokestatic sun.reflect.misc.MethodUtil.invoke:(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.EventListener[]
            astore 12 /* newL */
        end local 13 // java.lang.reflect.Method m
        50: .line 323
            goto 58
        51: .line 324
      StackMap locals: java.beans.DefaultPersistenceDelegate java.lang.Class java.lang.Object java.lang.Object java.beans.Encoder java.beans.BeanInfo java.beans.EventSetDescriptor int int java.beans.EventSetDescriptor[] java.lang.Class java.util.EventListener[] java.util.EventListener[]
      StackMap stack: java.lang.Exception
            pop
        52: .line 326
            aload 1 /* type */
            ldc "getListeners"
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Class;
            aastore
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 13 /* m */
        start local 13 // java.lang.reflect.Method m
        53: .line 327
            aload 13 /* m */
            aload 2 /* oldInstance */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 10 /* listenerType */
            aastore
            invokestatic sun.reflect.misc.MethodUtil.invoke:(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.EventListener[]
            astore 11 /* oldL */
        54: .line 328
            aload 13 /* m */
            aload 3 /* newInstance */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 10 /* listenerType */
            aastore
            invokestatic sun.reflect.misc.MethodUtil.invoke:(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.EventListener[]
            astore 12 /* newL */
        end local 13 // java.lang.reflect.Method m
        55: .line 329
            goto 58
        56: .line 330
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        57: .line 331
            return
        58: .line 337
      StackMap locals:
      StackMap stack:
            aload 6 /* d */
            invokevirtual java.beans.EventSetDescriptor.getAddListenerMethod:()Ljava/lang/reflect/Method;
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            astore 13 /* addListenerMethodName */
        start local 13 // java.lang.String addListenerMethodName
        59: .line 338
            aload 12 /* newL */
            arraylength
            istore 14 /* i */
        start local 14 // int i
        60: goto 63
        61: .line 340
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 2 /* oldInstance */
            aload 13 /* addListenerMethodName */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 11 /* oldL */
            iload 14 /* i */
            aaload
            aastore
            aload 4 /* out */
            invokestatic java.beans.DefaultPersistenceDelegate.invokeStatement:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;Ljava/beans/Encoder;)V
        62: .line 338
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
        63: iload 14 /* i */
            aload 11 /* oldL */
            arraylength
            if_icmplt 61
        end local 14 // int i
        64: .line 343
            aload 6 /* d */
            invokevirtual java.beans.EventSetDescriptor.getRemoveListenerMethod:()Ljava/lang/reflect/Method;
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            astore 14 /* removeListenerMethodName */
        start local 14 // java.lang.String removeListenerMethodName
        65: .line 344
            aload 11 /* oldL */
            arraylength
            istore 15 /* i */
        start local 15 // int i
        66: goto 69
        67: .line 345
      StackMap locals: java.beans.DefaultPersistenceDelegate java.lang.Class java.lang.Object java.lang.Object java.beans.Encoder java.beans.BeanInfo java.beans.EventSetDescriptor int int java.beans.EventSetDescriptor[] java.lang.Class java.util.EventListener[] java.util.EventListener[] java.lang.String java.lang.String int
      StackMap stack:
            aload 2 /* oldInstance */
            aload 14 /* removeListenerMethodName */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 12 /* newL */
            iload 15 /* i */
            aaload
            aastore
            aload 4 /* out */
            invokestatic java.beans.DefaultPersistenceDelegate.invokeStatement:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;Ljava/beans/Encoder;)V
        68: .line 344
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        69: iload 15 /* i */
            aload 12 /* newL */
            arraylength
            if_icmplt 67
        end local 15 // int i
        end local 14 // java.lang.String removeListenerMethodName
        end local 13 // java.lang.String addListenerMethodName
        end local 12 // java.util.EventListener[] newL
        end local 11 // java.util.EventListener[] oldL
        end local 10 // java.lang.Class listenerType
        end local 6 // java.beans.EventSetDescriptor d
        70: .line 292
      StackMap locals: java.beans.DefaultPersistenceDelegate java.lang.Class java.lang.Object java.lang.Object java.beans.Encoder java.beans.BeanInfo top int int java.beans.EventSetDescriptor[]
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        71: iload 7
            iload 8
            if_icmplt 36
        72: .line 348
            return
        end local 5 // java.beans.BeanInfo info
        end local 4 // java.beans.Encoder out
        end local 3 // java.lang.Object newInstance
        end local 2 // java.lang.Object oldInstance
        end local 1 // java.lang.Class type
        end local 0 // java.beans.DefaultPersistenceDelegate this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   73     0                      this  Ljava/beans/DefaultPersistenceDelegate;
            0   73     1                      type  Ljava/lang/Class<*>;
            0   73     2               oldInstance  Ljava/lang/Object;
            0   73     3               newInstance  Ljava/lang/Object;
            0   73     4                       out  Ljava/beans/Encoder;
            2   17     5                     field  Ljava/lang/reflect/Field;
            5   17     9                       mod  I
            8   14    10                 oldGetExp  Ljava/beans/Expression;
            9   14    11                 newGetExp  Ljava/beans/Expression;
           10   14    12                  oldValue  Ljava/lang/Object;
           11   14    13                  newValue  Ljava/lang/Object;
           16   17    10                 exception  Ljava/lang/Exception;
           20   21     5                      info  Ljava/beans/BeanInfo;
           23   73     5                      info  Ljava/beans/BeanInfo;
           25   31     6                         d  Ljava/beans/PropertyDescriptor;
           30   31    10                         e  Ljava/lang/Exception;
           37   70     6                         d  Ljava/beans/EventSetDescriptor;
           40   70    10              listenerType  Ljava/lang/Class<*>;
           46   70    11                      oldL  [Ljava/util/EventListener;
           47   70    12                      newL  [Ljava/util/EventListener;
           48   50    13                         m  Ljava/lang/reflect/Method;
           53   55    13                         m  Ljava/lang/reflect/Method;
           59   70    13     addListenerMethodName  Ljava/lang/String;
           60   64    14                         i  I
           65   70    14  removeListenerMethodName  Ljava/lang/String;
           66   70    15                         i  I
      Exception table:
        from    to  target  type
           7    14      15  Class java.lang.Exception
          19    20      21  Class java.beans.IntrospectionException
          27    28      29  Class java.lang.Exception
          47    50      51  Class java.lang.Exception
          52    55      56  Class java.lang.Exception
    Signature: (Ljava/lang/Class<*>;Ljava/lang/Object;Ljava/lang/Object;Ljava/beans/Encoder;)V
    MethodParameters:
             Name  Flags
      type         
      oldInstance  
      newInstance  
      out          

  protected void initialize(java.lang.Class<?>, , , java.beans.Encoder);
    descriptor: (Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Ljava/beans/Encoder;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // java.beans.DefaultPersistenceDelegate this
        start local 1 // java.lang.Class type
        start local 2 // java.lang.Object oldInstance
        start local 3 // java.lang.Object newInstance
        start local 4 // java.beans.Encoder out
         0: .line 404
            aload 0 /* this */
            aload 1 /* type */
            aload 2 /* oldInstance */
            aload 3 /* newInstance */
            aload 4 /* out */
            invokespecial java.beans.PersistenceDelegate.initialize:(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Ljava/beans/Encoder;)V
         1: .line 405
            aload 2 /* oldInstance */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 1 /* type */
            if_acmpne 3
         2: .line 406
            aload 0 /* this */
            aload 1 /* type */
            aload 2 /* oldInstance */
            aload 3 /* newInstance */
            aload 4 /* out */
            invokevirtual java.beans.DefaultPersistenceDelegate.initBean:(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Ljava/beans/Encoder;)V
         3: .line 408
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.beans.Encoder out
        end local 3 // java.lang.Object newInstance
        end local 2 // java.lang.Object oldInstance
        end local 1 // java.lang.Class type
        end local 0 // java.beans.DefaultPersistenceDelegate this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Ljava/beans/DefaultPersistenceDelegate;
            0    4     1         type  Ljava/lang/Class<*>;
            0    4     2  oldInstance  Ljava/lang/Object;
            0    4     3  newInstance  Ljava/lang/Object;
            0    4     4          out  Ljava/beans/Encoder;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/Object;Ljava/lang/Object;Ljava/beans/Encoder;)V
    MethodParameters:
             Name  Flags
      type         
      oldInstance  
      newInstance  
      out          

  private static java.beans.PropertyDescriptor getPropertyDescriptor(java.lang.Class<?>, java.lang.String);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;)Ljava/beans/PropertyDescriptor;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // java.lang.Class type
        start local 1 // java.lang.String property
         0: .line 412
            aload 0 /* type */
            invokestatic java.beans.Introspector.getBeanInfo:(Ljava/lang/Class;)Ljava/beans/BeanInfo;
            invokeinterface java.beans.BeanInfo.getPropertyDescriptors:()[Ljava/beans/PropertyDescriptor;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 6
      StackMap locals: java.lang.Class java.lang.String top int int java.beans.PropertyDescriptor[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* pd */
        start local 2 // java.beans.PropertyDescriptor pd
         2: .line 413
            aload 1 /* property */
            aload 2 /* pd */
            invokevirtual java.beans.PropertyDescriptor.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         3: .line 414
            aload 2 /* pd */
         4: areturn
        end local 2 // java.beans.PropertyDescriptor pd
         5: .line 412
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         6: iload 3
            iload 4
            if_icmplt 1
         7: .line 416
            goto 9
      StackMap locals: java.lang.Class java.lang.String
      StackMap stack: java.beans.IntrospectionException
         8: pop
         9: .line 418
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.String property
        end local 0 // java.lang.Class type
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      type  Ljava/lang/Class<*>;
            0   10     1  property  Ljava/lang/String;
            2    5     2        pd  Ljava/beans/PropertyDescriptor;
      Exception table:
        from    to  target  type
           0     4       8  Class java.beans.IntrospectionException
           5     7       8  Class java.beans.IntrospectionException
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;)Ljava/beans/PropertyDescriptor;
    MethodParameters:
          Name  Flags
      type      
      property  
}
SourceFile: "DefaultPersistenceDelegate.java"