for (int filterIndex = 0, filterCount = filters.size(); filterIndex < filterCount; filterIndex++) {
Filter filter = filters.get(filterIndex);
FilterCriterion filterValue = (FilterCriterion) filter.getValue();
Predicate predicate = filterValue != null ? PredicateBuilder.build(filterValue) : null;
boolean filterAcceptsData = predicate == null || predicate.evaluate(data);
if (!filterAcceptsData)
rowAccepted = false;
flagsArray[filterIndex] = filterAcceptsData;
}