static L ai_ruleEngine2_rulesForInput_5_allConditions(RuleEngine2 engine, SS inputsByType, O... _) { L l = ai_ruleEngine2_rulesForInput_5(engine, inputsByType); new L done; new L notDone; bool debug = boolPar debug(_); while (nempty(notDone)) { l = notDone; notDone = new L; for (RuleEngine2_MatchedRule mr : l) { if (!mr.moreConditions()) { if (debug) print("Done: " + mr.ruleID); done.add(mr); } else { if (debug) print("Matching step " + mr.iCond + " in " + mr.ruleID); if (ai_ruleEngine2_matchStep(mr, inputsByType)) { if (debug) print("Step succeeded"); notDone.add(mr); } } } l = notDone; } ret done; }