public RexNode analyzeRexNode(RexBuilder rexBuilder, RexNode condition) {
    // 1. We try to transform possible candidates
    RexTransformIntoInClause transformIntoInClause = new RexTransformIntoInClause(rexBuilder, minNumORClauses);
    RexNode newCondition = transformIntoInClause.apply(condition);

    // 2. We merge IN expressions
    RexMergeInClause mergeInClause = new RexMergeInClause(rexBuilder);
    newCondition = mergeInClause.apply(newCondition);

    // 3. Close BETWEEN expressions if possible
    RexTransformIntoBetween t = new RexTransformIntoBetween(rexBuilder);
    newCondition = t.apply(newCondition);
    return newCondition;
  }
Rule adapter to apply the transformation to Projections.
ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HivePointLookupOptimizerRule.java