When binding an observable list to a normal list, and then removing the binding later with Bindings#unbindContent, the arguments must be in a specific order, even though unbindContent makes no such assertions. Providing them in the "wrong" order fails silently and the binding persists.
The issue was found in modules/javafx.base/src/main/java/com/sun/javafx/binding/ContentBinding.java where it expects the arguments to be in a certain order.
Sample program:
```
public static void main(String[] args) {
ObservableList<String> l = FXCollections.observableArrayList();
List<String> x = new ArrayList<>();
Bindings.bindContent(x, l);
Bindings.unbindContent(l, x);
l.add("A");
System.out.println(x);
}
```
This will still modify the array list x, even though it shouldn't.
The issue was found in modules/javafx.base/src/main/java/com/sun/javafx/binding/ContentBinding.java where it expects the arguments to be in a certain order.
Sample program:
```
public static void main(String[] args) {
ObservableList<String> l = FXCollections.observableArrayList();
List<String> x = new ArrayList<>();
Bindings.bindContent(x, l);
Bindings.unbindContent(l, x);
l.add("A");
System.out.println(x);
}
```
This will still modify the array list x, even though it shouldn't.