@Override
  protected void walk(Node nd) throws SemanticException {
    List<? extends Node> children = nd.getChildren();

    // maintain the stack of operators encountered
    opStack.push(nd);
    Boolean result = dispatchAndReturn(nd, opStack);

    // kids of reduce sink operator or mapjoin operators merged into root task
    // need not be traversed again
    if (children == null || result == Boolean.FALSE) {
      opStack.pop();
      return;
    }

    // move all the children to the front of queue
    for (Node ch : children) {
      walk(ch);
    }

    // done with this operator
    opStack.pop();
  }
Walk the given operator.

@param nd
         operator being walked
ql/src/java/org/apache/hadoop/hive/ql/parse/GenMapRedWalker.java