nl_tokens: Fired by the root node .
pl_tokens: function ( node , callback , <mask> , args ) { var me = this , reader , dataRoot , data , callbackArgs ; // Children are loaded go ahead with expand if ( node . isLoaded ( ) ) { callbackArgs = [ node . childNodes ] ; if ( args ) { callbackArgs . push . apply ( callbackArgs , args ) ; } Ext . callback ( callback , scope || node , callbackArgs ) ; } // There are unloaded child nodes in the raw data because of the lazy configuration, load them then call back. else if ( dataRoot = ( data = ( node . raw || node [ node . persistenceProperty ] ) [ ( reader = me . getProxy ( ) . getReader ( ) ) . root ] ) ) { me . fillNode ( node , reader . extractData ( dataRoot ) ) ; delete data [ reader . root ] ; callbackArgs = [ node . childNodes ] ; if ( args ) { callbackArgs . push . apply ( callbackArgs , args ) ; } Ext . callback ( callback , scope || node , callbackArgs ) ; } // The node is loading else if ( node . isLoading ( ) ) { me . on ( 'load' , function ( ) { callbackArgs = [ node . childNodes ] ; if ( args ) { callbackArgs . push . apply ( callbackArgs , args ) ; } Ext . callback ( callback , scope || node , callbackArgs ) ; } , me , { single : true } ) ; } // Node needs loading else { me . read ( { node : node , callback : function ( ) { // Clear the callback, since if we're introducing a custom one, // it may be re-used on reload delete me . lastOptions . callback ; callbackArgs = [ node . childNodes ] ; if ( args ) { callbackArgs . push . apply ( callbackArgs , args ) ; } Ext . callback ( callback , scope || node , callbackArgs ) ; } } ) ; } }