public static ExprNodeDesc genPruner(String tabAlias, ExprNodeDesc pred, Partition part)
      throws SemanticException {
    // Create the walker, the rules dispatcher and the context.
    NodeProcessorCtx lbprCtx = new LBExprProcCtx(tabAlias, part);

    Map<Node, Object> outputMap = PrunerUtils.walkExprTree(pred, lbprCtx, getColumnProcessor(),
        getFieldProcessor(), getGenericFuncProcessor(), getDefaultExprProcessor());

    // Get the exprNodeDesc corresponding to the first start node;
    return (ExprNodeDesc) outputMap.get(pred);
  }
Generates the list bucketing pruner for the expression tree.

@param tabAlias
         The table alias of the partition table that is being considered
         for pruning
@param pred
         The predicate from which the list bucketing pruner needs to be
         generated
@param part
         The partition this walker is walking
@throws SemanticException
ql/src/java/org/apache/hadoop/hive/ql/optimizer/listbucketingpruner/LBExprProcFactory.java