protected List<Matcher> computeMatchers(final CallContext ctx, final String matchersValue,
                                            final Map<String, Matcher> matchersMap, final List<Client> clients) {
        String matcherNames;
        if (StringUtils.isBlank(matchersValue)) {
            matcherNames = computeDefaultMatcherNames(ctx, clients, matchersMap);
        } else if (matchersValue.trim().startsWith(Pac4jConstants.ADD_ELEMENT)) {
            matcherNames = computeDefaultMatcherNames(ctx, clients, matchersMap) +
                Pac4jConstants.ELEMENT_SEPARATOR + StringUtils.substringAfter(matchersValue, Pac4jConstants.ADD_ELEMENT);
        } else {
            matcherNames = matchersValue;
        }
        return computeMatchersFromNames(matcherNames, matchersMap);
    }
<p>computeMatchers.</p>

@param ctx a {@link CallContext} object
@param matchersValue a {@link String} object
@param matchersMap a {@link Map} object
@param clients a {@link List} object
@return a {@link List} object
pac4j-core/src/main/java/org/pac4j/core/matching/checker/DefaultMatchingChecker.java