class PropertyValuesPredicateEvaluator implements PredicateEvaluator {

    protected List<String> getDelimiters(final Predicate predicate) {
        final List<String> delimiterValues = PredicateEvaluatorUtil.getValues(predicate, DELIMITER, true);

        if (delimiterValues.stream().anyMatch(DELIMITER_CODE_NONE::equals)) {
            // "None" is the in the list so do not process ANY of the delimiters
            return emptyList();
        }

        final List<String> delimiters = delimiterValues.stream()
                .map(this::resolveDelimiter)
                .filter(Objects::nonNull)
                .collect(Collectors.toList());

        if (delimiters.isEmpty() && cfg.delimiters_default() != null) {
            // If the delimiters is completely empty, then use the default list
            return Stream.of(cfg.delimiters_default()).map(Pattern::quote).collect(Collectors.toList());
        } else {
            // Else return the passed in delimiters
            return delimiters;
        }
    }

}