Можно написать свой матчер и там уже прямо все разделить
Кастомный матчер пробовал, и, насколько я понял, в случае несовпадения, при возврате null, навигация прекращается. То есть я ожидал, что первый матчер проверил, не подошел, и дальше навигация идет сверху вниз к следующему матчеру и т.д, а в итоге прекращается на возврате null из первого матчера. Может я не до конца разобрался