public static ArrayList<ExprNodeDesc> backtrack(List<ExprNodeDesc> sources,
      Operator<?> current, Operator<?> terminal) throws SemanticException {
    return backtrack(sources, current, terminal, false);
  }
Convert expressions in current operator to those in terminal operator, which
is an ancestor of current or null (back to top operator).
Possibly contain null values for non-traceable exprs
ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeDescUtils.java