@Override
public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx procCtx,
Object... nodeOutputs) throws SemanticException {
Operator<? extends OperatorDesc> op = (Operator<? extends OperatorDesc>) nd;
OperatorDesc conf = op.getConf();
AnnotateStatsProcCtx aspCtx = (AnnotateStatsProcCtx) procCtx;
HiveConf hconf = aspCtx.getConf();
if (conf != null) {
Statistics stats = conf.getStatistics();
if (stats == null) {
if (op.getParentOperators() != null) {
// if parent statistics is null then that branch of the tree is not
// walked yet. don't update the stats until all branches are walked