sclass ExecutedRule { RuleWithParams rule; LS output; LS facts; LS newInput; Exp remainingCondition; // != null <=> rule not executed *() {} *(RuleWithParams *rule, Collection output, Collection facts, Collection newInput) { this.output = asList_nullIfEmpty(output); this.facts = asList_nullIfEmpty(facts); this.newInput = asList_nullIfEmpty(newInput); } }