} else {
// X minus FALSE --> X
return this;
}
}
StarColumnPredicate columnPredicate = (StarColumnPredicate) predicate;
List<StarColumnPredicate> newChildren =
new ArrayList<StarColumnPredicate>(children);
int changeCount = 0;
final Iterator<StarColumnPredicate> iterator = newChildren.iterator();
while (iterator.hasNext()) {
ValueColumnPredicate child =
(ValueColumnPredicate) iterator.next();
if (columnPredicate.evaluate(child.getValue())) {
++changeCount;
iterator.remove();
}
}
if (changeCount > 0) {