empty pattern rulesets are not traversed if a non-empty exists