I am not sure this change is always "in tune" with the current idioms we employ. For example, when allocating compiler nodes using the factory method, e.g.
prnRSN = (RowCountNode)getNodeFactory().getNode(
the pattern has always been to cast to the class corresponding to the nodetype, i.e. ROW_COUNT_NODE, although we don't not always need the specialized node version at the point where it is being created. Perhaps it would be beneficial to stick to this established pattern to avoid introducing errors? I don't see the need to change this a priori?