@Override
    public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx procCtx,
        Object... nodeOutputs) throws SemanticException {
      if (nd instanceof ExprNodeConstantDesc) {
        return ((ExprNodeConstantDesc) nd).clone();
      }

      return new ExprNodeConstantDesc(((ExprNodeDesc)nd).getTypeInfo(), null);
    }
Processor for constants and null expressions. For such expressions the
processor simply clones the exprNodeDesc and returns it.
ql/src/java/org/apache/hadoop/hive/ql/optimizer/PrunerExpressionOperatorFactory.java