nl_tokens: this is where the real resume / init happens
pl_tokens: function ( err , result ) { if ( err ) { cb0 ( err ) ; } else { var retErr = null ; /*
                               * Errors during init or resume are mapped to
                               *  system or app errors that abort initialization.
                               *
                               * This is not enough, it leaves the CA in an
                               * uninitialized state, and errors get ignored.
                               *
                               * Instead we need to shutdown the CA, and propagate
                               * errors in the callback.
                               */ if ( json_rpc . isSystemError ( result ) || ( json_rpc . getAppReplyError ( result ) ) ) { retErr = <mask> ; } async . series ( [ function ( cb2 ) { if ( retErr ) { that . __ca_shutdown__ ( null , cb2 ) ; } else { cb2 ( null ) ; } } ] , function ( errIgnore ) { // ignore shutdown failure if ( errIgnore ) { retErr . shutdownError = errIgnore ; } cb0 ( retErr , result ) ; } ) ; } }