Fábrica de controladores personalizados JavaFX

He estado experimentando con elFXMLLoader&nbsp;y usando elsetControllerFactory&nbsp;método usando una costumbreCallback<P,R>&nbsp;implementación.

La documentación de ORACLE&nbsp;Dice lo siguiente:

Una implementación puede devolver un valor nulo para indicar que no crea o no puede crear un controlador del tipo dado; en este caso, el mecanismo de construcción del controlador predeterminado será empleado por el cargador.

El resultado que quiero lograr es que puedo usar un marco de inyección de dependencias para crear cualquier controlador que requiera parámetros, pero dejaré queFXMLLoader&nbsp;Cargue cualquier controlador que no requiera parámetros.

Así que si tengo el siguiente archivo FXML simple que utiliza elViewController&nbsp;clase que no acepta parametros ...

<StackPane fx:id="pane"
          xmlns:fx="http://javafx.com/fxml"
          fx:controller="my.package.ViewController">
</StackPane>

y utilizo la siguiente implementación de fábrica del controlador simple para señalar alFXMLLoader&nbsp;que quiero que gestione la construcción del controlador en este caso ...

loader.setControllerFactory(new Callback<Class<?>, Object>(){
    @Override
    public Object Call(Class<?> type) {
        return null; // Let the FXMLLoader handle construction...
    }
});

después de llamar alload()&nbsp;Método de mi método de Inicializar en elViewController&nbsp;La clase nunca se llama (he verificado esto con un punto de interrupción).

Si cambio la implementación de mi controlador de fábrica para devolver una instancia deViewController&nbsp;clase entonces todo funciona como se espera.

¿Alguien puede ayudarme a aclarar mi confusión? Estoy usando elCallback&nbsp;¿Interfaz incorrecta o la documentación de ORACLE es incorrecta?