public IRule GetOptimizedVersion(IRule rule){
     if (null == OptimizerExpert){
         return rule;
     }
     var c = new ContextBase();
     c.Params["preOptimizedExpert"] = rule;
     OptimizerExpert.Execute(c);
     return c.Params.Get<IRule>("optimizedExpert");
 }
 public static IRuleContext CreateContext(IMvcContext context){
     var result = new ContextBase();
     result.SetDescriptor(context);
     return result;
 }
 public static IRuleContext BuildContextWithCoreServices(){
     IRuleContext result = new ContextBase();
     InitCoreContextServices(result);
     return result;
 }