@SuppressWarnings("unchecked") private Predicate<Taggable> simple(final String simple) { if ("".equals(simple)) { return ALL_VALID; } final StringList split = StringList.split(simple, KEY_VALUE_SEPARATOR); if (split.size() != 2) { throw new CoreException("Taggable filter definition \"{}\" is invalid.", simple); } final String key = split.get(0); final StringList values = StringList.split(split.get(1), VALUES_SEPARATOR); return (Serializable & Predicate<Taggable>) taggable -> taggable.containsValue(key, values); } }