public class javafx.beans.binding.When
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: javafx.beans.binding.When
  super_class: java.lang.Object
{
  private final javafx.beans.value.ObservableBooleanValue condition;
    descriptor: Ljavafx/beans/value/ObservableBooleanValue;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(javafx.beans.value.ObservableBooleanValue);
    descriptor: (Ljavafx/beans/value/ObservableBooleanValue;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javafx.beans.binding.When this
        start local 1 // javafx.beans.value.ObservableBooleanValue condition
         0: .line 72
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 73
            aload 1 /* condition */
            ifnonnull 3
         2: .line 74
            new java.lang.NullPointerException
            dup
            ldc "Condition must be specified."
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 76
      StackMap locals: javafx.beans.binding.When javafx.beans.value.ObservableBooleanValue
      StackMap stack:
            aload 0 /* this */
            aload 1 /* condition */
            putfield javafx.beans.binding.When.condition:Ljavafx/beans/value/ObservableBooleanValue;
         4: .line 77
            return
        end local 1 // javafx.beans.value.ObservableBooleanValue condition
        end local 0 // javafx.beans.binding.When this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Ljavafx/beans/binding/When;
            0    5     1  condition  Ljavafx/beans/value/ObservableBooleanValue;
    RuntimeVisibleParameterAnnotations: 
      0:
        javafx.beans.NamedArg(value = "condition")
    MethodParameters:
           Name  Flags
      condition  final

  private static javafx.beans.binding.NumberBinding createNumberCondition(javafx.beans.value.ObservableBooleanValue, javafx.beans.value.ObservableNumberValue, javafx.beans.value.ObservableNumberValue);
    descriptor: (Ljavafx/beans/value/ObservableBooleanValue;Ljavafx/beans/value/ObservableNumberValue;Ljavafx/beans/value/ObservableNumberValue;)Ljavafx/beans/binding/NumberBinding;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // javafx.beans.value.ObservableBooleanValue condition
        start local 1 // javafx.beans.value.ObservableNumberValue thenValue
        start local 2 // javafx.beans.value.ObservableNumberValue otherwiseValue
         0: .line 120
            aload 1 /* thenValue */
            instanceof javafx.beans.value.ObservableDoubleValue
            ifne 1
            aload 2 /* otherwiseValue */
            instanceof javafx.beans.value.ObservableDoubleValue
            ifeq 2
         1: .line 121
      StackMap locals:
      StackMap stack:
            new javafx.beans.binding.When$1
            dup
            aload 0 /* condition */
            aload 1 /* thenValue */
            aload 2 /* otherwiseValue */
            invokespecial javafx.beans.binding.When$1.<init>:(Ljavafx/beans/value/ObservableBooleanValue;Ljavafx/beans/value/ObservableNumberValue;Ljavafx/beans/value/ObservableNumberValue;)V
            areturn
         2: .line 149
      StackMap locals:
      StackMap stack:
            aload 1 /* thenValue */
            instanceof javafx.beans.value.ObservableFloatValue
            ifne 3
            aload 2 /* otherwiseValue */
            instanceof javafx.beans.value.ObservableFloatValue
            ifeq 4
         3: .line 150
      StackMap locals:
      StackMap stack:
            new javafx.beans.binding.When$2
            dup
            aload 0 /* condition */
            aload 1 /* thenValue */
            aload 2 /* otherwiseValue */
            invokespecial javafx.beans.binding.When$2.<init>:(Ljavafx/beans/value/ObservableBooleanValue;Ljavafx/beans/value/ObservableNumberValue;Ljavafx/beans/value/ObservableNumberValue;)V
            areturn
         4: .line 178
      StackMap locals:
      StackMap stack:
            aload 1 /* thenValue */
            instanceof javafx.beans.value.ObservableLongValue
            ifne 5
            aload 2 /* otherwiseValue */
            instanceof javafx.beans.value.ObservableLongValue
            ifeq 6
         5: .line 179
      StackMap locals:
      StackMap stack:
            new javafx.beans.binding.When$3
            dup
            aload 0 /* condition */
            aload 1 /* thenValue */
            aload 2 /* otherwiseValue */
            invokespecial javafx.beans.binding.When$3.<init>:(Ljavafx/beans/value/ObservableBooleanValue;Ljavafx/beans/value/ObservableNumberValue;Ljavafx/beans/value/ObservableNumberValue;)V
            areturn
         6: .line 208
      StackMap locals:
      StackMap stack:
            new javafx.beans.binding.When$4
            dup
            aload 0 /* condition */
            aload 1 /* thenValue */
            aload 2 /* otherwiseValue */
            invokespecial javafx.beans.binding.When$4.<init>:(Ljavafx/beans/value/ObservableBooleanValue;Ljavafx/beans/value/ObservableNumberValue;Ljavafx/beans/value/ObservableNumberValue;)V
            areturn
        end local 2 // javafx.beans.value.ObservableNumberValue otherwiseValue
        end local 1 // javafx.beans.value.ObservableNumberValue thenValue
        end local 0 // javafx.beans.value.ObservableBooleanValue condition
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0       condition  Ljavafx/beans/value/ObservableBooleanValue;
            0    7     1       thenValue  Ljavafx/beans/value/ObservableNumberValue;
            0    7     2  otherwiseValue  Ljavafx/beans/value/ObservableNumberValue;
    MethodParameters:
                Name  Flags
      condition       final
      thenValue       final
      otherwiseValue  final

  public javafx.beans.binding.When$NumberConditionBuilder then(javafx.beans.value.ObservableNumberValue);
    descriptor: (Ljavafx/beans/value/ObservableNumberValue;)Ljavafx/beans/binding/When$NumberConditionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // javafx.beans.binding.When this
        start local 1 // javafx.beans.value.ObservableNumberValue thenValue
         0: .line 325
            aload 1 /* thenValue */
            ifnonnull 2
         1: .line 326
            new java.lang.NullPointerException
            dup
            ldc "Value needs to be specified"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 328
      StackMap locals:
      StackMap stack:
            new javafx.beans.binding.When$NumberConditionBuilder
            dup
            aload 0 /* this */
            aload 1 /* thenValue */
            invokespecial javafx.beans.binding.When$NumberConditionBuilder.<init>:(Ljavafx/beans/binding/When;Ljavafx/beans/value/ObservableNumberValue;)V
            areturn
        end local 1 // javafx.beans.value.ObservableNumberValue thenValue
        end local 0 // javafx.beans.binding.When this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Ljavafx/beans/binding/When;
            0    3     1  thenValue  Ljavafx/beans/value/ObservableNumberValue;
    MethodParameters:
           Name  Flags
      thenValue  final

  public javafx.beans.binding.When$NumberConditionBuilder then(double);
    descriptor: (D)Ljavafx/beans/binding/When$NumberConditionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // javafx.beans.binding.When this
        start local 1 // double thenValue
         0: .line 340
            new javafx.beans.binding.When$NumberConditionBuilder
            dup
            aload 0 /* this */
            dload 1 /* thenValue */
            invokestatic com.sun.javafx.binding.DoubleConstant.valueOf:(D)Lcom/sun/javafx/binding/DoubleConstant;
            invokespecial javafx.beans.binding.When$NumberConditionBuilder.<init>:(Ljavafx/beans/binding/When;Ljavafx/beans/value/ObservableNumberValue;)V
            areturn
        end local 1 // double thenValue
        end local 0 // javafx.beans.binding.When this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Ljavafx/beans/binding/When;
            0    1     1  thenValue  D
    MethodParameters:
           Name  Flags
      thenValue  

  public javafx.beans.binding.When$NumberConditionBuilder then(float);
    descriptor: (F)Ljavafx/beans/binding/When$NumberConditionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // javafx.beans.binding.When this
        start local 1 // float thenValue
         0: .line 352
            new javafx.beans.binding.When$NumberConditionBuilder
            dup
            aload 0 /* this */
            fload 1 /* thenValue */
            invokestatic com.sun.javafx.binding.FloatConstant.valueOf:(F)Lcom/sun/javafx/binding/FloatConstant;
            invokespecial javafx.beans.binding.When$NumberConditionBuilder.<init>:(Ljavafx/beans/binding/When;Ljavafx/beans/value/ObservableNumberValue;)V
            areturn
        end local 1 // float thenValue
        end local 0 // javafx.beans.binding.When this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Ljavafx/beans/binding/When;
            0    1     1  thenValue  F
    MethodParameters:
           Name  Flags
      thenValue  

  public javafx.beans.binding.When$NumberConditionBuilder then(long);
    descriptor: (J)Ljavafx/beans/binding/When$NumberConditionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // javafx.beans.binding.When this
        start local 1 // long thenValue
         0: .line 364
            new javafx.beans.binding.When$NumberConditionBuilder
            dup
            aload 0 /* this */
            lload 1 /* thenValue */
            invokestatic com.sun.javafx.binding.LongConstant.valueOf:(J)Lcom/sun/javafx/binding/LongConstant;
            invokespecial javafx.beans.binding.When$NumberConditionBuilder.<init>:(Ljavafx/beans/binding/When;Ljavafx/beans/value/ObservableNumberValue;)V
            areturn
        end local 1 // long thenValue
        end local 0 // javafx.beans.binding.When this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Ljavafx/beans/binding/When;
            0    1     1  thenValue  J
    MethodParameters:
           Name  Flags
      thenValue  

  public javafx.beans.binding.When$NumberConditionBuilder then(int);
    descriptor: (I)Ljavafx/beans/binding/When$NumberConditionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // javafx.beans.binding.When this
        start local 1 // int thenValue
         0: .line 376
            new javafx.beans.binding.When$NumberConditionBuilder
            dup
            aload 0 /* this */
            iload 1 /* thenValue */
            invokestatic com.sun.javafx.binding.IntegerConstant.valueOf:(I)Lcom/sun/javafx/binding/IntegerConstant;
            invokespecial javafx.beans.binding.When$NumberConditionBuilder.<init>:(Ljavafx/beans/binding/When;Ljavafx/beans/value/ObservableNumberValue;)V
            areturn
        end local 1 // int thenValue
        end local 0 // javafx.beans.binding.When this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Ljavafx/beans/binding/When;
            0    1     1  thenValue  I
    MethodParameters:
           Name  Flags
      thenValue  

  public javafx.beans.binding.When$BooleanConditionBuilder then(javafx.beans.value.ObservableBooleanValue);
    descriptor: (Ljavafx/beans/value/ObservableBooleanValue;)Ljavafx/beans/binding/When$BooleanConditionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // javafx.beans.binding.When this
        start local 1 // javafx.beans.value.ObservableBooleanValue thenValue
         0: .line 530
            aload 1 /* thenValue */
            ifnonnull 2
         1: .line 531
            new java.lang.NullPointerException
            dup
            ldc "Value needs to be specified"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 533
      StackMap locals:
      StackMap stack:
            new javafx.beans.binding.When$BooleanConditionBuilder
            dup
            aload 0 /* this */
            aload 1 /* thenValue */
            invokespecial javafx.beans.binding.When$BooleanConditionBuilder.<init>:(Ljavafx/beans/binding/When;Ljavafx/beans/value/ObservableBooleanValue;)V
            areturn
        end local 1 // javafx.beans.value.ObservableBooleanValue thenValue
        end local 0 // javafx.beans.binding.When this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Ljavafx/beans/binding/When;
            0    3     1  thenValue  Ljavafx/beans/value/ObservableBooleanValue;
    MethodParameters:
           Name  Flags
      thenValue  final

  public javafx.beans.binding.When$BooleanConditionBuilder then(boolean);
    descriptor: (Z)Ljavafx/beans/binding/When$BooleanConditionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // javafx.beans.binding.When this
        start local 1 // boolean thenValue
         0: .line 545
            new javafx.beans.binding.When$BooleanConditionBuilder
            dup
            aload 0 /* this */
            iload 1 /* thenValue */
            invokespecial javafx.beans.binding.When$BooleanConditionBuilder.<init>:(Ljavafx/beans/binding/When;Z)V
            areturn
        end local 1 // boolean thenValue
        end local 0 // javafx.beans.binding.When this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Ljavafx/beans/binding/When;
            0    1     1  thenValue  Z
    MethodParameters:
           Name  Flags
      thenValue  final

  public javafx.beans.binding.When$StringConditionBuilder then(javafx.beans.value.ObservableStringValue);
    descriptor: (Ljavafx/beans/value/ObservableStringValue;)Ljavafx/beans/binding/When$StringConditionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // javafx.beans.binding.When this
        start local 1 // javafx.beans.value.ObservableStringValue thenValue
         0: .line 698
            aload 1 /* thenValue */
            ifnonnull 2
         1: .line 699
            new java.lang.NullPointerException
            dup
            ldc "Value needs to be specified"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 701
      StackMap locals:
      StackMap stack:
            new javafx.beans.binding.When$StringConditionBuilder
            dup
            aload 0 /* this */
            aload 1 /* thenValue */
            invokespecial javafx.beans.binding.When$StringConditionBuilder.<init>:(Ljavafx/beans/binding/When;Ljavafx/beans/value/ObservableStringValue;)V
            areturn
        end local 1 // javafx.beans.value.ObservableStringValue thenValue
        end local 0 // javafx.beans.binding.When this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Ljavafx/beans/binding/When;
            0    3     1  thenValue  Ljavafx/beans/value/ObservableStringValue;
    MethodParameters:
           Name  Flags
      thenValue  final

  public javafx.beans.binding.When$StringConditionBuilder then(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavafx/beans/binding/When$StringConditionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // javafx.beans.binding.When this
        start local 1 // java.lang.String thenValue
         0: .line 713
            new javafx.beans.binding.When$StringConditionBuilder
            dup
            aload 0 /* this */
            aload 1 /* thenValue */
            invokespecial javafx.beans.binding.When$StringConditionBuilder.<init>:(Ljavafx/beans/binding/When;Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String thenValue
        end local 0 // javafx.beans.binding.When this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Ljavafx/beans/binding/When;
            0    1     1  thenValue  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      thenValue  final

  public <T> javafx.beans.binding.When$ObjectConditionBuilder<T> then(javafx.beans.value.ObservableObjectValue<T>);
    descriptor: (Ljavafx/beans/value/ObservableObjectValue;)Ljavafx/beans/binding/When$ObjectConditionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // javafx.beans.binding.When this
        start local 1 // javafx.beans.value.ObservableObjectValue thenValue
         0: .line 870
            aload 1 /* thenValue */
            ifnonnull 2
         1: .line 871
            new java.lang.NullPointerException
            dup
            ldc "Value needs to be specified"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 873
      StackMap locals:
      StackMap stack:
            new javafx.beans.binding.When$ObjectConditionBuilder
            dup
            aload 0 /* this */
            aload 1 /* thenValue */
            invokespecial javafx.beans.binding.When$ObjectConditionBuilder.<init>:(Ljavafx/beans/binding/When;Ljavafx/beans/value/ObservableObjectValue;)V
            areturn
        end local 1 // javafx.beans.value.ObservableObjectValue thenValue
        end local 0 // javafx.beans.binding.When this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Ljavafx/beans/binding/When;
            0    3     1  thenValue  Ljavafx/beans/value/ObservableObjectValue<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljavafx/beans/value/ObservableObjectValue<TT;>;)Ljavafx/beans/binding/When$ObjectConditionBuilder<TT;>;
    MethodParameters:
           Name  Flags
      thenValue  final

  public <T> javafx.beans.binding.When$ObjectConditionBuilder<T> then(T);
    descriptor: (Ljava/lang/Object;)Ljavafx/beans/binding/When$ObjectConditionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // javafx.beans.binding.When this
        start local 1 // java.lang.Object thenValue
         0: .line 886
            new javafx.beans.binding.When$ObjectConditionBuilder
            dup
            aload 0 /* this */
            aload 1 /* thenValue */
            invokespecial javafx.beans.binding.When$ObjectConditionBuilder.<init>:(Ljavafx/beans/binding/When;Ljava/lang/Object;)V
            areturn
        end local 1 // java.lang.Object thenValue
        end local 0 // javafx.beans.binding.When this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Ljavafx/beans/binding/When;
            0    1     1  thenValue  TT;
    Signature: <T:Ljava/lang/Object;>(TT;)Ljavafx/beans/binding/When$ObjectConditionBuilder<TT;>;
    MethodParameters:
           Name  Flags
      thenValue  final
}
SourceFile: "When.java"
NestMembers:
  javafx.beans.binding.When$1  javafx.beans.binding.When$2  javafx.beans.binding.When$3  javafx.beans.binding.When$4  javafx.beans.binding.When$BooleanCondition  javafx.beans.binding.When$BooleanConditionBuilder  javafx.beans.binding.When$NumberConditionBuilder  javafx.beans.binding.When$ObjectCondition  javafx.beans.binding.When$ObjectConditionBuilder  javafx.beans.binding.When$StringCondition  javafx.beans.binding.When$StringConditionBuilder  javafx.beans.binding.When$WhenListener
InnerClasses:
  javafx.beans.binding.When$1
  javafx.beans.binding.When$2
  javafx.beans.binding.When$3
  javafx.beans.binding.When$4
  private BooleanCondition = javafx.beans.binding.When$BooleanCondition of javafx.beans.binding.When
  public BooleanConditionBuilder = javafx.beans.binding.When$BooleanConditionBuilder of javafx.beans.binding.When
  public NumberConditionBuilder = javafx.beans.binding.When$NumberConditionBuilder of javafx.beans.binding.When
  private ObjectCondition = javafx.beans.binding.When$ObjectCondition of javafx.beans.binding.When
  public ObjectConditionBuilder = javafx.beans.binding.When$ObjectConditionBuilder of javafx.beans.binding.When
  private StringCondition = javafx.beans.binding.When$StringCondition of javafx.beans.binding.When
  public StringConditionBuilder = javafx.beans.binding.When$StringConditionBuilder of javafx.beans.binding.When
  private WhenListener = javafx.beans.binding.When$WhenListener of javafx.beans.binding.When