public abstract class com.sun.javafx.binding.BidirectionalBinding<T> implements javafx.beans.value.ChangeListener<T>, javafx.beans.WeakListener
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.sun.javafx.binding.BidirectionalBinding
  super_class: java.lang.Object
{
  private final int cachedHashCode;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static void checkParameters(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Object property1
        start local 1 // java.lang.Object property2
         0: .line 42
            aload 0 /* property1 */
            ifnull 1
            aload 1 /* property2 */
            ifnonnull 2
         1: .line 43
      StackMap locals:
      StackMap stack:
            new java.lang.NullPointerException
            dup
            ldc "Both properties must be specified."
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 45
      StackMap locals:
      StackMap stack:
            aload 0 /* property1 */
            aload 1 /* property2 */
            if_acmpne 4
         3: .line 46
            new java.lang.IllegalArgumentException
            dup
            ldc "Cannot bind property to itself"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 48
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object property2
        end local 0 // java.lang.Object property1
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0  property1  Ljava/lang/Object;
            0    5     1  property2  Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      property1  
      property2  

  public static <T> com.sun.javafx.binding.BidirectionalBinding bind(javafx.beans.property.Property<T>, javafx.beans.property.Property<T>);
    descriptor: (Ljavafx/beans/property/Property;Ljavafx/beans/property/Property;)Lcom/sun/javafx/binding/BidirectionalBinding;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // javafx.beans.property.Property property1
        start local 1 // javafx.beans.property.Property property2
         0: .line 51
            aload 0 /* property1 */
            aload 1 /* property2 */
            invokestatic com.sun.javafx.binding.BidirectionalBinding.checkParameters:(Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 53
            aload 0 /* property1 */
            instanceof javafx.beans.property.DoubleProperty
            ifeq 3
            aload 1 /* property2 */
            instanceof javafx.beans.property.DoubleProperty
            ifeq 3
         2: .line 54
            new com.sun.javafx.binding.BidirectionalBinding$BidirectionalDoubleBinding
            dup
            aload 0 /* property1 */
            checkcast javafx.beans.property.DoubleProperty
            aload 1 /* property2 */
            checkcast javafx.beans.property.DoubleProperty
            invokespecial com.sun.javafx.binding.BidirectionalBinding$BidirectionalDoubleBinding.<init>:(Ljavafx/beans/property/DoubleProperty;Ljavafx/beans/property/DoubleProperty;)V
            goto 12
         3: .line 55
      StackMap locals:
      StackMap stack:
            aload 0 /* property1 */
            instanceof javafx.beans.property.FloatProperty
            ifeq 5
            aload 1 /* property2 */
            instanceof javafx.beans.property.FloatProperty
            ifeq 5
         4: .line 56
            new com.sun.javafx.binding.BidirectionalBinding$BidirectionalFloatBinding
            dup
            aload 0 /* property1 */
            checkcast javafx.beans.property.FloatProperty
            aload 1 /* property2 */
            checkcast javafx.beans.property.FloatProperty
            invokespecial com.sun.javafx.binding.BidirectionalBinding$BidirectionalFloatBinding.<init>:(Ljavafx/beans/property/FloatProperty;Ljavafx/beans/property/FloatProperty;)V
            goto 12
         5: .line 57
      StackMap locals:
      StackMap stack:
            aload 0 /* property1 */
            instanceof javafx.beans.property.IntegerProperty
            ifeq 7
            aload 1 /* property2 */
            instanceof javafx.beans.property.IntegerProperty
            ifeq 7
         6: .line 58
            new com.sun.javafx.binding.BidirectionalBinding$BidirectionalIntegerBinding
            dup
            aload 0 /* property1 */
            checkcast javafx.beans.property.IntegerProperty
            aload 1 /* property2 */
            checkcast javafx.beans.property.IntegerProperty
            invokespecial com.sun.javafx.binding.BidirectionalBinding$BidirectionalIntegerBinding.<init>:(Ljavafx/beans/property/IntegerProperty;Ljavafx/beans/property/IntegerProperty;)V
            goto 12
         7: .line 59
      StackMap locals:
      StackMap stack:
            aload 0 /* property1 */
            instanceof javafx.beans.property.LongProperty
            ifeq 9
            aload 1 /* property2 */
            instanceof javafx.beans.property.LongProperty
            ifeq 9
         8: .line 60
            new com.sun.javafx.binding.BidirectionalBinding$BidirectionalLongBinding
            dup
            aload 0 /* property1 */
            checkcast javafx.beans.property.LongProperty
            aload 1 /* property2 */
            checkcast javafx.beans.property.LongProperty
            invokespecial com.sun.javafx.binding.BidirectionalBinding$BidirectionalLongBinding.<init>:(Ljavafx/beans/property/LongProperty;Ljavafx/beans/property/LongProperty;)V
            goto 12
         9: .line 61
      StackMap locals:
      StackMap stack:
            aload 0 /* property1 */
            instanceof javafx.beans.property.BooleanProperty
            ifeq 11
            aload 1 /* property2 */
            instanceof javafx.beans.property.BooleanProperty
            ifeq 11
        10: .line 62
            new com.sun.javafx.binding.BidirectionalBinding$BidirectionalBooleanBinding
            dup
            aload 0 /* property1 */
            checkcast javafx.beans.property.BooleanProperty
            aload 1 /* property2 */
            checkcast javafx.beans.property.BooleanProperty
            invokespecial com.sun.javafx.binding.BidirectionalBinding$BidirectionalBooleanBinding.<init>:(Ljavafx/beans/property/BooleanProperty;Ljavafx/beans/property/BooleanProperty;)V
            goto 12
        11: .line 63
      StackMap locals:
      StackMap stack:
            new com.sun.javafx.binding.BidirectionalBinding$TypedGenericBidirectionalBinding
            dup
            aload 0 /* property1 */
            aload 1 /* property2 */
            invokespecial com.sun.javafx.binding.BidirectionalBinding$TypedGenericBidirectionalBinding.<init>:(Ljavafx/beans/property/Property;Ljavafx/beans/property/Property;)V
        12: .line 52
      StackMap locals:
      StackMap stack: com.sun.javafx.binding.BidirectionalBinding
            astore 2 /* binding */
        start local 2 // com.sun.javafx.binding.BidirectionalBinding binding
        13: .line 64
            aload 0 /* property1 */
            aload 1 /* property2 */
            invokeinterface javafx.beans.property.Property.getValue:()Ljava/lang/Object;
            invokeinterface javafx.beans.property.Property.setValue:(Ljava/lang/Object;)V
        14: .line 65
            aload 0 /* property1 */
            aload 2 /* binding */
            invokeinterface javafx.beans.property.Property.addListener:(Ljavafx/beans/value/ChangeListener;)V
        15: .line 66
            aload 1 /* property2 */
            aload 2 /* binding */
            invokeinterface javafx.beans.property.Property.addListener:(Ljavafx/beans/value/ChangeListener;)V
        16: .line 67
            aload 2 /* binding */
            areturn
        end local 2 // com.sun.javafx.binding.BidirectionalBinding binding
        end local 1 // javafx.beans.property.Property property2
        end local 0 // javafx.beans.property.Property property1
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0  property1  Ljavafx/beans/property/Property<TT;>;
            0   17     1  property2  Ljavafx/beans/property/Property<TT;>;
           13   17     2    binding  Lcom/sun/javafx/binding/BidirectionalBinding;
    Signature: <T:Ljava/lang/Object;>(Ljavafx/beans/property/Property<TT;>;Ljavafx/beans/property/Property<TT;>;)Lcom/sun/javafx/binding/BidirectionalBinding;
    MethodParameters:
           Name  Flags
      property1  
      property2  

  public static  bind(javafx.beans.property.Property<java.lang.String>, javafx.beans.property.Property<?>, java.text.Format);
    descriptor: (Ljavafx/beans/property/Property;Ljavafx/beans/property/Property;Ljava/text/Format;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // javafx.beans.property.Property stringProperty
        start local 1 // javafx.beans.property.Property otherProperty
        start local 2 // java.text.Format format
         0: .line 71
            aload 0 /* stringProperty */
            aload 1 /* otherProperty */
            invokestatic com.sun.javafx.binding.BidirectionalBinding.checkParameters:(Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 72
            aload 2 /* format */
            ifnonnull 3
         2: .line 73
            new java.lang.NullPointerException
            dup
            ldc "Format cannot be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 75
      StackMap locals:
      StackMap stack:
            new com.sun.javafx.binding.BidirectionalBinding$StringFormatBidirectionalBinding
            dup
            aload 0 /* stringProperty */
            aload 1 /* otherProperty */
            aload 2 /* format */
            invokespecial com.sun.javafx.binding.BidirectionalBinding$StringFormatBidirectionalBinding.<init>:(Ljavafx/beans/property/Property;Ljavafx/beans/property/Property;Ljava/text/Format;)V
            astore 3 /* binding */
        start local 3 // com.sun.javafx.binding.BidirectionalBinding$StringConversionBidirectionalBinding binding
         4: .line 76
            aload 0 /* stringProperty */
            aload 2 /* format */
            aload 1 /* otherProperty */
            invokeinterface javafx.beans.property.Property.getValue:()Ljava/lang/Object;
            invokevirtual java.text.Format.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface javafx.beans.property.Property.setValue:(Ljava/lang/Object;)V
         5: .line 77
            aload 0 /* stringProperty */
            aload 3 /* binding */
            invokeinterface javafx.beans.property.Property.addListener:(Ljavafx/beans/value/ChangeListener;)V
         6: .line 78
            aload 1 /* otherProperty */
            aload 3 /* binding */
            invokeinterface javafx.beans.property.Property.addListener:(Ljavafx/beans/value/ChangeListener;)V
         7: .line 79
            aload 3 /* binding */
            areturn
        end local 3 // com.sun.javafx.binding.BidirectionalBinding$StringConversionBidirectionalBinding binding
        end local 2 // java.text.Format format
        end local 1 // javafx.beans.property.Property otherProperty
        end local 0 // javafx.beans.property.Property stringProperty
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0  stringProperty  Ljavafx/beans/property/Property<Ljava/lang/String;>;
            0    8     1   otherProperty  Ljavafx/beans/property/Property<*>;
            0    8     2          format  Ljava/text/Format;
            4    8     3         binding  Lcom/sun/javafx/binding/BidirectionalBinding$StringConversionBidirectionalBinding<*>;
    Signature: (Ljavafx/beans/property/Property<Ljava/lang/String;>;Ljavafx/beans/property/Property<*>;Ljava/text/Format;)Ljava/lang/Object;
    MethodParameters:
                Name  Flags
      stringProperty  
      otherProperty   
      format          

  public static <T>  bind(javafx.beans.property.Property<java.lang.String>, javafx.beans.property.Property<T>, javafx.util.StringConverter<T>);
    descriptor: (Ljavafx/beans/property/Property;Ljavafx/beans/property/Property;Ljavafx/util/StringConverter;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // javafx.beans.property.Property stringProperty
        start local 1 // javafx.beans.property.Property otherProperty
        start local 2 // javafx.util.StringConverter converter
         0: .line 83
            aload 0 /* stringProperty */
            aload 1 /* otherProperty */
            invokestatic com.sun.javafx.binding.BidirectionalBinding.checkParameters:(Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 84
            aload 2 /* converter */
            ifnonnull 3
         2: .line 85
            new java.lang.NullPointerException
            dup
            ldc "Converter cannot be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 87
      StackMap locals:
      StackMap stack:
            new com.sun.javafx.binding.BidirectionalBinding$StringConverterBidirectionalBinding
            dup
            aload 0 /* stringProperty */
            aload 1 /* otherProperty */
            aload 2 /* converter */
            invokespecial com.sun.javafx.binding.BidirectionalBinding$StringConverterBidirectionalBinding.<init>:(Ljavafx/beans/property/Property;Ljavafx/beans/property/Property;Ljavafx/util/StringConverter;)V
            astore 3 /* binding */
        start local 3 // com.sun.javafx.binding.BidirectionalBinding$StringConversionBidirectionalBinding binding
         4: .line 88
            aload 0 /* stringProperty */
            aload 2 /* converter */
            aload 1 /* otherProperty */
            invokeinterface javafx.beans.property.Property.getValue:()Ljava/lang/Object;
            invokevirtual javafx.util.StringConverter.toString:(Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface javafx.beans.property.Property.setValue:(Ljava/lang/Object;)V
         5: .line 89
            aload 0 /* stringProperty */
            aload 3 /* binding */
            invokeinterface javafx.beans.property.Property.addListener:(Ljavafx/beans/value/ChangeListener;)V
         6: .line 90
            aload 1 /* otherProperty */
            aload 3 /* binding */
            invokeinterface javafx.beans.property.Property.addListener:(Ljavafx/beans/value/ChangeListener;)V
         7: .line 91
            aload 3 /* binding */
            areturn
        end local 3 // com.sun.javafx.binding.BidirectionalBinding$StringConversionBidirectionalBinding binding
        end local 2 // javafx.util.StringConverter converter
        end local 1 // javafx.beans.property.Property otherProperty
        end local 0 // javafx.beans.property.Property stringProperty
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0  stringProperty  Ljavafx/beans/property/Property<Ljava/lang/String;>;
            0    8     1   otherProperty  Ljavafx/beans/property/Property<TT;>;
            0    8     2       converter  Ljavafx/util/StringConverter<TT;>;
            4    8     3         binding  Lcom/sun/javafx/binding/BidirectionalBinding$StringConversionBidirectionalBinding<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljavafx/beans/property/Property<Ljava/lang/String;>;Ljavafx/beans/property/Property<TT;>;Ljavafx/util/StringConverter<TT;>;)Ljava/lang/Object;
    MethodParameters:
                Name  Flags
      stringProperty  
      otherProperty   
      converter       

  public static <T> void unbind(javafx.beans.property.Property<T>, javafx.beans.property.Property<T>);
    descriptor: (Ljavafx/beans/property/Property;Ljavafx/beans/property/Property;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // javafx.beans.property.Property property1
        start local 1 // javafx.beans.property.Property property2
         0: .line 95
            aload 0 /* property1 */
            aload 1 /* property2 */
            invokestatic com.sun.javafx.binding.BidirectionalBinding.checkParameters:(Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 96
            new com.sun.javafx.binding.BidirectionalBinding$UntypedGenericBidirectionalBinding
            dup
            aload 0 /* property1 */
            aload 1 /* property2 */
            invokespecial com.sun.javafx.binding.BidirectionalBinding$UntypedGenericBidirectionalBinding.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            astore 2 /* binding */
        start local 2 // com.sun.javafx.binding.BidirectionalBinding binding
         2: .line 97
            aload 0 /* property1 */
            aload 2 /* binding */
            invokeinterface javafx.beans.property.Property.removeListener:(Ljavafx/beans/value/ChangeListener;)V
         3: .line 98
            aload 1 /* property2 */
            aload 2 /* binding */
            invokeinterface javafx.beans.property.Property.removeListener:(Ljavafx/beans/value/ChangeListener;)V
         4: .line 99
            return
        end local 2 // com.sun.javafx.binding.BidirectionalBinding binding
        end local 1 // javafx.beans.property.Property property2
        end local 0 // javafx.beans.property.Property property1
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0  property1  Ljavafx/beans/property/Property<TT;>;
            0    5     1  property2  Ljavafx/beans/property/Property<TT;>;
            2    5     2    binding  Lcom/sun/javafx/binding/BidirectionalBinding;
    Signature: <T:Ljava/lang/Object;>(Ljavafx/beans/property/Property<TT;>;Ljavafx/beans/property/Property<TT;>;)V
    MethodParameters:
           Name  Flags
      property1  
      property2  

  public static void unbind(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.lang.Object property1
        start local 1 // java.lang.Object property2
         0: .line 102
            aload 0 /* property1 */
            aload 1 /* property2 */
            invokestatic com.sun.javafx.binding.BidirectionalBinding.checkParameters:(Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 103
            new com.sun.javafx.binding.BidirectionalBinding$UntypedGenericBidirectionalBinding
            dup
            aload 0 /* property1 */
            aload 1 /* property2 */
            invokespecial com.sun.javafx.binding.BidirectionalBinding$UntypedGenericBidirectionalBinding.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            astore 2 /* binding */
        start local 2 // com.sun.javafx.binding.BidirectionalBinding binding
         2: .line 104
            aload 0 /* property1 */
            instanceof javafx.beans.value.ObservableValue
            ifeq 4
         3: .line 105
            aload 0 /* property1 */
            checkcast javafx.beans.value.ObservableValue
            aload 2 /* binding */
            invokeinterface javafx.beans.value.ObservableValue.removeListener:(Ljavafx/beans/value/ChangeListener;)V
         4: .line 107
      StackMap locals: com.sun.javafx.binding.BidirectionalBinding
      StackMap stack:
            aload 1 /* property2 */
            instanceof javafx.beans.value.ObservableValue
            ifeq 6
         5: .line 108
            aload 1 /* property2 */
            checkcast javafx.beans.value.ObservableValue
            aload 2 /* binding */
            invokeinterface javafx.beans.value.ObservableValue.removeListener:(Ljavafx/beans/value/ChangeListener;)V
         6: .line 110
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.sun.javafx.binding.BidirectionalBinding binding
        end local 1 // java.lang.Object property2
        end local 0 // java.lang.Object property1
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0  property1  Ljava/lang/Object;
            0    7     1  property2  Ljava/lang/Object;
            2    7     2    binding  Lcom/sun/javafx/binding/BidirectionalBinding;
    MethodParameters:
           Name  Flags
      property1  
      property2  

  public static com.sun.javafx.binding.BidirectionalBinding bindNumber(javafx.beans.property.Property<java.lang.Integer>, javafx.beans.property.IntegerProperty);
    descriptor: (Ljavafx/beans/property/Property;Ljavafx/beans/property/IntegerProperty;)Lcom/sun/javafx/binding/BidirectionalBinding;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javafx.beans.property.Property property1
        start local 1 // javafx.beans.property.IntegerProperty property2
         0: .line 113
            aload 0 /* property1 */
            aload 1 /* property2 */
            invokestatic com.sun.javafx.binding.BidirectionalBinding.bindNumber:(Ljavafx/beans/property/Property;Ljavafx/beans/property/Property;)Lcom/sun/javafx/binding/BidirectionalBinding;
            areturn
        end local 1 // javafx.beans.property.IntegerProperty property2
        end local 0 // javafx.beans.property.Property property1
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  property1  Ljavafx/beans/property/Property<Ljava/lang/Integer;>;
            0    1     1  property2  Ljavafx/beans/property/IntegerProperty;
    Signature: (Ljavafx/beans/property/Property<Ljava/lang/Integer;>;Ljavafx/beans/property/IntegerProperty;)Lcom/sun/javafx/binding/BidirectionalBinding;
    MethodParameters:
           Name  Flags
      property1  
      property2  

  public static com.sun.javafx.binding.BidirectionalBinding bindNumber(javafx.beans.property.Property<java.lang.Long>, javafx.beans.property.LongProperty);
    descriptor: (Ljavafx/beans/property/Property;Ljavafx/beans/property/LongProperty;)Lcom/sun/javafx/binding/BidirectionalBinding;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javafx.beans.property.Property property1
        start local 1 // javafx.beans.property.LongProperty property2
         0: .line 117
            aload 0 /* property1 */
            aload 1 /* property2 */
            invokestatic com.sun.javafx.binding.BidirectionalBinding.bindNumber:(Ljavafx/beans/property/Property;Ljavafx/beans/property/Property;)Lcom/sun/javafx/binding/BidirectionalBinding;
            areturn
        end local 1 // javafx.beans.property.LongProperty property2
        end local 0 // javafx.beans.property.Property property1
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  property1  Ljavafx/beans/property/Property<Ljava/lang/Long;>;
            0    1     1  property2  Ljavafx/beans/property/LongProperty;
    Signature: (Ljavafx/beans/property/Property<Ljava/lang/Long;>;Ljavafx/beans/property/LongProperty;)Lcom/sun/javafx/binding/BidirectionalBinding;
    MethodParameters:
           Name  Flags
      property1  
      property2  

  public static com.sun.javafx.binding.BidirectionalBinding bindNumber(javafx.beans.property.Property<java.lang.Float>, javafx.beans.property.FloatProperty);
    descriptor: (Ljavafx/beans/property/Property;Ljavafx/beans/property/FloatProperty;)Lcom/sun/javafx/binding/BidirectionalBinding;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javafx.beans.property.Property property1
        start local 1 // javafx.beans.property.FloatProperty property2
         0: .line 121
            aload 0 /* property1 */
            aload 1 /* property2 */
            invokestatic com.sun.javafx.binding.BidirectionalBinding.bindNumber:(Ljavafx/beans/property/Property;Ljavafx/beans/property/Property;)Lcom/sun/javafx/binding/BidirectionalBinding;
            areturn
        end local 1 // javafx.beans.property.FloatProperty property2
        end local 0 // javafx.beans.property.Property property1
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  property1  Ljavafx/beans/property/Property<Ljava/lang/Float;>;
            0    1     1  property2  Ljavafx/beans/property/FloatProperty;
    Signature: (Ljavafx/beans/property/Property<Ljava/lang/Float;>;Ljavafx/beans/property/FloatProperty;)Lcom/sun/javafx/binding/BidirectionalBinding;
    MethodParameters:
           Name  Flags
      property1  
      property2  

  public static com.sun.javafx.binding.BidirectionalBinding bindNumber(javafx.beans.property.Property<java.lang.Double>, javafx.beans.property.DoubleProperty);
    descriptor: (Ljavafx/beans/property/Property;Ljavafx/beans/property/DoubleProperty;)Lcom/sun/javafx/binding/BidirectionalBinding;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javafx.beans.property.Property property1
        start local 1 // javafx.beans.property.DoubleProperty property2
         0: .line 125
            aload 0 /* property1 */
            aload 1 /* property2 */
            invokestatic com.sun.javafx.binding.BidirectionalBinding.bindNumber:(Ljavafx/beans/property/Property;Ljavafx/beans/property/Property;)Lcom/sun/javafx/binding/BidirectionalBinding;
            areturn
        end local 1 // javafx.beans.property.DoubleProperty property2
        end local 0 // javafx.beans.property.Property property1
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  property1  Ljavafx/beans/property/Property<Ljava/lang/Double;>;
            0    1     1  property2  Ljavafx/beans/property/DoubleProperty;
    Signature: (Ljavafx/beans/property/Property<Ljava/lang/Double;>;Ljavafx/beans/property/DoubleProperty;)Lcom/sun/javafx/binding/BidirectionalBinding;
    MethodParameters:
           Name  Flags
      property1  
      property2  

  public static com.sun.javafx.binding.BidirectionalBinding bindNumber(javafx.beans.property.IntegerProperty, javafx.beans.property.Property<java.lang.Integer>);
    descriptor: (Ljavafx/beans/property/IntegerProperty;Ljavafx/beans/property/Property;)Lcom/sun/javafx/binding/BidirectionalBinding;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javafx.beans.property.IntegerProperty property1
        start local 1 // javafx.beans.property.Property property2
         0: .line 129
            aload 0 /* property1 */
            aload 1 /* property2 */
            invokestatic com.sun.javafx.binding.BidirectionalBinding.bindNumberObject:(Ljavafx/beans/property/Property;Ljavafx/beans/property/Property;)Lcom/sun/javafx/binding/BidirectionalBinding;
            areturn
        end local 1 // javafx.beans.property.Property property2
        end local 0 // javafx.beans.property.IntegerProperty property1
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  property1  Ljavafx/beans/property/IntegerProperty;
            0    1     1  property2  Ljavafx/beans/property/Property<Ljava/lang/Integer;>;
    Signature: (Ljavafx/beans/property/IntegerProperty;Ljavafx/beans/property/Property<Ljava/lang/Integer;>;)Lcom/sun/javafx/binding/BidirectionalBinding;
    MethodParameters:
           Name  Flags
      property1  
      property2  

  public static com.sun.javafx.binding.BidirectionalBinding bindNumber(javafx.beans.property.LongProperty, javafx.beans.property.Property<java.lang.Long>);
    descriptor: (Ljavafx/beans/property/LongProperty;Ljavafx/beans/property/Property;)Lcom/sun/javafx/binding/BidirectionalBinding;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javafx.beans.property.LongProperty property1
        start local 1 // javafx.beans.property.Property property2
         0: .line 133
            aload 0 /* property1 */
            aload 1 /* property2 */
            invokestatic com.sun.javafx.binding.BidirectionalBinding.bindNumberObject:(Ljavafx/beans/property/Property;Ljavafx/beans/property/Property;)Lcom/sun/javafx/binding/BidirectionalBinding;
            areturn
        end local 1 // javafx.beans.property.Property property2
        end local 0 // javafx.beans.property.LongProperty property1
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  property1  Ljavafx/beans/property/LongProperty;
            0    1     1  property2  Ljavafx/beans/property/Property<Ljava/lang/Long;>;
    Signature: (Ljavafx/beans/property/LongProperty;Ljavafx/beans/property/Property<Ljava/lang/Long;>;)Lcom/sun/javafx/binding/BidirectionalBinding;
    MethodParameters:
           Name  Flags
      property1  
      property2  

  public static com.sun.javafx.binding.BidirectionalBinding bindNumber(javafx.beans.property.FloatProperty, javafx.beans.property.Property<java.lang.Float>);
    descriptor: (Ljavafx/beans/property/FloatProperty;Ljavafx/beans/property/Property;)Lcom/sun/javafx/binding/BidirectionalBinding;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javafx.beans.property.FloatProperty property1
        start local 1 // javafx.beans.property.Property property2
         0: .line 137
            aload 0 /* property1 */
            aload 1 /* property2 */
            invokestatic com.sun.javafx.binding.BidirectionalBinding.bindNumberObject:(Ljavafx/beans/property/Property;Ljavafx/beans/property/Property;)Lcom/sun/javafx/binding/BidirectionalBinding;
            areturn
        end local 1 // javafx.beans.property.Property property2
        end local 0 // javafx.beans.property.FloatProperty property1
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  property1  Ljavafx/beans/property/FloatProperty;
            0    1     1  property2  Ljavafx/beans/property/Property<Ljava/lang/Float;>;
    Signature: (Ljavafx/beans/property/FloatProperty;Ljavafx/beans/property/Property<Ljava/lang/Float;>;)Lcom/sun/javafx/binding/BidirectionalBinding;
    MethodParameters:
           Name  Flags
      property1  
      property2  

  public static com.sun.javafx.binding.BidirectionalBinding bindNumber(javafx.beans.property.DoubleProperty, javafx.beans.property.Property<java.lang.Double>);
    descriptor: (Ljavafx/beans/property/DoubleProperty;Ljavafx/beans/property/Property;)Lcom/sun/javafx/binding/BidirectionalBinding;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javafx.beans.property.DoubleProperty property1
        start local 1 // javafx.beans.property.Property property2
         0: .line 141
            aload 0 /* property1 */
            aload 1 /* property2 */
            invokestatic com.sun.javafx.binding.BidirectionalBinding.bindNumberObject:(Ljavafx/beans/property/Property;Ljavafx/beans/property/Property;)Lcom/sun/javafx/binding/BidirectionalBinding;
            areturn
        end local 1 // javafx.beans.property.Property property2
        end local 0 // javafx.beans.property.DoubleProperty property1
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  property1  Ljavafx/beans/property/DoubleProperty;
            0    1     1  property2  Ljavafx/beans/property/Property<Ljava/lang/Double;>;
    Signature: (Ljavafx/beans/property/DoubleProperty;Ljavafx/beans/property/Property<Ljava/lang/Double;>;)Lcom/sun/javafx/binding/BidirectionalBinding;
    MethodParameters:
           Name  Flags
      property1  
      property2  

  private static <T extends java.lang.Number> com.sun.javafx.binding.BidirectionalBinding bindNumberObject(javafx.beans.property.Property<java.lang.Number>, javafx.beans.property.Property<T>);
    descriptor: (Ljavafx/beans/property/Property;Ljavafx/beans/property/Property;)Lcom/sun/javafx/binding/BidirectionalBinding;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // javafx.beans.property.Property property1
        start local 1 // javafx.beans.property.Property property2
         0: .line 145
            aload 0 /* property1 */
            aload 1 /* property2 */
            invokestatic com.sun.javafx.binding.BidirectionalBinding.checkParameters:(Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 147
            new com.sun.javafx.binding.BidirectionalBinding$TypedNumberBidirectionalBinding
            dup
            aload 1 /* property2 */
            aload 0 /* property1 */
            invokespecial com.sun.javafx.binding.BidirectionalBinding$TypedNumberBidirectionalBinding.<init>:(Ljavafx/beans/property/Property;Ljavafx/beans/property/Property;)V
            astore 2 /* binding */
        start local 2 // com.sun.javafx.binding.BidirectionalBinding binding
         2: .line 149
            aload 0 /* property1 */
            aload 1 /* property2 */
            invokeinterface javafx.beans.property.Property.getValue:()Ljava/lang/Object;
            checkcast java.lang.Number
            invokeinterface javafx.beans.property.Property.setValue:(Ljava/lang/Object;)V
         3: .line 150
            aload 0 /* property1 */
            aload 2 /* binding */
            invokeinterface javafx.beans.property.Property.addListener:(Ljavafx/beans/value/ChangeListener;)V
         4: .line 151
            aload 1 /* property2 */
            aload 2 /* binding */
            invokeinterface javafx.beans.property.Property.addListener:(Ljavafx/beans/value/ChangeListener;)V
         5: .line 152
            aload 2 /* binding */
            areturn
        end local 2 // com.sun.javafx.binding.BidirectionalBinding binding
        end local 1 // javafx.beans.property.Property property2
        end local 0 // javafx.beans.property.Property property1
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0  property1  Ljavafx/beans/property/Property<Ljava/lang/Number;>;
            0    6     1  property2  Ljavafx/beans/property/Property<TT;>;
            2    6     2    binding  Lcom/sun/javafx/binding/BidirectionalBinding<Ljava/lang/Number;>;
    Signature: <T:Ljava/lang/Number;>(Ljavafx/beans/property/Property<Ljava/lang/Number;>;Ljavafx/beans/property/Property<TT;>;)Lcom/sun/javafx/binding/BidirectionalBinding;
    MethodParameters:
           Name  Flags
      property1  
      property2  

  private static <T extends java.lang.Number> com.sun.javafx.binding.BidirectionalBinding bindNumber(javafx.beans.property.Property<T>, javafx.beans.property.Property<java.lang.Number>);
    descriptor: (Ljavafx/beans/property/Property;Ljavafx/beans/property/Property;)Lcom/sun/javafx/binding/BidirectionalBinding;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // javafx.beans.property.Property property1
        start local 1 // javafx.beans.property.Property property2
         0: .line 156
            aload 0 /* property1 */
            aload 1 /* property2 */
            invokestatic com.sun.javafx.binding.BidirectionalBinding.checkParameters:(Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 158
            new com.sun.javafx.binding.BidirectionalBinding$TypedNumberBidirectionalBinding
            dup
            aload 0 /* property1 */
            aload 1 /* property2 */
            invokespecial com.sun.javafx.binding.BidirectionalBinding$TypedNumberBidirectionalBinding.<init>:(Ljavafx/beans/property/Property;Ljavafx/beans/property/Property;)V
            astore 2 /* binding */
        start local 2 // com.sun.javafx.binding.BidirectionalBinding binding
         2: .line 160
            aload 0 /* property1 */
            aload 1 /* property2 */
            invokeinterface javafx.beans.property.Property.getValue:()Ljava/lang/Object;
            checkcast java.lang.Number
            invokeinterface javafx.beans.property.Property.setValue:(Ljava/lang/Object;)V
         3: .line 161
            aload 0 /* property1 */
            aload 2 /* binding */
            invokeinterface javafx.beans.property.Property.addListener:(Ljavafx/beans/value/ChangeListener;)V
         4: .line 162
            aload 1 /* property2 */
            aload 2 /* binding */
            invokeinterface javafx.beans.property.Property.addListener:(Ljavafx/beans/value/ChangeListener;)V
         5: .line 163
            aload 2 /* binding */
            areturn
        end local 2 // com.sun.javafx.binding.BidirectionalBinding binding
        end local 1 // javafx.beans.property.Property property2
        end local 0 // javafx.beans.property.Property property1
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0  property1  Ljavafx/beans/property/Property<TT;>;
            0    6     1  property2  Ljavafx/beans/property/Property<Ljava/lang/Number;>;
            2    6     2    binding  Lcom/sun/javafx/binding/BidirectionalBinding<Ljava/lang/Number;>;
    Signature: <T:Ljava/lang/Number;>(Ljavafx/beans/property/Property<TT;>;Ljavafx/beans/property/Property<Ljava/lang/Number;>;)Lcom/sun/javafx/binding/BidirectionalBinding;
    MethodParameters:
           Name  Flags
      property1  
      property2  

  public static <T extends java.lang.Number> void unbindNumber(javafx.beans.property.Property<T>, javafx.beans.property.Property<java.lang.Number>);
    descriptor: (Ljavafx/beans/property/Property;Ljavafx/beans/property/Property;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // javafx.beans.property.Property property1
        start local 1 // javafx.beans.property.Property property2
         0: .line 167
            aload 0 /* property1 */
            aload 1 /* property2 */
            invokestatic com.sun.javafx.binding.BidirectionalBinding.checkParameters:(Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 168
            new com.sun.javafx.binding.BidirectionalBinding$UntypedGenericBidirectionalBinding
            dup
            aload 0 /* property1 */
            aload 1 /* property2 */
            invokespecial com.sun.javafx.binding.BidirectionalBinding$UntypedGenericBidirectionalBinding.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            astore 2 /* binding */
        start local 2 // com.sun.javafx.binding.BidirectionalBinding binding
         2: .line 169
            aload 0 /* property1 */
            instanceof javafx.beans.value.ObservableValue
            ifeq 4
         3: .line 170
            aload 0 /* property1 */
            aload 2 /* binding */
            invokeinterface javafx.beans.value.ObservableValue.removeListener:(Ljavafx/beans/value/ChangeListener;)V
         4: .line 172
      StackMap locals: com.sun.javafx.binding.BidirectionalBinding
      StackMap stack:
            aload 1 /* property2 */
            instanceof javafx.beans.Observable
            ifeq 6
         5: .line 173
            aload 1 /* property2 */
            aload 2 /* binding */
            invokeinterface javafx.beans.value.ObservableValue.removeListener:(Ljavafx/beans/value/ChangeListener;)V
         6: .line 175
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.sun.javafx.binding.BidirectionalBinding binding
        end local 1 // javafx.beans.property.Property property2
        end local 0 // javafx.beans.property.Property property1
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0  property1  Ljavafx/beans/property/Property<TT;>;
            0    7     1  property2  Ljavafx/beans/property/Property<Ljava/lang/Number;>;
            2    7     2    binding  Lcom/sun/javafx/binding/BidirectionalBinding;
    Signature: <T:Ljava/lang/Number;>(Ljavafx/beans/property/Property<TT;>;Ljavafx/beans/property/Property<Ljava/lang/Number;>;)V
    MethodParameters:
           Name  Flags
      property1  
      property2  

  private void <init>(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.javafx.binding.BidirectionalBinding this
        start local 1 // java.lang.Object property1
        start local 2 // java.lang.Object property2
         0: .line 179
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 180
            aload 0 /* this */
            aload 1 /* property1 */
            invokevirtual java.lang.Object.hashCode:()I
            aload 2 /* property2 */
            invokevirtual java.lang.Object.hashCode:()I
            imul
            putfield com.sun.javafx.binding.BidirectionalBinding.cachedHashCode:I
         2: .line 181
            return
        end local 2 // java.lang.Object property2
        end local 1 // java.lang.Object property1
        end local 0 // com.sun.javafx.binding.BidirectionalBinding this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lcom/sun/javafx/binding/BidirectionalBinding<TT;>;
            0    3     1  property1  Ljava/lang/Object;
            0    3     2  property2  Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      property1  
      property2  

  protected abstract java.lang.Object getProperty1();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected abstract java.lang.Object getProperty2();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.javafx.binding.BidirectionalBinding this
         0: .line 189
            aload 0 /* this */
            getfield com.sun.javafx.binding.BidirectionalBinding.cachedHashCode:I
            ireturn
        end local 0 // com.sun.javafx.binding.BidirectionalBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/javafx/binding/BidirectionalBinding<TT;>;

  public boolean wasGarbageCollected();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.javafx.binding.BidirectionalBinding this
         0: .line 194
            aload 0 /* this */
            invokevirtual com.sun.javafx.binding.BidirectionalBinding.getProperty1:()Ljava/lang/Object;
            ifnull 1
            aload 0 /* this */
            invokevirtual com.sun.javafx.binding.BidirectionalBinding.getProperty2:()Ljava/lang/Object;
            ifnull 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // com.sun.javafx.binding.BidirectionalBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/javafx/binding/BidirectionalBinding<TT;>;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // com.sun.javafx.binding.BidirectionalBinding this
        start local 1 // java.lang.Object obj
         0: .line 199
            aload 0 /* this */
            aload 1 /* obj */
            if_acmpne 2
         1: .line 200
            iconst_1
            ireturn
         2: .line 203
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.javafx.binding.BidirectionalBinding.getProperty1:()Ljava/lang/Object;
            astore 2 /* propertyA1 */
        start local 2 // java.lang.Object propertyA1
         3: .line 204
            aload 0 /* this */
            invokevirtual com.sun.javafx.binding.BidirectionalBinding.getProperty2:()Ljava/lang/Object;
            astore 3 /* propertyA2 */
        start local 3 // java.lang.Object propertyA2
         4: .line 205
            aload 2 /* propertyA1 */
            ifnull 5
            aload 3 /* propertyA2 */
            ifnonnull 6
         5: .line 206
      StackMap locals: java.lang.Object java.lang.Object
      StackMap stack:
            iconst_0
            ireturn
         6: .line 209
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof com.sun.javafx.binding.BidirectionalBinding
            ifeq 16
         7: .line 210
            aload 1 /* obj */
            checkcast com.sun.javafx.binding.BidirectionalBinding
            astore 4 /* otherBinding */
        start local 4 // com.sun.javafx.binding.BidirectionalBinding otherBinding
         8: .line 211
            aload 4 /* otherBinding */
            invokevirtual com.sun.javafx.binding.BidirectionalBinding.getProperty1:()Ljava/lang/Object;
            astore 5 /* propertyB1 */
        start local 5 // java.lang.Object propertyB1
         9: .line 212
            aload 4 /* otherBinding */
            invokevirtual com.sun.javafx.binding.BidirectionalBinding.getProperty2:()Ljava/lang/Object;
            astore 6 /* propertyB2 */
        start local 6 // java.lang.Object propertyB2
        10: .line 213
            aload 5 /* propertyB1 */
            ifnull 11
            aload 6 /* propertyB2 */
            ifnonnull 12
        11: .line 214
      StackMap locals: com.sun.javafx.binding.BidirectionalBinding java.lang.Object java.lang.Object
      StackMap stack:
            iconst_0
            ireturn
        12: .line 217
      StackMap locals:
      StackMap stack:
            aload 2 /* propertyA1 */
            aload 5 /* propertyB1 */
            if_acmpne 14
            aload 3 /* propertyA2 */
            aload 6 /* propertyB2 */
            if_acmpne 14
        13: .line 218
            iconst_1
            ireturn
        14: .line 220
      StackMap locals:
      StackMap stack:
            aload 2 /* propertyA1 */
            aload 6 /* propertyB2 */
            if_acmpne 16
            aload 3 /* propertyA2 */
            aload 5 /* propertyB1 */
            if_acmpne 16
        15: .line 221
            iconst_1
            ireturn
        end local 6 // java.lang.Object propertyB2
        end local 5 // java.lang.Object propertyB1
        end local 4 // com.sun.javafx.binding.BidirectionalBinding otherBinding
        16: .line 224
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // java.lang.Object propertyA2
        end local 2 // java.lang.Object propertyA1
        end local 1 // java.lang.Object obj
        end local 0 // com.sun.javafx.binding.BidirectionalBinding this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Lcom/sun/javafx/binding/BidirectionalBinding<TT;>;
            0   17     1           obj  Ljava/lang/Object;
            3   17     2    propertyA1  Ljava/lang/Object;
            4   17     3    propertyA2  Ljava/lang/Object;
            8   16     4  otherBinding  Lcom/sun/javafx/binding/BidirectionalBinding;
            9   16     5    propertyB1  Ljava/lang/Object;
           10   16     6    propertyB2  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Ljavafx/beans/value/ChangeListener<TT;>;Ljavafx/beans/WeakListener;
SourceFile: "BidirectionalBinding.java"
NestMembers:
  com.sun.javafx.binding.BidirectionalBinding$BidirectionalBooleanBinding  com.sun.javafx.binding.BidirectionalBinding$BidirectionalDoubleBinding  com.sun.javafx.binding.BidirectionalBinding$BidirectionalFloatBinding  com.sun.javafx.binding.BidirectionalBinding$BidirectionalIntegerBinding  com.sun.javafx.binding.BidirectionalBinding$BidirectionalLongBinding  com.sun.javafx.binding.BidirectionalBinding$StringConversionBidirectionalBinding  com.sun.javafx.binding.BidirectionalBinding$StringConverterBidirectionalBinding  com.sun.javafx.binding.BidirectionalBinding$StringFormatBidirectionalBinding  com.sun.javafx.binding.BidirectionalBinding$TypedGenericBidirectionalBinding  com.sun.javafx.binding.BidirectionalBinding$TypedNumberBidirectionalBinding  com.sun.javafx.binding.BidirectionalBinding$UntypedGenericBidirectionalBinding
InnerClasses:
  private BidirectionalBooleanBinding = com.sun.javafx.binding.BidirectionalBinding$BidirectionalBooleanBinding of com.sun.javafx.binding.BidirectionalBinding
  private BidirectionalDoubleBinding = com.sun.javafx.binding.BidirectionalBinding$BidirectionalDoubleBinding of com.sun.javafx.binding.BidirectionalBinding
  private BidirectionalFloatBinding = com.sun.javafx.binding.BidirectionalBinding$BidirectionalFloatBinding of com.sun.javafx.binding.BidirectionalBinding
  private BidirectionalIntegerBinding = com.sun.javafx.binding.BidirectionalBinding$BidirectionalIntegerBinding of com.sun.javafx.binding.BidirectionalBinding
  private BidirectionalLongBinding = com.sun.javafx.binding.BidirectionalBinding$BidirectionalLongBinding of com.sun.javafx.binding.BidirectionalBinding
  public abstract StringConversionBidirectionalBinding = com.sun.javafx.binding.BidirectionalBinding$StringConversionBidirectionalBinding of com.sun.javafx.binding.BidirectionalBinding
  private StringConverterBidirectionalBinding = com.sun.javafx.binding.BidirectionalBinding$StringConverterBidirectionalBinding of com.sun.javafx.binding.BidirectionalBinding
  private StringFormatBidirectionalBinding = com.sun.javafx.binding.BidirectionalBinding$StringFormatBidirectionalBinding of com.sun.javafx.binding.BidirectionalBinding
  private TypedGenericBidirectionalBinding = com.sun.javafx.binding.BidirectionalBinding$TypedGenericBidirectionalBinding of com.sun.javafx.binding.BidirectionalBinding
  private TypedNumberBidirectionalBinding = com.sun.javafx.binding.BidirectionalBinding$TypedNumberBidirectionalBinding of com.sun.javafx.binding.BidirectionalBinding
  private UntypedGenericBidirectionalBinding = com.sun.javafx.binding.BidirectionalBinding$UntypedGenericBidirectionalBinding of com.sun.javafx.binding.BidirectionalBinding