if (!context.getProblems().hasErrors()) {
// Optimize the plan ...
start = System.nanoTime();
PlanNode optimizedPlan = optimizer.optimize(context, plan);
duration = System.nanoTime() - start;
stats = stats.withOptimizationTime(duration);
// Find the query result columns ...
start = System.nanoTime();
resultColumns = determineQueryResultColumns(optimizedPlan, context.getHints());
duration = System.nanoTime() - start;