// Run the optimizer
MyPlanOptimizer optimizer = new MyPlanOptimizer(newPlan, ls, 3);
optimizer.addPlanTransformListener(new ProjectionPatcher());
optimizer.addPlanTransformListener(new SchemaPatcher());
optimizer.optimize();
return newPlan;
}catch(Exception e) {
throw new VisitorException(e);
}