// first, generate a plan for <stmt>
// and then, wrapper it with a special ExplainPlan plan
// whose execution will result in an explain plan rather
// than a normal execution of the statement.
plan = doSemanticAnalysis((CommonTree)(ast.getChild(0)));
plan = new ExplainPlan(plan);
break;
default:
// Unhandled AST node. Raise an internal error.
throw new SemanticException(CompilerErrorMsg.INTERNAL_ERROR.getMsg(ast, "Unknown Node Type: " + ast.getType()));
}