//do no use DistributedRulePackage if not using Subgraph Submission ...
if (!useSG) {
final Date a = new Date();
this.setBindingsVariablesBasedOnOperatorgraph();
final LogicalOptimizationRulePackage refie = new LogicalOptimizationRulePackage();
refie.applyRules(this.root);
this.root.optimizeJoinOrder(this.opt);
final LogicalOptimizationRulePackage refie2 = new LogicalOptimizationRulePackage();
refie2.applyRules(this.root);
this.parallelOperator(this.root);
return ((new Date()).getTime() - a.getTime());