public static ExprNodeDesc conjunction(List<ExprNodeDesc> nodes, ExprNodeDesc exprNode)
      throws UDFArgumentException {
    if (nodes == null) {
      return exprNode;
    }
    List<ExprNodeDesc> operands = new ArrayList<ExprNodeDesc>();
    if (exprNode != null) {
      operands.add(exprNode);
    }
    operands.addAll(nodes);
    return conjunction(operands);
  }
Checks wether the two expression sets have a common deterministic intersection.
ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeDescUtils.java