public void merge(ExprWalkerInfo ewi) {
    if (ewi == null) {
      return;
    }
    for (Entry<String, List<ExprNodeDesc>> e : ewi.getFinalCandidates()
        .entrySet()) {
      List<ExprNodeDesc> predList = pushdownPreds.get(e.getKey());
      if (predList != null) {
        predList.addAll(e.getValue());
      } else {
        pushdownPreds.put(e.getKey(), e.getValue());
      }
    }
    for (Entry<String, List<ExprNodeDesc>> e : ewi.getNonFinalCandidates()
        .entrySet()) {
      List<ExprNodeDesc> predList = nonFinalPreds.get(e.getKey());
      if (predList != null) {
        predList.addAll(e.getValue());
      } else {
        nonFinalPreds.put(e.getKey(), e.getValue());
      }
    }
    newToOldExprMap.putAll(ewi.getNewToOldExprMap());
  }
Merges the specified pushdown predicates with the current class.

@param ewi
         ExpressionWalkerInfo
ql/src/java/org/apache/hadoop/hive/ql/ppd/ExprWalkerInfo.java