class com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor
  super_class: java.lang.Object
{
  private java.lang.String key;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor next;
    descriptor: Lcom/sun/javafx/fxml/expression/ExpressionValue$KeyPathMonitor;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Object namespace;
    descriptor: Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

  private javafx.collections.ListChangeListener<java.lang.Object> listChangeListener;
    descriptor: Ljavafx/collections/ListChangeListener;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljavafx/collections/ListChangeListener<Ljava/lang/Object;>;

  private javafx.collections.MapChangeListener<java.lang.String, java.lang.Object> mapChangeListener;
    descriptor: Ljavafx/collections/MapChangeListener;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljavafx/collections/MapChangeListener<Ljava/lang/String;Ljava/lang/Object;>;

  private javafx.beans.value.ChangeListener<java.lang.Object> propertyChangeListener;
    descriptor: Ljavafx/beans/value/ChangeListener;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljavafx/beans/value/ChangeListener<Ljava/lang/Object;>;

  final com.sun.javafx.fxml.expression.ExpressionValue this$0;
    descriptor: Lcom/sun/javafx/fxml/expression/ExpressionValue;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  public void <init>(java.util.Iterator<java.lang.String>);
    descriptor: (Lcom/sun/javafx/fxml/expression/ExpressionValue;Ljava/util/Iterator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor this
        start local 2 // java.util.Iterator keyPathIterator
         0: .line 87
            aload 0 /* this */
            aload 1
            putfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.this$0:Lcom/sun/javafx/fxml/expression/ExpressionValue;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 53
            aload 0 /* this */
            aconst_null
            putfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.namespace:Ljava/lang/Object;
         2: .line 55
            aload 0 /* this */
            new com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor$1
            dup
            aload 0 /* this */
            invokespecial com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor$1.<init>:(Lcom/sun/javafx/fxml/expression/ExpressionValue$KeyPathMonitor;)V
            putfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.listChangeListener:Ljavafx/collections/ListChangeListener;
         3: .line 69
            aload 0 /* this */
            new com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor$2
            dup
            aload 0 /* this */
            invokespecial com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor$2.<init>:(Lcom/sun/javafx/fxml/expression/ExpressionValue$KeyPathMonitor;)V
            putfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.mapChangeListener:Ljavafx/collections/MapChangeListener;
         4: .line 79
            aload 0 /* this */
            new com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor$3
            dup
            aload 0 /* this */
            invokespecial com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor$3.<init>:(Lcom/sun/javafx/fxml/expression/ExpressionValue$KeyPathMonitor;)V
            putfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.propertyChangeListener:Ljavafx/beans/value/ChangeListener;
         5: .line 88
            aload 0 /* this */
            aload 2 /* keyPathIterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            putfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.key:Ljava/lang/String;
         6: .line 90
            aload 2 /* keyPathIterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 9
         7: .line 91
            aload 0 /* this */
            new com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor
            dup
            aload 1
            aload 2 /* keyPathIterator */
            invokespecial com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.<init>:(Lcom/sun/javafx/fxml/expression/ExpressionValue;Ljava/util/Iterator;)V
            putfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.next:Lcom/sun/javafx/fxml/expression/ExpressionValue$KeyPathMonitor;
         8: .line 92
            goto 10
         9: .line 93
      StackMap locals: com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor com.sun.javafx.fxml.expression.ExpressionValue java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.next:Lcom/sun/javafx/fxml/expression/ExpressionValue$KeyPathMonitor;
        10: .line 95
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.Iterator keyPathIterator
        end local 0 // com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0             this  Lcom/sun/javafx/fxml/expression/ExpressionValue$KeyPathMonitor;
            0   11     2  keyPathIterator  Ljava/util/Iterator<Ljava/lang/String;>;
    Signature: (Ljava/util/Iterator<Ljava/lang/String;>;)V
    MethodParameters:
                 Name  Flags
      this$0           final
      keyPathIterator  

  public void monitor(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor this
        start local 1 // java.lang.Object namespace
         0: .line 99
            aload 1 /* namespace */
            instanceof javafx.collections.ObservableList
            ifeq 3
         1: .line 100
            aload 1 /* namespace */
            checkcast javafx.collections.ObservableList
            aload 0 /* this */
            getfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.listChangeListener:Ljavafx/collections/ListChangeListener;
            invokeinterface javafx.collections.ObservableList.addListener:(Ljavafx/collections/ListChangeListener;)V
         2: .line 101
            goto 11
      StackMap locals:
      StackMap stack:
         3: aload 1 /* namespace */
            instanceof javafx.collections.ObservableMap
            ifeq 6
         4: .line 102
            aload 1 /* namespace */
            checkcast javafx.collections.ObservableMap
            aload 0 /* this */
            getfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.mapChangeListener:Ljavafx/collections/MapChangeListener;
            invokeinterface javafx.collections.ObservableMap.addListener:(Ljavafx/collections/MapChangeListener;)V
         5: .line 103
            goto 11
         6: .line 104
      StackMap locals:
      StackMap stack:
            new com.sun.javafx.fxml.BeanAdapter
            dup
            aload 1 /* namespace */
            invokespecial com.sun.javafx.fxml.BeanAdapter.<init>:(Ljava/lang/Object;)V
            astore 2 /* namespaceAdapter */
        start local 2 // com.sun.javafx.fxml.BeanAdapter namespaceAdapter
         7: .line 105
            aload 2 /* namespaceAdapter */
            aload 0 /* this */
            getfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.key:Ljava/lang/String;
            invokevirtual com.sun.javafx.fxml.BeanAdapter.getPropertyModel:(Ljava/lang/String;)Ljavafx/beans/value/ObservableValue;
            astore 3 /* propertyModel */
        start local 3 // javafx.beans.value.ObservableValue propertyModel
         8: .line 107
            aload 3 /* propertyModel */
            ifnull 10
         9: .line 108
            aload 3 /* propertyModel */
            aload 0 /* this */
            getfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.propertyChangeListener:Ljavafx/beans/value/ChangeListener;
            invokeinterface javafx.beans.value.ObservableValue.addListener:(Ljavafx/beans/value/ChangeListener;)V
        10: .line 111
      StackMap locals: com.sun.javafx.fxml.BeanAdapter javafx.beans.value.ObservableValue
      StackMap stack:
            aload 2 /* namespaceAdapter */
            astore 1 /* namespace */
        end local 3 // javafx.beans.value.ObservableValue propertyModel
        end local 2 // com.sun.javafx.fxml.BeanAdapter namespaceAdapter
        11: .line 114
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* namespace */
            putfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.namespace:Ljava/lang/Object;
        12: .line 116
            aload 0 /* this */
            getfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.next:Lcom/sun/javafx/fxml/expression/ExpressionValue$KeyPathMonitor;
            ifnull 16
        13: .line 117
            aload 1 /* namespace */
            aload 0 /* this */
            getfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.key:Ljava/lang/String;
            invokestatic com.sun.javafx.fxml.expression.Expression.get:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            astore 2 /* value */
        start local 2 // java.lang.Object value
        14: .line 118
            aload 2 /* value */
            ifnull 16
        15: .line 119
            aload 0 /* this */
            getfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.next:Lcom/sun/javafx/fxml/expression/ExpressionValue$KeyPathMonitor;
            aload 2 /* value */
            invokevirtual com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.monitor:(Ljava/lang/Object;)V
        end local 2 // java.lang.Object value
        16: .line 122
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object namespace
        end local 0 // com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   17     0              this  Lcom/sun/javafx/fxml/expression/ExpressionValue$KeyPathMonitor;
            0   17     1         namespace  Ljava/lang/Object;
            7   11     2  namespaceAdapter  Lcom/sun/javafx/fxml/BeanAdapter;
            8   11     3     propertyModel  Ljavafx/beans/value/ObservableValue<Ljava/lang/Object;>;
           14   16     2             value  Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      namespace  

  public void unmonitor();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor this
         0: .line 126
            aload 0 /* this */
            getfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.namespace:Ljava/lang/Object;
            instanceof javafx.collections.ObservableList
            ifeq 3
         1: .line 127
            aload 0 /* this */
            getfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.namespace:Ljava/lang/Object;
            checkcast javafx.collections.ObservableList
            aload 0 /* this */
            getfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.listChangeListener:Ljavafx/collections/ListChangeListener;
            invokeinterface javafx.collections.ObservableList.removeListener:(Ljavafx/collections/ListChangeListener;)V
         2: .line 128
            goto 11
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            getfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.namespace:Ljava/lang/Object;
            instanceof javafx.collections.ObservableMap
            ifeq 6
         4: .line 129
            aload 0 /* this */
            getfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.namespace:Ljava/lang/Object;
            checkcast javafx.collections.ObservableMap
            aload 0 /* this */
            getfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.mapChangeListener:Ljavafx/collections/MapChangeListener;
            invokeinterface javafx.collections.ObservableMap.removeListener:(Ljavafx/collections/MapChangeListener;)V
         5: .line 130
            goto 11
      StackMap locals:
      StackMap stack:
         6: aload 0 /* this */
            getfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.namespace:Ljava/lang/Object;
            ifnull 11
         7: .line 131
            aload 0 /* this */
            getfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.namespace:Ljava/lang/Object;
            checkcast com.sun.javafx.fxml.BeanAdapter
            astore 1 /* namespaceAdapter */
        start local 1 // com.sun.javafx.fxml.BeanAdapter namespaceAdapter
         8: .line 132
            aload 1 /* namespaceAdapter */
            aload 0 /* this */
            getfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.key:Ljava/lang/String;
            invokevirtual com.sun.javafx.fxml.BeanAdapter.getPropertyModel:(Ljava/lang/String;)Ljavafx/beans/value/ObservableValue;
            astore 2 /* propertyModel */
        start local 2 // javafx.beans.value.ObservableValue propertyModel
         9: .line 134
            aload 2 /* propertyModel */
            ifnull 11
        10: .line 135
            aload 2 /* propertyModel */
            aload 0 /* this */
            getfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.propertyChangeListener:Ljavafx/beans/value/ChangeListener;
            invokeinterface javafx.beans.value.ObservableValue.removeListener:(Ljavafx/beans/value/ChangeListener;)V
        end local 2 // javafx.beans.value.ObservableValue propertyModel
        end local 1 // com.sun.javafx.fxml.BeanAdapter namespaceAdapter
        11: .line 139
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.namespace:Ljava/lang/Object;
        12: .line 141
            aload 0 /* this */
            getfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.next:Lcom/sun/javafx/fxml/expression/ExpressionValue$KeyPathMonitor;
            ifnull 14
        13: .line 142
            aload 0 /* this */
            getfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.next:Lcom/sun/javafx/fxml/expression/ExpressionValue$KeyPathMonitor;
            invokevirtual com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.unmonitor:()V
        14: .line 144
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   15     0              this  Lcom/sun/javafx/fxml/expression/ExpressionValue$KeyPathMonitor;
            8   11     1  namespaceAdapter  Lcom/sun/javafx/fxml/BeanAdapter;
            9   11     2     propertyModel  Ljavafx/beans/value/ObservableValue<Ljava/lang/Object;>;

  public void remonitor();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor this
         0: .line 147
            aload 0 /* this */
            getfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.next:Lcom/sun/javafx/fxml/expression/ExpressionValue$KeyPathMonitor;
            ifnull 5
         1: .line 148
            aload 0 /* this */
            getfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.next:Lcom/sun/javafx/fxml/expression/ExpressionValue$KeyPathMonitor;
            invokevirtual com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.unmonitor:()V
         2: .line 149
            aload 0 /* this */
            getfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.namespace:Ljava/lang/Object;
            aload 0 /* this */
            getfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.key:Ljava/lang/String;
            invokestatic com.sun.javafx.fxml.expression.Expression.get:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            astore 1 /* value */
        start local 1 // java.lang.Object value
         3: .line 150
            aload 1 /* value */
            ifnull 5
         4: .line 151
            aload 0 /* this */
            getfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.next:Lcom/sun/javafx/fxml/expression/ExpressionValue$KeyPathMonitor;
            aload 1 /* value */
            invokevirtual com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.monitor:(Ljava/lang/Object;)V
        end local 1 // java.lang.Object value
         5: .line 154
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lcom/sun/javafx/fxml/expression/ExpressionValue$KeyPathMonitor;
            3    5     1  value  Ljava/lang/Object;

  static com.sun.javafx.fxml.expression.ExpressionValue access$0(com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor);
    descriptor: (Lcom/sun/javafx/fxml/expression/ExpressionValue$KeyPathMonitor;)Lcom/sun/javafx/fxml/expression/ExpressionValue;
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 49
            aload 0
            getfield com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor.this$0:Lcom/sun/javafx/fxml/expression/ExpressionValue;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "ExpressionValue.java"
NestHost: com.sun.javafx.fxml.expression.ExpressionValue
InnerClasses:
  private KeyPathMonitor = com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor of com.sun.javafx.fxml.expression.ExpressionValue
  com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor$1
  com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor$2
  com.sun.javafx.fxml.expression.ExpressionValue$KeyPathMonitor$3