@Override
public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx procCtx,
Object... nodeOutputs) throws SemanticException {
ExprWalkerInfo ctx = (ExprWalkerInfo) procCtx;
String alias = null;
ExprNodeFieldDesc expr = (ExprNodeFieldDesc) nd;
boolean isCandidate = true;
assert (nd.getChildren().size() == 1);
ExprNodeDesc ch = (ExprNodeDesc) nd.getChildren().get(0);
ExprNodeDesc newCh = ctx.getConvertedNode(ch);
if (newCh != null) {
expr.setDesc(newCh);
ch = newCh;
}
String chAlias = ctx.getAlias(ch);
isCandidate = isCandidate && ctx.isCandidate(ch);