optimizerList.add(new SameTermFilterOptimizer());
optimizerList.add(new QueryModelPruner());
optimizerList.add(new QueryJoinOptimizer(new MemEvaluationStatistics()));
optimizerList.add(new FilterOptimizer());
optimizerList.optimize(tupleExpr, dataset, bindings);
CloseableIteration<BindingSet, QueryEvaluationException> iter;
iter = strategy.evaluate(tupleExpr, bindings);
return new LockingIteration<BindingSet, QueryEvaluationException>(stLock, iter);
}