The calls to `matches()` are actually on two different branches, any invocation of `perform()` will only call `matches()` once.