@Override
        public Object dispatch(Node nd, java.util.Stack<Node> stack,
                               Object... nodeOutputs) {
          ((ASTNode) nd).setOrigin(viewOrigin);
          return null;
        }
Gets the staging directory where MR files will be stored temporary.
It walks through the QB plan to find the correct location where save temporary files. This
temporary location (or staging directory) may be created inside encrypted tables locations for
security reasons. If the QB has read-only tables, then the older scratch directory will be used,
or a permission error will be thrown if the requested query table is encrypted and the old scratch
directory is not.

@param qb The QB object that contains a list of all table locations.
@return The path to the staging directory.
@throws HiveException If an error occurs while identifying the correct staging location.
ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java