The problem is that nodes stores a bunch of ConjureTemplateNodes nodes that only support the generate() method (This is mainly from housejester's implementation). So, when time comes to print, all you can do is generate as a string. 

CardinalityNodeList on the other hand is composed of CardinalityNodes and supports a generateEvent() method that outputs a Map object as an event. Druid code actually doesn't touch the nodes Map. As soon as the code realizes you have inputted a json file with my specs, it just creates a nodeList and works from there.