// TODO allow all whitespaces in value!!!
final List<T> filtered = new ArrayList<>();
for (T obj : collection) {
if (ex.evaluate(obj)) {
filtered.add(obj);
// if the order is set we have to add all items before limiting
// the result
if (ex.getLimit() != -1 && ex.getOrder() == null