ExpressionFactory.newBoundVariable(String name,
Class type)
This method will be called only once per variable bound in a
contains clause, and the returned value will be reused
for any further instances of the variable in subexpression of the
filter string.

AbstractExpressionBuilder.setImplicitContainsTypes(Value val1,
Value val2,
int op)
Set the implicit types of the given values based on the fact that
the first is supposed to contain the second.

protected static void

AbstractExpressionBuilder.setImplicitType(Value val,
Class expected)
Set the implicit type of the given value to the given class.

protected void

AbstractExpressionBuilder.setImplicitTypes(Value val1,
Value val2,
Class expected)
Set the implicit types of the given values based on the fact that
they're used together, and based on the operator type.