public class com.sun.javafx.property.adapter.PropertyDescriptor extends com.sun.javafx.property.adapter.ReadOnlyPropertyDescriptor
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.javafx.property.adapter.PropertyDescriptor
  super_class: com.sun.javafx.property.adapter.ReadOnlyPropertyDescriptor
{
  private static final java.lang.String ADD_VETOABLE_LISTENER_METHOD_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "addVetoableChangeListener"

  private static final java.lang.String REMOVE_VETOABLE_LISTENER_METHOD_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "removeVetoableChangeListener"

  private static final java.lang.String ADD_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "add"

  private static final java.lang.String REMOVE_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "remove"

  private static final java.lang.String SUFFIX;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Listener"

  private static final int ADD_VETOABLE_LISTENER_TAKES_NAME;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int REMOVE_VETOABLE_LISTENER_TAKES_NAME;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private final java.lang.reflect.Method setter;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.reflect.Method addVetoListener;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.reflect.Method removeVetoListener;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int flags;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public java.lang.reflect.Method getSetter();
    descriptor: ()Ljava/lang/reflect/Method;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.javafx.property.adapter.PropertyDescriptor this
         0: .line 58
            aload 0 /* this */
            getfield com.sun.javafx.property.adapter.PropertyDescriptor.setter:Ljava/lang/reflect/Method;
            areturn
        end local 0 // com.sun.javafx.property.adapter.PropertyDescriptor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/javafx/property/adapter/PropertyDescriptor;

  public void <init>(java.lang.String, java.lang.Class<?>, java.lang.reflect.Method, java.lang.reflect.Method);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=10, args_size=5
        start local 0 // com.sun.javafx.property.adapter.PropertyDescriptor this
        start local 1 // java.lang.String propertyName
        start local 2 // java.lang.Class beanClass
        start local 3 // java.lang.reflect.Method getter
        start local 4 // java.lang.reflect.Method setter
         0: .line 61
            aload 0 /* this */
            aload 1 /* propertyName */
            aload 2 /* beanClass */
            aload 3 /* getter */
            invokespecial com.sun.javafx.property.adapter.ReadOnlyPropertyDescriptor.<init>:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/reflect/Method;)V
         1: .line 62
            aload 0 /* this */
            aload 4 /* setter */
            putfield com.sun.javafx.property.adapter.PropertyDescriptor.setter:Ljava/lang/reflect/Method;
         2: .line 64
            aconst_null
            astore 5 /* tmpAddVetoListener */
        start local 5 // java.lang.reflect.Method tmpAddVetoListener
         3: .line 65
            aconst_null
            astore 6 /* tmpRemoveVetoListener */
        start local 6 // java.lang.reflect.Method tmpRemoveVetoListener
         4: .line 66
            iconst_0
            istore 7 /* tmpFlags */
        start local 7 // int tmpFlags
         5: .line 69
            new java.lang.StringBuilder
            dup
            ldc "add"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.sun.javafx.property.adapter.PropertyDescriptor.name:Ljava/lang/String;
            invokestatic com.sun.javafx.property.adapter.PropertyDescriptor.capitalizedName:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "Listener"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 8 /* addMethodName */
        start local 8 // java.lang.String addMethodName
         6: .line 71
            aload 2 /* beanClass */
            aload 8 /* addMethodName */
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/beans/VetoableChangeListener;
            aastore
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 5 /* tmpAddVetoListener */
         7: .line 72
            goto 16
      StackMap locals: com.sun.javafx.property.adapter.PropertyDescriptor java.lang.String java.lang.Class java.lang.reflect.Method java.lang.reflect.Method java.lang.reflect.Method java.lang.reflect.Method int java.lang.String
      StackMap stack: java.lang.NoSuchMethodException
         8: pop
         9: .line 74
            aload 2 /* beanClass */
            ldc "addVetoableChangeListener"
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/String;
            aastore
            dup
            iconst_1
            ldc Ljava/beans/VetoableChangeListener;
            aastore
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 5 /* tmpAddVetoListener */
        10: .line 75
            iload 7 /* tmpFlags */
            iconst_1
            ior
            istore 7 /* tmpFlags */
        11: .line 76
            goto 16
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
        12: pop
        13: .line 78
            aload 2 /* beanClass */
            ldc "addVetoableChangeListener"
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/beans/VetoableChangeListener;
            aastore
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 5 /* tmpAddVetoListener */
        14: .line 79
            goto 16
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
        15: pop
        16: .line 86
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "remove"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.sun.javafx.property.adapter.PropertyDescriptor.name:Ljava/lang/String;
            invokestatic com.sun.javafx.property.adapter.PropertyDescriptor.capitalizedName:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "Listener"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 9 /* removeMethodName */
        start local 9 // java.lang.String removeMethodName
        17: .line 88
            aload 2 /* beanClass */
            aload 9 /* removeMethodName */
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/beans/VetoableChangeListener;
            aastore
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 6 /* tmpRemoveVetoListener */
        18: .line 89
            goto 27
      StackMap locals: com.sun.javafx.property.adapter.PropertyDescriptor java.lang.String java.lang.Class java.lang.reflect.Method java.lang.reflect.Method java.lang.reflect.Method java.lang.reflect.Method int java.lang.String java.lang.String
      StackMap stack: java.lang.NoSuchMethodException
        19: pop
        20: .line 91
            aload 2 /* beanClass */
            ldc "removeVetoableChangeListener"
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/String;
            aastore
            dup
            iconst_1
            ldc Ljava/beans/VetoableChangeListener;
            aastore
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 6 /* tmpRemoveVetoListener */
        21: .line 92
            iload 7 /* tmpFlags */
            iconst_2
            ior
            istore 7 /* tmpFlags */
        22: .line 93
            goto 27
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
        23: pop
        24: .line 95
            aload 2 /* beanClass */
            ldc "removeVetoableChangeListener"
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/beans/VetoableChangeListener;
            aastore
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 6 /* tmpRemoveVetoListener */
        25: .line 96
            goto 27
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
        26: pop
        27: .line 102
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* tmpAddVetoListener */
            putfield com.sun.javafx.property.adapter.PropertyDescriptor.addVetoListener:Ljava/lang/reflect/Method;
        28: .line 103
            aload 0 /* this */
            aload 6 /* tmpRemoveVetoListener */
            putfield com.sun.javafx.property.adapter.PropertyDescriptor.removeVetoListener:Ljava/lang/reflect/Method;
        29: .line 104
            aload 0 /* this */
            iload 7 /* tmpFlags */
            putfield com.sun.javafx.property.adapter.PropertyDescriptor.flags:I
        30: .line 105
            return
        end local 9 // java.lang.String removeMethodName
        end local 8 // java.lang.String addMethodName
        end local 7 // int tmpFlags
        end local 6 // java.lang.reflect.Method tmpRemoveVetoListener
        end local 5 // java.lang.reflect.Method tmpAddVetoListener
        end local 4 // java.lang.reflect.Method setter
        end local 3 // java.lang.reflect.Method getter
        end local 2 // java.lang.Class beanClass
        end local 1 // java.lang.String propertyName
        end local 0 // com.sun.javafx.property.adapter.PropertyDescriptor this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   31     0                   this  Lcom/sun/javafx/property/adapter/PropertyDescriptor;
            0   31     1           propertyName  Ljava/lang/String;
            0   31     2              beanClass  Ljava/lang/Class<*>;
            0   31     3                 getter  Ljava/lang/reflect/Method;
            0   31     4                 setter  Ljava/lang/reflect/Method;
            3   31     5     tmpAddVetoListener  Ljava/lang/reflect/Method;
            4   31     6  tmpRemoveVetoListener  Ljava/lang/reflect/Method;
            5   31     7               tmpFlags  I
            6   31     8          addMethodName  Ljava/lang/String;
           17   31     9       removeMethodName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           6     7       8  Class java.lang.NoSuchMethodException
           9    11      12  Class java.lang.NoSuchMethodException
          13    14      15  Class java.lang.NoSuchMethodException
          17    18      19  Class java.lang.NoSuchMethodException
          20    22      23  Class java.lang.NoSuchMethodException
          24    25      26  Class java.lang.NoSuchMethodException
    Signature: (Ljava/lang/String;Ljava/lang/Class<*>;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;)V
    MethodParameters:
              Name  Flags
      propertyName  
      beanClass     
      getter        
      setter        

  public void addListener(com.sun.javafx.property.adapter.ReadOnlyPropertyDescriptor$ReadOnlyListener);
    descriptor: (Lcom/sun/javafx/property/adapter/ReadOnlyPropertyDescriptor$ReadOnlyListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.sun.javafx.property.adapter.PropertyDescriptor this
        start local 1 // com.sun.javafx.property.adapter.ReadOnlyPropertyDescriptor$ReadOnlyListener listener
         0: .line 109
            aload 0 /* this */
            aload 1 /* listener */
            invokespecial com.sun.javafx.property.adapter.ReadOnlyPropertyDescriptor.addListener:(Lcom/sun/javafx/property/adapter/ReadOnlyPropertyDescriptor$ReadOnlyListener;)V
         1: .line 110
            aload 0 /* this */
            getfield com.sun.javafx.property.adapter.PropertyDescriptor.addVetoListener:Ljava/lang/reflect/Method;
            ifnull 9
         2: .line 112
            aload 0 /* this */
            getfield com.sun.javafx.property.adapter.PropertyDescriptor.flags:I
            iconst_1
            iand
            ifle 5
         3: .line 113
            aload 0 /* this */
            getfield com.sun.javafx.property.adapter.PropertyDescriptor.addVetoListener:Ljava/lang/reflect/Method;
            aload 1 /* listener */
            invokevirtual com.sun.javafx.property.adapter.ReadOnlyPropertyDescriptor$ReadOnlyListener.getBean:()Ljava/lang/Object;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield com.sun.javafx.property.adapter.PropertyDescriptor.name:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1 /* listener */
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 114
            goto 9
         5: .line 115
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.property.adapter.PropertyDescriptor.addVetoListener:Ljava/lang/reflect/Method;
            aload 1 /* listener */
            invokevirtual com.sun.javafx.property.adapter.ReadOnlyPropertyDescriptor$ReadOnlyListener.getBean:()Ljava/lang/Object;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* listener */
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 117
            goto 9
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
         7: pop
            goto 9
         8: .line 119
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            pop
         9: .line 123
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.javafx.property.adapter.ReadOnlyPropertyDescriptor$ReadOnlyListener listener
        end local 0 // com.sun.javafx.property.adapter.PropertyDescriptor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lcom/sun/javafx/property/adapter/PropertyDescriptor;
            0   10     1  listener  Lcom/sun/javafx/property/adapter/ReadOnlyPropertyDescriptor$ReadOnlyListener;
      Exception table:
        from    to  target  type
           2     6       7  Class java.lang.IllegalAccessException
           2     6       8  Class java.lang.reflect.InvocationTargetException
    MethodParameters:
          Name  Flags
      listener  

  public void removeListener(com.sun.javafx.property.adapter.ReadOnlyPropertyDescriptor$ReadOnlyListener);
    descriptor: (Lcom/sun/javafx/property/adapter/ReadOnlyPropertyDescriptor$ReadOnlyListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.sun.javafx.property.adapter.PropertyDescriptor this
        start local 1 // com.sun.javafx.property.adapter.ReadOnlyPropertyDescriptor$ReadOnlyListener listener
         0: .line 129
            aload 0 /* this */
            aload 1 /* listener */
            invokespecial com.sun.javafx.property.adapter.ReadOnlyPropertyDescriptor.removeListener:(Lcom/sun/javafx/property/adapter/ReadOnlyPropertyDescriptor$ReadOnlyListener;)V
         1: .line 130
            aload 0 /* this */
            getfield com.sun.javafx.property.adapter.PropertyDescriptor.removeVetoListener:Ljava/lang/reflect/Method;
            ifnull 9
         2: .line 132
            aload 0 /* this */
            getfield com.sun.javafx.property.adapter.PropertyDescriptor.flags:I
            iconst_2
            iand
            ifle 5
         3: .line 133
            aload 0 /* this */
            getfield com.sun.javafx.property.adapter.PropertyDescriptor.removeVetoListener:Ljava/lang/reflect/Method;
            aload 1 /* listener */
            invokevirtual com.sun.javafx.property.adapter.ReadOnlyPropertyDescriptor$ReadOnlyListener.getBean:()Ljava/lang/Object;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield com.sun.javafx.property.adapter.PropertyDescriptor.name:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1 /* listener */
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 134
            goto 9
         5: .line 135
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.property.adapter.PropertyDescriptor.removeVetoListener:Ljava/lang/reflect/Method;
            aload 1 /* listener */
            invokevirtual com.sun.javafx.property.adapter.ReadOnlyPropertyDescriptor$ReadOnlyListener.getBean:()Ljava/lang/Object;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* listener */
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 137
            goto 9
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
         7: pop
            goto 9
         8: .line 139
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            pop
         9: .line 143
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.javafx.property.adapter.ReadOnlyPropertyDescriptor$ReadOnlyListener listener
        end local 0 // com.sun.javafx.property.adapter.PropertyDescriptor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lcom/sun/javafx/property/adapter/PropertyDescriptor;
            0   10     1  listener  Lcom/sun/javafx/property/adapter/ReadOnlyPropertyDescriptor$ReadOnlyListener;
      Exception table:
        from    to  target  type
           2     6       7  Class java.lang.IllegalAccessException
           2     6       8  Class java.lang.reflect.InvocationTargetException
    MethodParameters:
          Name  Flags
      listener  
}
SourceFile: "PropertyDescriptor.java"
NestMembers:
  com.sun.javafx.property.adapter.PropertyDescriptor$Listener
InnerClasses:
  public Listener = com.sun.javafx.property.adapter.PropertyDescriptor$Listener of com.sun.javafx.property.adapter.PropertyDescriptor
  public ReadOnlyListener = com.sun.javafx.property.adapter.ReadOnlyPropertyDescriptor$ReadOnlyListener of com.sun.javafx.property.adapter.ReadOnlyPropertyDescriptor