JavaFX: Botão de opção + CheckBox TreeView

em referência à minha pergunta anterioraqui, Eu fiz o código abaixo.

Estou tentando fazer uma exibição em árvore que mostra um botão de opção para folhas e caixas de seleção para itens que não são folhas. O código abaixo não mostra nada. Tenho certeza de que estou fazendo algo extremamente errado em algum lugar (ou em qualquer lugar). Qualquer ajuda é muito apreciada. obrigado

public class RadioCheckBoxTreeView extends TreeView {

public RadioCheckBoxTreeView() {

    setCellFactory(new Callback<TreeView<Object>, TreeCell<Object>>() {

        @Override
        public TreeCell<Object> call(TreeView<Object> param) {
            return new RadioCheckBoxCellImpl();
        }
    });
}

private static class RadioCheckBoxCellImpl extends TreeCell<Object> {

    private final CheckBox check = new CheckBox();
    private final RadioButton radio = new RadioButton();
    private Property<Boolean> prevRadioProp;

    public RadioCheckBoxCellImpl() {
    }

    {
        setContentDisplay(ContentDisplay.GRAPHIC_ONLY);
    }

    @Override
    public void updateItem(Object item, boolean empty) {
        if (prevRadioProp != null) {
            radio.selectedProperty().unbindBidirectional(prevRadioProp);
            prevRadioProp = null;
        }
        check.selectedProperty().unbind();

        if (!empty && item != null) {
            Property<Boolean> selectedProp = prevRadioProp;

            if (getTreeItem().isLeaf()) // display radio button
            {
                radio.setText("radio");
                radio.selectedProperty().bindBidirectional(selectedProp);
                prevRadioProp = selectedProp;
                setGraphic(radio);
            } else // display checkbox
            {
                check.setText("check");
                check.selectedProperty().bind(selectedProp);
                setGraphic(check);
            }
        } else {
            setGraphic(null);
            setText(null);
        }
    }

   }

é assim que meu método de inicialização se parece

public void start(Stage primaryStage) {


    AnchorPane pane = new AnchorPane();
    Scene scene = new Scene(pane);

    MyTreeView tv = new MyTreeView();
    tv.setRoot(new TreeItem());

    TreeItem child1 = new TreeItem();
    child1.setValue("1");

    TreeItem child2 = new TreeItem();
    child2.setValue("2");
    TreeItem child3 = new TreeItem();
    child3.setValue("3");

    tv.getRoot().getChildren().add(child1);
    tv.getRoot().getChildren().add(child2);
    child2.getChildren().add(child3);

    pane.getChildren().add(tv);
    primaryStage.setScene(scene);
    primaryStage.show();
}

questionAnswers(1)

yourAnswerToTheQuestion