} else {
return new FieldComparisonExpression(addPrefix(q.getField()), q.getOp(), addPrefix(q.getRfield()));
}
} else if (rfi.getFieldEntity() == currentEntity) {
Value value = bind(lfi);
<BUG>return new ValueComparisonExpression(addPrefix(rfi.getEntityRelativeFieldName()), q.getOp().invert(), value);
</BUG>
} else {
return new TruePH();
}

} else {
return new FieldComparisonExpression(addPrefix(q.getField()), q.getOp(), addPrefix(q.getRfield()));
}
} else if (rfi.getFieldEntity() == currentEntity) {
Value value = bind(lfi);
return new ValueComparisonExpression(removeContext(rfi.getFieldEntity(),addPrefix(rfi.getEntityRelativeFieldName())), q.getOp().invert(), value);
} else {
return new TruePH();
