¿Cómo puedo saber si jsTree se ha cargado completamente?

Estoy tratando de escribir una función que abre nodos específicos en un jsTree pero tengo un problema donde la función se ejecuta antes de que mi árbol base se cargue desde la llamada ajax. ¿Cómo puedo saber si mis datos de jstree se han cargado y esperar hasta que se termine de cargar? A continuación se muestra la función que estoy tratando de utilizar.

function openNodes(tree, nodes) {
    for (i in nodes) {
        $('#navigation').jstree("open_node", $(nodes[i]));
    }
}

Estoy cargando mi árbol inicial con el siguiente comando

$("#navigation").jstree({
    "json_data": {
        "ajax": {
            "url": function(node) {
                var url;
                if (node == -1) {
                    url = "@Url.Action("BaseTreeItems", "Part")";
                } else {
                    url = node.attr('ajax');
                }
                return url;
            },
            "dataType": "text json",
            "contentType": "application/json charset=utf-8",
            "data": function(n) { return { id: n.attr ? n.attr("id") : 0, ajax: n.attr ? n.attr("ajax") : 0 }; },
            "success": function() {
            }
        }
    },
    "themes": { "theme": "classic" },
    "plugins": ["themes", "json_data", "ui"]
});

Respuestas a la pregunta(7)

Su respuesta a la pregunta