src/main/java/org/apereo/cas/security/RequestParameterPolicyEnforcementFilter.java
static Set<String> parseParametersList(final String initParamValue, final boolean allowWildcard) {

        final Set<String> parameterNames = new HashSet<String>();

        if (null == initParamValue) {
            return parameterNames;
        }

        final String[] tokens = initParamValue.split("\\s+");

        if (0 == tokens.length) {
            FilterUtils.logException(LOGGER, new IllegalArgumentException("[" + initParamValue +
                    "] had no tokens but should have had at least one token."));
        }

        if (1 == tokens.length && "*".equals(tokens[0]) && allowWildcard) {
            return parameterNames;
        }

        for (final String parameterName : tokens) {

            if ("*".equals(parameterName)) {
                FilterUtils.logException(LOGGER, new IllegalArgumentException("Star token encountered among other tokens in parsing [" + initParamValue + "]"));
            }

            parameterNames.add(parameterName);
        }

        return parameterNames;
    }
static Set<String> parseParametersList(final String initParamValue, final boolean allowWildcard) {

        final Set<String> parameterNames = new HashSet<String>();

        if (null == initParamValue) {
            return parameterNames;
        }

        final String[] tokens = initParamValue.split("\\s+");

        if (0 == tokens.length) {
            FilterUtils.logException(LOGGER, new IllegalArgumentException("[" + initParamValue +
                    "] had no tokens but should have had at least one token."));
        }

        if (1 == tokens.length && "*".equals(tokens[0]) && allowWildcard) {
            return parameterNames;
        }

        for (final String parameterName : tokens) {

            if ("*".equals(parameterName)) {
                FilterUtils.logException(LOGGER, new IllegalArgumentException("Star token encountered among other tokens in parsing [" + initParamValue + "]"));
            }

            parameterNames.add(parameterName);
        }

        return parameterNames;
    }
Parse the whitespace delimited String of parameters to check.
<p>
If the String is null, return the empty set.
If the whitespace delimited String contains no tokens, throw IllegalArgumentException.
If the sole token is an asterisk, return the empty set.
If the asterisk token is encountered among other tokens, throw IllegalArgumentException.
<p>
This method returning an empty Set has the special meaning of "check all parameters".
<p>
This is a stateless static method.
<p>
This method is an implementation detail and is not exposed API.
This method is only non-private to allow JUnit testing.

@param initParamValue null, or a non-blank whitespace delimited list of parameters to check
@param allowWildcard  whether a wildcard is allowed instead of the parameters list
@return a Set of String names of parameters to check, or an empty set representing check-them-all.
@throws IllegalArgumentException when the init param value is out of spec