public Builder addRule(Rule rule) { List<Rule> rules = definitions.get(rule.getHead()); if (rules == null) { rules = new ArrayList<>(); definitions.put(rule.getHead(), rules); } rules.add(rule); this.rules.add(rule); return this; }