src/main/software/amazon/event/ruler/ACTask.java [52:74]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    boolean stepsRemain() {
        return !stepQueue.isEmpty();
    }

    List<Object> getMatchedRules() {
        return new ArrayList<>(matchingRules);
    }

    void collectRules(final Set<SubRuleContext> candidateSubRuleIds, final NameState nameState, final Patterns pattern,
                      final SubRuleContext.Generator subRuleContextGenerator) {
        Set<SubRuleContext> terminalSubRuleIds = nameState.getTerminalSubRuleIdsForPattern(pattern);
        if (terminalSubRuleIds == null) {
            return;
        }

        // If no candidates, that means we're on the first step, so all sub-rules are candidates.
        if (candidateSubRuleIds == null || candidateSubRuleIds.isEmpty()) {
            for (SubRuleContext terminalSubRuleId : terminalSubRuleIds) {
                matchingRules.add(terminalSubRuleId.getRuleName());
            }
        } else {
            intersection(candidateSubRuleIds, terminalSubRuleIds, matchingRules,
                    SubRuleContext::getRuleName);
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



src/main/software/amazon/event/ruler/Task.java [75:97]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    boolean stepsRemain() {
        return !stepQueue.isEmpty();
    }

    List<Object> getMatchedRules() {
        return new ArrayList<>(matchingRules);
    }

    void collectRules(final Set<SubRuleContext> candidateSubRuleIds, final NameState nameState, final Patterns pattern,
                      final SubRuleContext.Generator subRuleContextGenerator) {
        Set<SubRuleContext> terminalSubRuleIds = nameState.getTerminalSubRuleIdsForPattern(pattern);
        if (terminalSubRuleIds == null) {
            return;
        }

        // If no candidates, that means we're on the first step, so all sub-rules are candidates.
        if (candidateSubRuleIds == null || candidateSubRuleIds.isEmpty()) {
            for (SubRuleContext terminalSubRuleId : terminalSubRuleIds) {
                matchingRules.add(terminalSubRuleId.getRuleName());
            }
        } else {
            intersection(candidateSubRuleIds, terminalSubRuleIds, matchingRules,
                    SubRuleContext::getRuleName);
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



