rulebook-core/src/main/java/com/deliveredtechnologies/rulebook/RuleBook.java
public final void run() {
    if (_headRule.isPresent() == false) {
      defineRules();
    }
    _headRule.ifPresent(rule -> rule.given(_facts));
    _headRule.ifPresent(Rule::run);
  }
public final void run() {
    if (_headRule.isPresent() == false) {
      defineRules();
    }
    _headRule.ifPresent(rule -> rule.given(_facts));
    _headRule.ifPresent(Rule::run);
  }
The run() method adds the rules [via defineRules()] and runs the rules as long as at least one rule was
added.