public void Start() { if (this.DatabaseModel == null) { this.BuildModel(); } RuleController ruleController = new RuleController(); //Filter out rules which should not run var filteredExes = this.Executables.GetExecutables().ToList(); filteredExes.RemoveAll(e => e.IsRule() && !this.RulesToRun.Contains(e)); //Create a new Rule Collection containing only the executables in filteredExes ExecutableCollection executables = new ExecutableCollection(filteredExes); ruleController.ExecutionFinished += new ExecutionFinishedHandler(RuleController_ExecutionFinished); ruleController.Execute(executables, this.DatabaseModel, this.TablesToCheck, new IssueCollector()); }