@Override
public Boolean walkNotIn(Tree opNode, Tree colNode, Tree listNode) {
// Note just return !walkIn(node, colNode, listNode) is wrong,
// because
// then it evaluates to true for null values (not set properties).
ColumnReference colRef = getColumnReference(colNode);
PropertyDefinition<?> pd = colRef.getPropertyDefinition();
Object prop = PropertyUtil.getProperty(so, colRef.getPropertyId(), pd);
List<Object> literals = onLiteralList(listNode);
if (pd.getCardinality() != Cardinality.SINGLE) {
throw new IllegalStateException("Operator IN only is allowed on single-value properties ");
} else if (prop == null) {
return false;