class PropertyValuesPredicateEvaluator implements PredicateEvaluator {

    protected List<String> getValues(final String data, final List<String> delimiters) {
        if (delimiters.size() == 0) {
            return ImmutableList.<String>builder().add(data).build();
        }

        final String regex = delimiters.stream()
                .filter(StringUtils::isNotBlank)
                .collect(Collectors.joining("|"));

        final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);

        if (data == null) {
            return Collections.emptyList();
        }

        return Arrays.stream(pattern.split(data))
                .map(StringUtils::trimToNull)
                .filter(Objects::nonNull)
                .collect(Collectors.toList());
    }

}