public IList <QueryResponse> FindModels() { Stack <ModelState> stack = new Stack <ModelState>(); var initialFluentValues = FluentsHelper.InitializeFluents(_extractionResult.Fluents.Count).ToList(); initialFluentValues.RemoveAll( x => !ObservationHelper.ValidateModelWithObservation(x, 0, _extractionResult, _scenarioId)); _queryExecutors = QueriesHelper.CreateQueryExecutors(_queries, initialFluentValues, _scenarioId); foreach (var fluents in initialFluentValues) { ProcessModel(new ModelState { Time = 0, Fluents = fluents, Action = null, OcclussionFluents = null }, stack); stack.Clear(); } return(_queryExecutors.Select(x => x.GetResponse()).ToList()); }