boolean (@NotNull MatchResult result) { boolean dispatched = false; for (MatchResult r : result.getChildren()) { if ((r.isScopeMatch() && !r.isTarget()) || r.isMultipleMatch()) { dispatched |= dispatchTargetMatch(r); } else if (r.isTarget()) { getSink().newMatch(r); dispatched = true; } } return dispatched; }