JavaFX TreeItem getChildren

Take a JavafX TreeItem: TreeItem<Foo> fooTreeItem = new TreeItem<>(aFoo); Why does the API for getChildren() insist on returning a list of TreeItem<Foo>? From the API for TreeItem<T>: ObservableList<T> getChildren() // […]