if (debug && !rules.applicableTo(node).contains(rule)) {
throw new SomethingWidgyHappenedError(
rule.getName() + " should be applicable to " + node);
}
if (logging) { logResults(rule, node, result, null); }
result.makeImmutable();
return result;
}
} catch (RuntimeException ex) {
if (logging) { logResults(rule, node, null, ex); }
throw ex;