@Override
	public ObjectJS executeJson(ActionContext context, StringifierFactory jsonStringifierFactory, Simon simon) {
		ObjectJS callTreeJS;
		if (isCallTreeCallbackRegistered(context)) {
			CallTree callTree = getData(simon);
			if (callTree == null) {
				callTreeJS = jsonMessage(NO_DATA_MESSAGE, jsonStringifierFactory);
			} else {
				callTreeJS = ObjectJS.create(callTree, jsonStringifierFactory);
				callTreeJS.setAttribute("rootNode", jsonTreeNode(callTree.getRootNode(), jsonStringifierFactory));
			}
		} else {
			callTreeJS = jsonMessage(NO_CALLBACK_MESSAGE, jsonStringifierFactory);
		}
		return callTreeJS;
	}
@ Override public ObjectJS executeJson ( ActionContext context , StringifierFactory jsonStringifierFactory , Simon simon ) { ObjectJS callTreeJS ; if ( isCallTreeCallbackRegistered ( context ) ) { CallTree callTree = getData ( simon ) ; if ( callTree == null ) { callTreeJS = jsonMessage ( NO_DATA_MESSAGE , jsonStringifierFactory ) ; } else { callTreeJS = ObjectJS . create ( callTree , jsonStringifierFactory ) ; callTreeJS . setAttribute ( "rootNode" , jsonTreeNode ( callTree . getRootNode ( ) , jsonStringifierFactory ) ) ; } } else { callTreeJS = jsonMessage ( NO_CALLBACK_MESSAGE , jsonStringifierFactory ) ; } return callTreeJS ; }
Generate a JSON call tree object or an error string if no call tree