throw new IllegalStateException("Unexpected comparison type: " + expr.getComparisonType());
}
} else if (condition instanceof IsNullExpr) {
addPredicateNode(parent, nodes, treeCounters, isNegated, path, new Predicate<Object>(isRepeated, IsNullCondition.INSTANCE));
} else if (condition instanceof LikeExpr) {
addPredicateNode(parent, nodes, treeCounters, isNegated, path, new Predicate<String>(isRepeated, new RegexCondition(((LikeExpr) condition).getPattern())));
} else {
throw new IllegalStateException("Unexpected condition type: " + condition);
}
}