You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-commits@db.apache.org by mb...@apache.org on 2024/10/04 15:21:45 UTC

(db-jdo) 02/02: JDO-843: replace candidate() by candidate(„this“)

This is an automated email from the ASF dual-hosted git repository.

mbo pushed a commit to branch JDO-843
in repository https://gitbox.apache.org/repos/asf/db-jdo.git

commit 4ad59b675578d239c539aa0244ffba45b05923b7
Author: Michael Bouschen <Mi...@akquinet.de>
AuthorDate: Fri Oct 4 17:21:30 2024 +0200

    JDO-843: replace candidate() by candidate(„this“)
---
 .../jdo/tck/query/api/SampleReadQueries.java       | 41 ++++++++--------
 .../java/org/apache/jdo/tck/query/jdoql/Cast.java  |  4 +-
 .../query/jdoql/CharacterAndStringLiterals.java    |  4 +-
 .../jdoql/ComparingCollectionFieldToNull.java      |  2 +-
 ...omparingPersistentAndNonPersistentInstance.java |  4 +-
 .../tck/query/jdoql/DenoteUniquenessInFilter.java  |  6 +--
 .../org/apache/jdo/tck/query/jdoql/Having.java     |  4 +-
 .../query/jdoql/IdentifiersEqualFieldNames.java    | 10 ++--
 .../apache/jdo/tck/query/jdoql/IfElseInFilter.java |  8 ++--
 .../tck/query/jdoql/MultipleIdenticalImports.java  |  6 +--
 .../query/jdoql/NavigationComparisonWithNull.java  | 22 ++++-----
 .../jdoql/NavigationThroughACollectionField.java   |  2 +-
 .../jdoql/NavigationThroughANullValuedField.java   |  8 ++--
 ...NavigationThroughReferencesUsesDotOperator.java |  8 ++--
 .../jdoql/NullCollectionsAndContainsMethod.java    |  4 +-
 .../tck/query/jdoql/NullCollectionsAndIsEmpty.java |  2 +-
 .../jdo/tck/query/jdoql/OrderingSpecification.java |  4 +-
 .../apache/jdo/tck/query/jdoql/PositiveRange.java  |  8 ++--
 .../apache/jdo/tck/query/jdoql/RangeAsString.java  |  8 ++--
 .../query/jdoql/SeparateNamespaceForTypeNames.java |  4 +-
 .../query/jdoql/methods/StartsWithAndEndsWith.java |  4 +-
 .../jdoql/methods/SupportedCollectionMethods.java  |  8 ++--
 .../query/jdoql/methods/SupportedDateMethods.java  |  6 +--
 .../jdoql/methods/SupportedJDOHelperMethods.java   |  6 +--
 .../query/jdoql/methods/SupportedListMethods.java  |  4 +-
 .../query/jdoql/methods/SupportedMapMethods.java   | 10 ++--
 .../query/jdoql/methods/SupportedMathMethods.java  | 24 +++++-----
 .../jdoql/methods/SupportedStringMethods.java      | 30 ++++++------
 ...dComparisonsBetweenDateFieldsAndParameters.java |  6 +--
 ...omparisonsBetweenStringFieldsAndParameters.java |  6 +--
 .../jdo/tck/query/jdoql/operators/Instanceof.java  |  4 +-
 .../jdo/tck/query/jdoql/operators/Modulo.java      |  2 +-
 .../query/jdoql/operators/StringConcatenation.java |  4 +-
 .../jdoql/subqueries/CorrelatedSubqueries.java     |  4 +-
 .../jdoql/variables/UnconstrainedVariable.java     |  2 +-
 .../query/jdoql/variables/VariablesAndFields.java  | 12 ++---
 .../jdo/tck/query/result/AggregateResult.java      | 54 +++++++++++-----------
 .../apache/jdo/tck/query/result/DefaultUnique.java | 10 ++--
 .../query/result/DistinctCandidateInstances.java   |  2 +-
 .../apache/jdo/tck/query/result/DistinctQuery.java |  8 ++--
 .../org/apache/jdo/tck/query/result/Grouping.java  |  2 +-
 .../apache/jdo/tck/query/result/IfElseResult.java  |  6 +--
 .../jdo/tck/query/result/MethodsInResult.java      | 12 ++---
 .../jdo/tck/query/result/NPEInResultExpr.java      |  4 +-
 .../apache/jdo/tck/query/result/NullResults.java   |  6 +--
 .../tck/query/result/ResultClassRequirements.java  | 16 +++----
 .../jdo/tck/query/result/ResultExpressions.java    | 34 +++++++-------
 .../apache/jdo/tck/query/result/ShapeOfResult.java | 18 ++++----
 .../org/apache/jdo/tck/query/result/Unique.java    |  6 +--
 .../org/apache/jdo/tck/query/result/Variable.java  | 26 +++++------
 50 files changed, 248 insertions(+), 247 deletions(-)

diff --git a/tck/src/main/java/org/apache/jdo/tck/query/api/SampleReadQueries.java b/tck/src/main/java/org/apache/jdo/tck/query/api/SampleReadQueries.java
index b6c9d31f..abfea221 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/api/SampleReadQueries.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/api/SampleReadQueries.java
@@ -27,6 +27,7 @@ import javax.jdo.PersistenceManager;
 import javax.jdo.Query;
 import javax.jdo.Transaction;
 import javax.jdo.query.CollectionExpression;
+import javax.jdo.query.Expression;
 import javax.jdo.query.NumericExpression;
 import javax.jdo.query.StringExpression;
 import org.apache.jdo.tck.pc.company.CompanyModelReader;
@@ -269,7 +270,7 @@ public class SampleReadQueries extends QueryTest {
       List<FullTimeEmployee> expected =
           getTransientCompanyModelInstancesAsList(FullTimeEmployee.class, "emp1", "emp2", "emp5");
       try (JDOQLTypedQuery<FullTimeEmployee> q = pm.newJDOQLTypedQuery(FullTimeEmployee.class)) {
-        QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+        QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
         q.filter(cand.salary.gt(30000.));
         List<FullTimeEmployee> emps = q.executeList();
         checkQueryResultWithoutOrder(ASSERTION_FAILED, SINGLE_STRING_QUERY_01, emps, expected);
@@ -395,7 +396,7 @@ public class SampleReadQueries extends QueryTest {
       List<FullTimeEmployee> expected =
           getTransientCompanyModelInstancesAsList(FullTimeEmployee.class, "emp1", "emp5", "emp2");
       try (JDOQLTypedQuery<FullTimeEmployee> q = pm.newJDOQLTypedQuery(FullTimeEmployee.class)) {
-        QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+        QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
         q.filter(cand.salary.gt(30000.)).orderBy(cand.salary.asc());
         List<FullTimeEmployee> emps = q.executeList();
         checkQueryResultWithOrder(ASSERTION_FAILED, SINGLE_STRING_QUERY_02, emps, expected);
@@ -570,7 +571,7 @@ public class SampleReadQueries extends QueryTest {
       List<FullTimeEmployee> expected =
           getTransientCompanyModelInstancesAsList(FullTimeEmployee.class, "emp1");
       try (JDOQLTypedQuery<FullTimeEmployee> q = pm.newJDOQLTypedQuery(FullTimeEmployee.class)) {
-        QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+        QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
         NumericExpression<Double> sal = q.numericParameter("sal", Double.class);
         StringExpression begin = q.stringParameter("begin");
         q.filter(cand.salary.gt(sal).and(cand.firstname.startsWith(begin)));
@@ -735,7 +736,7 @@ public class SampleReadQueries extends QueryTest {
       List<Employee> expected =
           getTransientCompanyModelInstancesAsList(Employee.class, "emp1", "emp2", "emp3");
       try (JDOQLTypedQuery<Employee> q = pm.newJDOQLTypedQuery(Employee.class)) {
-        QEmployee cand = QEmployee.candidate();
+        QEmployee cand = QEmployee.candidate("this");
         StringExpression dep = q.stringParameter("dep");
         q.filter(cand.department.name.eq(dep));
         Map<String, Object> paramValues = new HashMap<>();
@@ -897,7 +898,7 @@ public class SampleReadQueries extends QueryTest {
       List<Department> expected =
           getTransientCompanyModelInstancesAsList(Department.class, "dept1");
       try (JDOQLTypedQuery<Department> q = pm.newJDOQLTypedQuery(Department.class)) {
-        QDepartment cand = QDepartment.candidate();
+        QDepartment cand = QDepartment.candidate("this");
         QEmployee emp = QEmployee.variable("emp");
         NumericExpression<Double> hours = q.numericParameter("hours", double.class);
         q.filter(cand.employees.contains(emp).and(emp.weeklyhours.gt(hours)));
@@ -1052,7 +1053,7 @@ public class SampleReadQueries extends QueryTest {
       List<Department> expected =
           getTransientCompanyModelInstancesAsList(Department.class, "dept1", "dept2", "dept3");
       try (JDOQLTypedQuery<Department> q = pm.newJDOQLTypedQuery(Department.class)) {
-        QDepartment cand = QDepartment.candidate();
+        QDepartment cand = QDepartment.candidate("this");
         CollectionExpression<Collection<String>, String> depts =
             q.collectionParameter("depts", String.class);
         q.filter(depts.contains(cand.name));
@@ -1199,7 +1200,7 @@ public class SampleReadQueries extends QueryTest {
       tx.begin();
       List<String> expected = Arrays.asList("Joe", "Craig", "Michael");
       try (JDOQLTypedQuery<Employee> q = pm.newJDOQLTypedQuery(Employee.class)) {
-        QEmployee cand = QEmployee.candidate();
+        QEmployee cand = QEmployee.candidate("this");
         StringExpression deptName = q.stringParameter("deptName");
         q.filter(cand.department.name.eq(deptName)).result(false, cand.firstname);
         Map<String, Object> paramValues = new HashMap<>();
@@ -1354,7 +1355,7 @@ public class SampleReadQueries extends QueryTest {
       tx.begin();
       List<Info> expected = testQuery08Helper();
       try (JDOQLTypedQuery<FullTimeEmployee> q = pm.newJDOQLTypedQuery(FullTimeEmployee.class)) {
-        QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+        QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
         StringExpression deptName = q.stringParameter("deptName");
         q.result(false, cand.firstname, cand.salary, cand.manager.as("reportsTo"))
             .filter(cand.department.name.eq(deptName));
@@ -1555,7 +1556,7 @@ public class SampleReadQueries extends QueryTest {
               new Info("Michael", 40000., getTransientCompanyModelInstance(Employee.class, "emp2")),
               new Info("Craig", 50000., null));
       try (JDOQLTypedQuery<FullTimeEmployee> q = pm.newJDOQLTypedQuery(FullTimeEmployee.class)) {
-        QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+        QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
         StringExpression deptName = q.stringParameter("deptName");
         q.result(false, cand.firstname, cand.salary, cand.manager)
             .filter(cand.department.name.eq(deptName));
@@ -1707,7 +1708,7 @@ public class SampleReadQueries extends QueryTest {
       tx.begin();
       Double expected = 45000.;
       try (JDOQLTypedQuery<FullTimeEmployee> q = pm.newJDOQLTypedQuery(FullTimeEmployee.class)) {
-        QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+        QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
         StringExpression deptName = q.stringParameter("deptName");
         q.result(false, cand.salary.avg()).filter(cand.department.name.eq(deptName));
         Map<String, Object> paramValues = new HashMap<>();
@@ -1853,7 +1854,7 @@ public class SampleReadQueries extends QueryTest {
       tx.begin();
       Double[] expected = new Double[] {45000., 90000.};
       try (JDOQLTypedQuery<FullTimeEmployee> q = pm.newJDOQLTypedQuery(FullTimeEmployee.class)) {
-        QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+        QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
         StringExpression deptName = q.stringParameter("deptName");
         q.result(false, cand.salary.avg(), cand.salary.sum())
             .filter(cand.department.name.eq(deptName));
@@ -2020,7 +2021,7 @@ public class SampleReadQueries extends QueryTest {
       tx.begin();
       Object[] expectedRow = new Object[] {45000., 90000., "R&D"};
       try (JDOQLTypedQuery<FullTimeEmployee> q = pm.newJDOQLTypedQuery(FullTimeEmployee.class)) {
-        QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+        QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
         q.result(false, cand.salary.avg(), cand.salary.sum(), cand.department.name)
             .groupBy(cand.department.name)
             .having(cand.department.name.count().gt(1L));
@@ -2167,7 +2168,7 @@ public class SampleReadQueries extends QueryTest {
       tx.begin();
       Employee expectedEmp = getTransientCompanyModelInstance(Employee.class, "emp1");
       try (JDOQLTypedQuery<Employee> q = pm.newJDOQLTypedQuery(Employee.class)) {
-        QEmployee cand = QEmployee.candidate();
+        QEmployee cand = QEmployee.candidate("this");
         StringExpression empName = q.stringParameter("empName");
         q.filter(cand.firstname.eq(empName));
         Map<String, Object> paramValues = new HashMap<>();
@@ -2321,7 +2322,7 @@ public class SampleReadQueries extends QueryTest {
       tx.begin();
       Double expectedSalary = 40000.;
       try (JDOQLTypedQuery<FullTimeEmployee> q = pm.newJDOQLTypedQuery(FullTimeEmployee.class)) {
-        QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+        QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
         StringExpression empName = q.stringParameter("empName");
         q.result(false, cand.salary).filter(cand.firstname.eq(empName));
         Map<String, Object> paramValues = new HashMap<>();
@@ -2476,7 +2477,7 @@ public class SampleReadQueries extends QueryTest {
       tx.begin();
       List<EmpWrapper> expected = testQuery15Helper();
       try (JDOQLTypedQuery<FullTimeEmployee> q = pm.newJDOQLTypedQuery(FullTimeEmployee.class)) {
-        QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+        QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
         NumericExpression<Double> sal = q.numericParameter("sal", Double.class);
         q.result(true, cand.as("FullTimeEmployee")).filter(cand.salary.gt(sal));
         Map<String, Object> paramValues = new HashMap<>();
@@ -2625,7 +2626,7 @@ public class SampleReadQueries extends QueryTest {
       tx.begin();
       List<EmpInfo> expected = testQuery16Helper();
       try (JDOQLTypedQuery<FullTimeEmployee> q = pm.newJDOQLTypedQuery(FullTimeEmployee.class)) {
-        QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+        QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
         NumericExpression<Double> sal = q.numericParameter("sal", Double.class);
         q.result(true, cand.as("FullTimeEmployee")).filter(cand.salary.gt(sal));
         Map<String, Object> paramValues = new HashMap<>();
@@ -2765,7 +2766,7 @@ public class SampleReadQueries extends QueryTest {
       tx.begin();
       List<String> expected = Arrays.asList("Michael", "Craig", "Joe");
       try (JDOQLTypedQuery<Department> q = pm.newJDOQLTypedQuery(Department.class)) {
-        QDepartment cand = QDepartment.candidate();
+        QDepartment cand = QDepartment.candidate("this");
         QEmployee e = QEmployee.variable("e");
         q.filter(cand.name.startsWith("R&D").and(cand.employees.contains(e)))
             .result(false, e.firstname);
@@ -2881,7 +2882,7 @@ public class SampleReadQueries extends QueryTest {
       tx.begin();
       List<String> expected = Arrays.asList("Michael", "Craig");
       try (JDOQLTypedQuery<Employee> q = pm.newJDOQLTypedQuery(Employee.class)) {
-        QEmployee cand = QEmployee.candidate();
+        QEmployee cand = QEmployee.candidate("this");
         JDOQLTypedSubquery<Employee> subquery = q.subquery("e");
         QEmployee candsub = QEmployee.candidate("e");
         q.result(false, cand.firstname)
@@ -3013,7 +3014,7 @@ public class SampleReadQueries extends QueryTest {
       tx.begin();
       List<String> expected = Arrays.asList("Michael");
       try (JDOQLTypedQuery<Employee> q = pm.newJDOQLTypedQuery(Employee.class)) {
-        QEmployee cand = QEmployee.candidate();
+        QEmployee cand = QEmployee.candidate("this");
         JDOQLTypedSubquery<Employee> subquery =
             q.subquery(cand.department.employees, Employee.class, "e");
         QEmployee candsub = QEmployee.candidate("e");
@@ -3146,7 +3147,7 @@ public class SampleReadQueries extends QueryTest {
       builder.append("EmpWrapper(");
       builder
           .append("FullTimeEmployee:")
-          .append(FullTimeEmployee == null ? "null" : FullTimeEmployee.getFirstname());
+          .append(FullTimeEmployee == null ? "null" : "name = " + FullTimeEmployee.getFirstname());
       builder.append(")");
       return builder.toString();
     }
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/Cast.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/Cast.java
index ad8398ec..13d4de01 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/Cast.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/Cast.java
@@ -56,7 +56,7 @@ public class Cast extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       // DataNucleus: java.lang.ClassCastException:
       // org.datanucleus.api.jdo.query.PersistableExpressionImpl
       // cannot be cast to org.apache.jdo.tck.pc.company.QFullTimeEmployee
@@ -100,7 +100,7 @@ public class Cast extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Department> query = pm.newJDOQLTypedQuery(Department.class);
-      QDepartment cand = QDepartment.candidate();
+      QDepartment cand = QDepartment.candidate("this");
       QEmployee e = QEmployee.variable("e");
       // DataNucleus: java.lang.ClassCastException:
       // org.datanucleus.api.jdo.query.PersistableExpressionImpl
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/CharacterAndStringLiterals.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/CharacterAndStringLiterals.java
index f43ba3ae..8799e30f 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/CharacterAndStringLiterals.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/CharacterAndStringLiterals.java
@@ -89,7 +89,7 @@ public class CharacterAndStringLiterals extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<PrimitiveTypes> query = pm.newJDOQLTypedQuery(PrimitiveTypes.class);
-      QPrimitiveTypes cand = QPrimitiveTypes.candidate();
+      QPrimitiveTypes cand = QPrimitiveTypes.candidate("this");
       query.filter(cand.stringNull.startsWith("Even").or(cand.charNotNull.eq('0')));
 
       QueryElementHolder<PrimitiveTypes> holder =
@@ -126,7 +126,7 @@ public class CharacterAndStringLiterals extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<PrimitiveTypes> query = pm.newJDOQLTypedQuery(PrimitiveTypes.class);
-      QPrimitiveTypes cand = QPrimitiveTypes.candidate();
+      QPrimitiveTypes cand = QPrimitiveTypes.candidate("this");
       query.filter(cand.stringNull.startsWith("Even").or(cand.charNotNull.eq('0')));
 
       QueryElementHolder<PrimitiveTypes> holder =
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/ComparingCollectionFieldToNull.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/ComparingCollectionFieldToNull.java
index 067c0296..e3fbbfa9 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/ComparingCollectionFieldToNull.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/ComparingCollectionFieldToNull.java
@@ -48,7 +48,7 @@ public class ComparingCollectionFieldToNull extends QueryTest {
   @Test
   public void testPositive() {
     JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-    QEmployee cand = QEmployee.candidate();
+    QEmployee cand = QEmployee.candidate("this");
     query.filter(cand.personid.eq(1L).and(cand.projects.eq(null)));
 
     QueryElementHolder<Employee> holder =
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/ComparingPersistentAndNonPersistentInstance.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/ComparingPersistentAndNonPersistentInstance.java
index 4003e5ac..6d1c4150 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/ComparingPersistentAndNonPersistentInstance.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/ComparingPersistentAndNonPersistentInstance.java
@@ -57,7 +57,7 @@ public class ComparingPersistentAndNonPersistentInstance extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       Expression<Employee> empParam = query.parameter("param", Employee.class);
       query.filter(cand.eq(empParam));
 
@@ -98,7 +98,7 @@ public class ComparingPersistentAndNonPersistentInstance extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       Expression<Employee> empParamExpression = query.parameter("param", Employee.class);
       QEmployee empParam = QEmployee.parameter("param");
       query.filter(cand.personid.eq(empParam.personid));
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/DenoteUniquenessInFilter.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/DenoteUniquenessInFilter.java
index 89dfc3ec..af50912a 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/DenoteUniquenessInFilter.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/DenoteUniquenessInFilter.java
@@ -65,7 +65,7 @@ public class DenoteUniquenessInFilter extends QueryTest {
     List<Department> expected = getTransientCompanyModelInstancesAsList(Department.class, "dept1");
 
     JDOQLTypedQuery<Department> query = pm.newJDOQLTypedQuery(Department.class);
-    QDepartment cand = QDepartment.candidate();
+    QDepartment cand = QDepartment.candidate("this");
     QEmployee e1 = QEmployee.variable("e1");
     QEmployee e2 = QEmployee.variable("e2");
     query.filter(
@@ -109,7 +109,7 @@ public class DenoteUniquenessInFilter extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Department> query = pm.newJDOQLTypedQuery(Department.class);
-      QDepartment cand = QDepartment.candidate();
+      QDepartment cand = QDepartment.candidate("this");
       QEmployee e1 = QEmployee.variable("e1");
       QEmployee e2 = QEmployee.variable("e2");
       query.filter(
@@ -163,7 +163,7 @@ public class DenoteUniquenessInFilter extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Department> query = pm.newJDOQLTypedQuery(Department.class);
-      QDepartment cand = QDepartment.candidate();
+      QDepartment cand = QDepartment.candidate("this");
       QEmployee e1 = QEmployee.variable("e1");
       QEmployee e2 = QEmployee.variable("e2");
       query.filter(
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/Having.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/Having.java
index 0199988a..d6dc9136 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/Having.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/Having.java
@@ -99,7 +99,7 @@ public class Having extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.groupBy(cand.department).having(cand.department.count().gt(0L));
       query.result(false, cand.department, cand.weeklyhours.avg());
 
@@ -147,7 +147,7 @@ public class Having extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.groupBy(cand.department).having(cand.personid.count().gt(1L));
       query.result(false, cand.department, cand.weeklyhours.avg());
 
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/IdentifiersEqualFieldNames.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/IdentifiersEqualFieldNames.java
index ac7de28c..a7ed8ee8 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/IdentifiersEqualFieldNames.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/IdentifiersEqualFieldNames.java
@@ -56,7 +56,7 @@ public class IdentifiersEqualFieldNames extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.filter(cand.firstname.eq("emp1First"));
 
       QueryElementHolder<Person> holder =
@@ -95,7 +95,7 @@ public class IdentifiersEqualFieldNames extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.filter(cand.personid.lt((long) Byte.MAX_VALUE));
 
       QueryElementHolder<Person> holder =
@@ -133,7 +133,7 @@ public class IdentifiersEqualFieldNames extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Department> query = pm.newJDOQLTypedQuery(Department.class);
-      QDepartment cand = QDepartment.candidate();
+      QDepartment cand = QDepartment.candidate("this");
       query.filter(
           cand.employees
               .size()
@@ -175,7 +175,7 @@ public class IdentifiersEqualFieldNames extends QueryTest {
     try {
 
       JDOQLTypedQuery<Department> query = pm.newJDOQLTypedQuery(Department.class);
-      QDepartment cand = QDepartment.candidate();
+      QDepartment cand = QDepartment.candidate("this");
       query.filter(cand.employees.size().gt(Department.RECOMMENDED_NO_OF_EMPS));
 
       QueryElementHolder<Department> holder =
@@ -214,7 +214,7 @@ public class IdentifiersEqualFieldNames extends QueryTest {
     try {
 
       JDOQLTypedQuery<Department> query = pm.newJDOQLTypedQuery(Department.class);
-      QDepartment cand = QDepartment.candidate();
+      QDepartment cand = QDepartment.candidate("this");
       query.filter(cand.employees.size().gt(Department.RECOMMENDED_NO_OF_EMPS));
 
       QueryElementHolder<Department> holder =
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/IfElseInFilter.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/IfElseInFilter.java
index db7482aa..2827954f 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/IfElseInFilter.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/IfElseInFilter.java
@@ -110,7 +110,7 @@ public class IfElseInFilter extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<FullTimeEmployee> query = pm.newJDOQLTypedQuery(FullTimeEmployee.class);
-      QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+      QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
       IfThenElseExpression<Double> ifExpr =
           query.ifThenElse(cand.department.name.eq("Development"), 15000.0, 25000.0);
       query.filter(cand.salary.gt(ifExpr));
@@ -152,7 +152,7 @@ public class IfElseInFilter extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       IfThenElseExpression<Long> ifExpr =
           query.ifThenElse(
               Long.class,
@@ -198,7 +198,7 @@ public class IfElseInFilter extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<FullTimeEmployee> query = pm.newJDOQLTypedQuery(FullTimeEmployee.class);
-      QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+      QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
       BooleanExpression cond1 = cand.salary.gt(0.0).and(cand.salary.lt(10000.1));
       BooleanExpression cond2 = cand.salary.gt(10000.1).and(cand.salary.lt(20000.1));
       BooleanExpression cond3 = cand.salary.gt(20000.1).and(cand.salary.lt(30000.1));
@@ -245,7 +245,7 @@ public class IfElseInFilter extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<FullTimeEmployee> query = pm.newJDOQLTypedQuery(FullTimeEmployee.class);
-      QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+      QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
       BooleanExpression cond1 = cand.salary.lt(10000.1);
       BooleanExpression cond2 = cand.salary.lt(20000.1);
       BooleanExpression cond3 = cand.salary.lt(30000.1);
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/MultipleIdenticalImports.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/MultipleIdenticalImports.java
index 82bb0a41..ae46fdcf 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/MultipleIdenticalImports.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/MultipleIdenticalImports.java
@@ -58,7 +58,7 @@ public class MultipleIdenticalImports extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       Expression<Department> empParam = query.parameter("d", Department.class);
       query.filter(cand.department.eq(empParam));
 
@@ -102,7 +102,7 @@ public class MultipleIdenticalImports extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       Expression<Department> empParam = query.parameter("d", Department.class);
       query.filter(cand.department.eq(empParam));
 
@@ -146,7 +146,7 @@ public class MultipleIdenticalImports extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       Expression<Department> empParam = query.parameter("d", Department.class);
       query.filter(cand.department.eq(empParam));
 
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NavigationComparisonWithNull.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NavigationComparisonWithNull.java
index 54c370fa..403ca5f6 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NavigationComparisonWithNull.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NavigationComparisonWithNull.java
@@ -87,7 +87,7 @@ public class NavigationComparisonWithNull extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.filter(cand.manager.eq((Employee) null));
 
       QueryElementHolder<Employee> holder =
@@ -127,7 +127,7 @@ public class NavigationComparisonWithNull extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.filter(cand.manager.ne((Employee) null));
 
       QueryElementHolder<Employee> holder =
@@ -167,7 +167,7 @@ public class NavigationComparisonWithNull extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.filter(cand.manager.eq((Employee) null).not());
 
       QueryElementHolder<Employee> holder =
@@ -208,7 +208,7 @@ public class NavigationComparisonWithNull extends QueryTest {
     try {
 
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.filter(cand.manager.manager.eq((Employee) null));
 
       QueryElementHolder<Employee> holder =
@@ -249,7 +249,7 @@ public class NavigationComparisonWithNull extends QueryTest {
     try {
 
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.filter(cand.manager.ne((Employee) null).and(cand.manager.manager.eq((Employee) null)));
 
       QueryElementHolder<Employee> holder =
@@ -289,7 +289,7 @@ public class NavigationComparisonWithNull extends QueryTest {
     try {
 
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.filter(cand.manager.manager.ne((Employee) null));
 
       QueryElementHolder<Employee> holder =
@@ -329,7 +329,7 @@ public class NavigationComparisonWithNull extends QueryTest {
     try {
 
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       QEmployee e = QEmployee.variable("e");
       query.filter(cand.manager.manager.eq((Employee) null).not());
 
@@ -370,7 +370,7 @@ public class NavigationComparisonWithNull extends QueryTest {
     try {
 
       JDOQLTypedQuery<MedicalInsurance> query = pm.newJDOQLTypedQuery(MedicalInsurance.class);
-      QMedicalInsurance cand = QMedicalInsurance.candidate();
+      QMedicalInsurance cand = QMedicalInsurance.candidate("this");
       query.filter(cand.employee.manager.manager.eq((Employee) null));
 
       QueryElementHolder<MedicalInsurance> holder =
@@ -414,7 +414,7 @@ public class NavigationComparisonWithNull extends QueryTest {
     try {
 
       JDOQLTypedQuery<MedicalInsurance> query = pm.newJDOQLTypedQuery(MedicalInsurance.class);
-      QMedicalInsurance cand = QMedicalInsurance.candidate();
+      QMedicalInsurance cand = QMedicalInsurance.candidate("this");
       query.filter(
           cand.employee
               .ne((Employee) null)
@@ -460,7 +460,7 @@ public class NavigationComparisonWithNull extends QueryTest {
     try {
 
       JDOQLTypedQuery<MedicalInsurance> query = pm.newJDOQLTypedQuery(MedicalInsurance.class);
-      QMedicalInsurance cand = QMedicalInsurance.candidate();
+      QMedicalInsurance cand = QMedicalInsurance.candidate("this");
       query.filter(cand.employee.manager.manager.ne((Employee) null));
 
       QueryElementHolder<MedicalInsurance> holder =
@@ -500,7 +500,7 @@ public class NavigationComparisonWithNull extends QueryTest {
     try {
 
       JDOQLTypedQuery<MedicalInsurance> query = pm.newJDOQLTypedQuery(MedicalInsurance.class);
-      QMedicalInsurance cand = QMedicalInsurance.candidate();
+      QMedicalInsurance cand = QMedicalInsurance.candidate("this");
       query.filter(cand.employee.manager.manager.eq((Employee) null).not());
 
       QueryElementHolder<MedicalInsurance> holder =
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NavigationThroughACollectionField.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NavigationThroughACollectionField.java
index 0514592a..aadee812 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NavigationThroughACollectionField.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NavigationThroughACollectionField.java
@@ -61,7 +61,7 @@ public class NavigationThroughACollectionField extends QueryTest {
     List<Department> expected = getTransientCompanyModelInstancesAsList(Department.class, "dept1");
 
     JDOQLTypedQuery<Department> query = getPM().newJDOQLTypedQuery(Department.class);
-    QDepartment cand = QDepartment.candidate();
+    QDepartment cand = QDepartment.candidate("this");
     QEmployee e = QEmployee.variable("e");
     query.filter(cand.employees.contains(e).and(e.firstname.eq("emp1First")));
 
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NavigationThroughANullValuedField.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NavigationThroughANullValuedField.java
index 597544a9..e595a046 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NavigationThroughANullValuedField.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NavigationThroughANullValuedField.java
@@ -74,7 +74,7 @@ public class NavigationThroughANullValuedField extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.filter(cand.medicalInsurance.carrier.eq("Carrier1"));
 
       QueryElementHolder<Employee> holder =
@@ -113,7 +113,7 @@ public class NavigationThroughANullValuedField extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.filter(cand.manager.lastname.eq("emp4Last"));
 
       QueryElementHolder<Employee> holder =
@@ -151,7 +151,7 @@ public class NavigationThroughANullValuedField extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.filter(cand.manager.manager.lastname.eq("emp0Last"));
 
       QueryElementHolder<Employee> holder =
@@ -192,7 +192,7 @@ public class NavigationThroughANullValuedField extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Department> query = pm.newJDOQLTypedQuery(Department.class);
-      QDepartment cand = QDepartment.candidate();
+      QDepartment cand = QDepartment.candidate("this");
       QEmployee e = QEmployee.variable("e");
       query.filter(cand.employees.contains(e).and(e.medicalInsurance.carrier.eq("Carrier1")));
 
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NavigationThroughReferencesUsesDotOperator.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NavigationThroughReferencesUsesDotOperator.java
index 4a254cf5..98755d04 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NavigationThroughReferencesUsesDotOperator.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NavigationThroughReferencesUsesDotOperator.java
@@ -70,7 +70,7 @@ public class NavigationThroughReferencesUsesDotOperator extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.filter(cand.medicalInsurance.carrier.eq("Carrier1"));
 
       QueryElementHolder<Employee> holder =
@@ -114,7 +114,7 @@ public class NavigationThroughReferencesUsesDotOperator extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<MedicalInsurance> query = pm.newJDOQLTypedQuery(MedicalInsurance.class);
-      QMedicalInsurance cand = QMedicalInsurance.candidate();
+      QMedicalInsurance cand = QMedicalInsurance.candidate("this");
       query.filter(cand.employee.department.name.eq("Development"));
 
       QueryElementHolder<MedicalInsurance> holder =
@@ -153,7 +153,7 @@ public class NavigationThroughReferencesUsesDotOperator extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<MedicalInsurance> query = pm.newJDOQLTypedQuery(MedicalInsurance.class);
-      QMedicalInsurance cand = QMedicalInsurance.candidate();
+      QMedicalInsurance cand = QMedicalInsurance.candidate("this");
       query.filter(cand.employee.manager.firstname.eq("emp1First"));
 
       QueryElementHolder<MedicalInsurance> holder =
@@ -192,7 +192,7 @@ public class NavigationThroughReferencesUsesDotOperator extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<MedicalInsurance> query = pm.newJDOQLTypedQuery(MedicalInsurance.class);
-      QMedicalInsurance cand = QMedicalInsurance.candidate();
+      QMedicalInsurance cand = QMedicalInsurance.candidate("this");
       query.filter(cand.employee.manager.manager.firstname.eq("emp0First"));
 
       QueryElementHolder<MedicalInsurance> holder =
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NullCollectionsAndContainsMethod.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NullCollectionsAndContainsMethod.java
index 897e6a91..f327aa44 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NullCollectionsAndContainsMethod.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NullCollectionsAndContainsMethod.java
@@ -60,7 +60,7 @@ public class NullCollectionsAndContainsMethod extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       Expression<Project> empParam = query.parameter("p", Project.class);
       query.filter(cand.personid.eq(1L).and(cand.projects.contains(empParam)));
 
@@ -104,7 +104,7 @@ public class NullCollectionsAndContainsMethod extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       Expression<Project> empParam = query.parameter("p", Project.class);
       query.filter(cand.projects.contains(empParam));
 
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NullCollectionsAndIsEmpty.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NullCollectionsAndIsEmpty.java
index dece5ca3..b5ffdca0 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NullCollectionsAndIsEmpty.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NullCollectionsAndIsEmpty.java
@@ -46,7 +46,7 @@ public class NullCollectionsAndIsEmpty extends QueryTest {
     List<Employee> expected = getTransientCompanyModelInstancesAsList(Employee.class, "emp1");
 
     JDOQLTypedQuery<Employee> query = getPM().newJDOQLTypedQuery(Employee.class);
-    QEmployee cand = QEmployee.candidate();
+    QEmployee cand = QEmployee.candidate("this");
     query.filter(cand.personid.eq(1L).and(cand.projects.isEmpty()));
 
     QueryElementHolder<Employee> holder =
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/OrderingSpecification.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/OrderingSpecification.java
index 62b53316..6a95e18c 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/OrderingSpecification.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/OrderingSpecification.java
@@ -85,7 +85,7 @@ public class OrderingSpecification extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<DentalInsurance> query = pm.newJDOQLTypedQuery(DentalInsurance.class);
-      QDentalInsurance cand = QDentalInsurance.candidate();
+      QDentalInsurance cand = QDentalInsurance.candidate("this");
       query.orderBy(cand.lifetimeOrthoBenefit.asc().nullsFirst());
 
       QueryElementHolder<DentalInsurance> holder =
@@ -131,7 +131,7 @@ public class OrderingSpecification extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<DentalInsurance> query = pm.newJDOQLTypedQuery(DentalInsurance.class);
-      QDentalInsurance cand = QDentalInsurance.candidate();
+      QDentalInsurance cand = QDentalInsurance.candidate("this");
       query.orderBy(cand.lifetimeOrthoBenefit.asc().nullsLast());
 
       QueryElementHolder<DentalInsurance> holder =
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/PositiveRange.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/PositiveRange.java
index 9350cc38..f74aa99a 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/PositiveRange.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/PositiveRange.java
@@ -53,7 +53,7 @@ public class PositiveRange extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.orderBy(cand.personid.asc());
 
       QueryElementHolder<Person> holder =
@@ -90,7 +90,7 @@ public class PositiveRange extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.orderBy(cand.personid.asc());
 
       QueryElementHolder<Person> holder =
@@ -127,7 +127,7 @@ public class PositiveRange extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.orderBy(cand.personid.asc());
 
       QueryElementHolder<Person> holder =
@@ -164,7 +164,7 @@ public class PositiveRange extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.orderBy(cand.personid.asc());
 
       QueryElementHolder<Person> holder =
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/RangeAsString.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/RangeAsString.java
index 710409af..aced12ad 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/RangeAsString.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/RangeAsString.java
@@ -54,7 +54,7 @@ public class RangeAsString extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.orderBy(cand.personid.asc());
 
       QueryElementHolder<Person> holder =
@@ -91,7 +91,7 @@ public class RangeAsString extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.orderBy(cand.personid.asc());
 
       QueryElementHolder<Person> holder =
@@ -129,7 +129,7 @@ public class RangeAsString extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.orderBy(cand.personid.asc());
 
       QueryElementHolder<Person> holder =
@@ -166,7 +166,7 @@ public class RangeAsString extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.orderBy(cand.personid.asc());
 
       QueryElementHolder<Person> holder =
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/SeparateNamespaceForTypeNames.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/SeparateNamespaceForTypeNames.java
index b0c96f81..e800093c 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/SeparateNamespaceForTypeNames.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/SeparateNamespaceForTypeNames.java
@@ -60,7 +60,7 @@ public class SeparateNamespaceForTypeNames extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       Expression<Department> empParam = query.parameter("Department", Department.class);
       query.filter(cand.department.eq(empParam));
 
@@ -103,7 +103,7 @@ public class SeparateNamespaceForTypeNames extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Department> query = pm.newJDOQLTypedQuery(Department.class);
-      QDepartment cand = QDepartment.candidate();
+      QDepartment cand = QDepartment.candidate("this");
       QEmployee variable = QEmployee.variable("Employee");
       query.filter(cand.employees.contains(variable).and(variable.firstname.eq("emp1First")));
 
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/StartsWithAndEndsWith.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/StartsWithAndEndsWith.java
index c8fe55b1..af017d83 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/StartsWithAndEndsWith.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/StartsWithAndEndsWith.java
@@ -56,7 +56,7 @@ public class StartsWithAndEndsWith extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.filter(cand.firstname.startsWith("emp1"));
 
       QueryElementHolder<Employee> holder =
@@ -94,7 +94,7 @@ public class StartsWithAndEndsWith extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.filter(cand.firstname.endsWith("1First"));
 
       QueryElementHolder<Employee> holder =
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedCollectionMethods.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedCollectionMethods.java
index b3d752b9..767b5211 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedCollectionMethods.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedCollectionMethods.java
@@ -67,7 +67,7 @@ public class SupportedCollectionMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Department> query = pm.newJDOQLTypedQuery(Department.class);
-      QDepartment cand = QDepartment.candidate();
+      QDepartment cand = QDepartment.candidate("this");
       QEmployee eVariable = QEmployee.variable("e");
       query.filter(cand.employees.contains(eVariable).and(eVariable.personid.eq(1L)));
 
@@ -101,7 +101,7 @@ public class SupportedCollectionMethods extends QueryTest {
       paramValues.put("e", getPersistentCompanyModelInstance(pm, Employee.class, "emp1"));
 
       query = pm.newJDOQLTypedQuery(Department.class);
-      cand = QDepartment.candidate();
+      cand = QDepartment.candidate("this");
       Expression<Employee> paramExpression = query.parameter("e", Employee.class);
       query.filter(cand.employees.contains(paramExpression));
 
@@ -142,7 +142,7 @@ public class SupportedCollectionMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Department> query = pm.newJDOQLTypedQuery(Department.class);
-      QDepartment cand = QDepartment.candidate();
+      QDepartment cand = QDepartment.candidate("this");
       query.filter(cand.employees.isEmpty().not());
 
       QueryElementHolder<Department> holder =
@@ -212,7 +212,7 @@ public class SupportedCollectionMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Department> query = pm.newJDOQLTypedQuery(Department.class);
-      QDepartment cand = QDepartment.candidate();
+      QDepartment cand = QDepartment.candidate("this");
       query.filter(cand.employees.size().eq(3));
 
       QueryElementHolder<Department> holder =
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedDateMethods.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedDateMethods.java
index d153c810..4a63edae 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedDateMethods.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedDateMethods.java
@@ -59,7 +59,7 @@ public class SupportedDateMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.filter(cand.birthdate.getDay().eq(10));
 
       QueryElementHolder<Person> holder =
@@ -96,7 +96,7 @@ public class SupportedDateMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.filter(cand.birthdate.getMonth().eq(5));
 
       QueryElementHolder<Person> holder =
@@ -133,7 +133,7 @@ public class SupportedDateMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.filter(cand.birthdate.getYear().eq(1970));
 
       QueryElementHolder<Person> holder =
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedJDOHelperMethods.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedJDOHelperMethods.java
index 83af74ed..f71627a0 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedJDOHelperMethods.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedJDOHelperMethods.java
@@ -69,7 +69,7 @@ public class SupportedJDOHelperMethods extends QueryTest {
       Class<?> oidClass = pm.getObjectIdClass(Person.class);
       List<Person> expectedResult = getExpectedResult(pm, true, Person.class);
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.result(false, cand.jdoObjectId());
 
       QueryElementHolder<Person> holder =
@@ -106,7 +106,7 @@ public class SupportedJDOHelperMethods extends QueryTest {
     try {
       List<Person> expectedResult = getExpectedResult(pm, false, Person.class, "personid == 1");
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       Expression<Object> oid = query.parameter("oid", Object.class);
       query.filter(cand.jdoObjectId().eq(oid));
 
@@ -159,7 +159,7 @@ public class SupportedJDOHelperMethods extends QueryTest {
       List<Long> expectedResult1 = Arrays.asList(Long.valueOf(1));
 
       JDOQLTypedQuery<VersionedPCPoint> query = pm.newJDOQLTypedQuery(VersionedPCPoint.class);
-      QVersionedPCPoint cand = QVersionedPCPoint.candidate();
+      QVersionedPCPoint cand = QVersionedPCPoint.candidate("this");
       query.result(false, cand.jdoVersion());
 
       QueryElementHolder<VersionedPCPoint> holder =
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedListMethods.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedListMethods.java
index 7ef39d08..eb13bd40 100755
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedListMethods.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedListMethods.java
@@ -64,7 +64,7 @@ public class SupportedListMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Department> query = pm.newJDOQLTypedQuery(Department.class);
-      QDepartment cand = QDepartment.candidate();
+      QDepartment cand = QDepartment.candidate("this");
       Expression<MeetingRoom> roomParam = query.parameter("room1", MeetingRoom.class);
       NumericExpression<?> posParam = query.numericParameter("pos");
       query.filter(cand.meetingRooms.get(posParam).eq(roomParam));
@@ -111,7 +111,7 @@ public class SupportedListMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Department> query = pm.newJDOQLTypedQuery(Department.class);
-      QDepartment cand = QDepartment.candidate();
+      QDepartment cand = QDepartment.candidate("this");
       query.result(false, cand.meetingRooms.get(1));
       query.filter(cand.deptid.eq(1L));
 
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedMapMethods.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedMapMethods.java
index 2713ccf1..4a8ee174 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedMapMethods.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedMapMethods.java
@@ -63,7 +63,7 @@ public class SupportedMapMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.filter(cand.phoneNumbers.get("home").eq("1111"));
 
       QueryElementHolder<Person> holder =
@@ -103,7 +103,7 @@ public class SupportedMapMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.filter(cand.phoneNumbers.containsKey("home"));
 
       QueryElementHolder<Person> holder =
@@ -141,7 +141,7 @@ public class SupportedMapMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.filter(cand.phoneNumbers.containsValue("1111"));
 
       QueryElementHolder<Person> holder =
@@ -178,7 +178,7 @@ public class SupportedMapMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.filter(cand.phoneNumbers.isEmpty());
 
       QueryElementHolder<Person> holder =
@@ -218,7 +218,7 @@ public class SupportedMapMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.filter(cand.phoneNumbers.size().eq(2));
 
       QueryElementHolder<Person> holder =
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedMathMethods.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedMathMethods.java
index d1c4e73f..161f5cb2 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedMathMethods.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedMathMethods.java
@@ -80,7 +80,7 @@ public class SupportedMathMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<PrimitiveTypes> query = pm.newJDOQLTypedQuery(PrimitiveTypes.class);
-      QPrimitiveTypes cand = QPrimitiveTypes.candidate();
+      QPrimitiveTypes cand = QPrimitiveTypes.candidate("this");
       query.filter(cand.intNotNull.abs().eq(4));
 
       QueryElementHolder<PrimitiveTypes> holder =
@@ -118,7 +118,7 @@ public class SupportedMathMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<PrimitiveTypes> query = pm.newJDOQLTypedQuery(PrimitiveTypes.class);
-      QPrimitiveTypes cand = QPrimitiveTypes.candidate();
+      QPrimitiveTypes cand = QPrimitiveTypes.candidate("this");
       query.filter(cand.intNull.abs().eq(4));
 
       QueryElementHolder<PrimitiveTypes> holder =
@@ -156,7 +156,7 @@ public class SupportedMathMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<PrimitiveTypes> query = pm.newJDOQLTypedQuery(PrimitiveTypes.class);
-      QPrimitiveTypes cand = QPrimitiveTypes.candidate();
+      QPrimitiveTypes cand = QPrimitiveTypes.candidate("this");
       query.filter(cand.longNotNull.abs().eq(4L));
 
       QueryElementHolder<PrimitiveTypes> holder =
@@ -194,7 +194,7 @@ public class SupportedMathMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<PrimitiveTypes> query = pm.newJDOQLTypedQuery(PrimitiveTypes.class);
-      QPrimitiveTypes cand = QPrimitiveTypes.candidate();
+      QPrimitiveTypes cand = QPrimitiveTypes.candidate("this");
       query.filter(cand.longNull.abs().eq(4L));
 
       QueryElementHolder<PrimitiveTypes> holder =
@@ -232,7 +232,7 @@ public class SupportedMathMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<PrimitiveTypes> query = pm.newJDOQLTypedQuery(PrimitiveTypes.class);
-      QPrimitiveTypes cand = QPrimitiveTypes.candidate();
+      QPrimitiveTypes cand = QPrimitiveTypes.candidate("this");
       query.filter(cand.floatNotNull.abs().lt(4.1f).and(cand.floatNotNull.abs().gt(3.9f)));
 
       QueryElementHolder<PrimitiveTypes> holder =
@@ -270,7 +270,7 @@ public class SupportedMathMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<PrimitiveTypes> query = pm.newJDOQLTypedQuery(PrimitiveTypes.class);
-      QPrimitiveTypes cand = QPrimitiveTypes.candidate();
+      QPrimitiveTypes cand = QPrimitiveTypes.candidate("this");
       query.filter(cand.floatNull.abs().lt(4.1f).and(cand.floatNull.abs().gt(3.9f)));
 
       QueryElementHolder<PrimitiveTypes> holder =
@@ -308,7 +308,7 @@ public class SupportedMathMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<PrimitiveTypes> query = pm.newJDOQLTypedQuery(PrimitiveTypes.class);
-      QPrimitiveTypes cand = QPrimitiveTypes.candidate();
+      QPrimitiveTypes cand = QPrimitiveTypes.candidate("this");
       query.filter(cand.doubleNotNull.abs().lt(4.1).and(cand.doubleNotNull.abs().gt(3.9)));
 
       QueryElementHolder<PrimitiveTypes> holder =
@@ -346,7 +346,7 @@ public class SupportedMathMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<PrimitiveTypes> query = pm.newJDOQLTypedQuery(PrimitiveTypes.class);
-      QPrimitiveTypes cand = QPrimitiveTypes.candidate();
+      QPrimitiveTypes cand = QPrimitiveTypes.candidate("this");
       query.filter(cand.doubleNull.abs().lt(4.1).and(cand.doubleNull.abs().gt(3.9)));
 
       QueryElementHolder<PrimitiveTypes> holder =
@@ -383,7 +383,7 @@ public class SupportedMathMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<PrimitiveTypes> query = pm.newJDOQLTypedQuery(PrimitiveTypes.class);
-      QPrimitiveTypes cand = QPrimitiveTypes.candidate();
+      QPrimitiveTypes cand = QPrimitiveTypes.candidate("this");
       query.filter(
           cand.doubleNotNull
               .gt(0d)
@@ -425,7 +425,7 @@ public class SupportedMathMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<PrimitiveTypes> query = pm.newJDOQLTypedQuery(PrimitiveTypes.class);
-      QPrimitiveTypes cand = QPrimitiveTypes.candidate();
+      QPrimitiveTypes cand = QPrimitiveTypes.candidate("this");
       query.filter(
           cand.doubleNull
               .gt(0d)
@@ -467,7 +467,7 @@ public class SupportedMathMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<PrimitiveTypes> query = pm.newJDOQLTypedQuery(PrimitiveTypes.class);
-      QPrimitiveTypes cand = QPrimitiveTypes.candidate();
+      QPrimitiveTypes cand = QPrimitiveTypes.candidate("this");
       query.filter(
           cand.intNotNull
               .gt(0)
@@ -509,7 +509,7 @@ public class SupportedMathMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<PrimitiveTypes> query = pm.newJDOQLTypedQuery(PrimitiveTypes.class);
-      QPrimitiveTypes cand = QPrimitiveTypes.candidate();
+      QPrimitiveTypes cand = QPrimitiveTypes.candidate("this");
       query.filter(
           cand.intNull.gt(0).and(cand.intNull.sqrt().lt(2.1).and(cand.intNull.sqrt().gt(1.9))));
 
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedStringMethods.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedStringMethods.java
index 67277fa0..6dfb58c8 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedStringMethods.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedStringMethods.java
@@ -71,7 +71,7 @@ public class SupportedStringMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.filter(cand.firstname.toLowerCase().eq("emp1first"));
 
       QueryElementHolder<Person> holder =
@@ -108,7 +108,7 @@ public class SupportedStringMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.filter(cand.firstname.toUpperCase().eq("EMP1FIRST"));
 
       QueryElementHolder<Person> holder =
@@ -145,7 +145,7 @@ public class SupportedStringMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Department> query = pm.newJDOQLTypedQuery(Department.class);
-      QDepartment cand = QDepartment.candidate();
+      QDepartment cand = QDepartment.candidate("this");
       query.filter(cand.name.indexOf("e").eq(1));
 
       QueryElementHolder<Department> holder =
@@ -182,7 +182,7 @@ public class SupportedStringMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Department> query = pm.newJDOQLTypedQuery(Department.class);
-      QDepartment cand = QDepartment.candidate();
+      QDepartment cand = QDepartment.candidate("this");
       query.filter(cand.name.indexOf("e", 2).eq(3));
 
       QueryElementHolder<Department> holder =
@@ -221,7 +221,7 @@ public class SupportedStringMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.filter(cand.firstname.matches(".*First"));
 
       QueryElementHolder<Person> holder =
@@ -260,7 +260,7 @@ public class SupportedStringMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.filter(cand.firstname.matches("emp.First"));
 
       QueryElementHolder<Person> holder =
@@ -296,7 +296,7 @@ public class SupportedStringMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.filter(cand.firstname.matches("(?i)EMP1FIRST"));
 
       QueryElementHolder<Person> holder =
@@ -335,7 +335,7 @@ public class SupportedStringMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.filter(cand.firstname.substring(4).eq("First"));
 
       QueryElementHolder<Person> holder =
@@ -374,7 +374,7 @@ public class SupportedStringMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.filter(cand.firstname.substring(4, 9).eq("First"));
 
       QueryElementHolder<Person> holder =
@@ -413,7 +413,7 @@ public class SupportedStringMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.filter(cand.firstname.startsWith("emp"));
 
       QueryElementHolder<Person> holder =
@@ -452,7 +452,7 @@ public class SupportedStringMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.filter(cand.firstname.endsWith("First"));
 
       QueryElementHolder<Person> holder =
@@ -491,7 +491,7 @@ public class SupportedStringMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.filter(cand.firstname.startsWith("mp", 1));
 
       QueryElementHolder<Person> holder =
@@ -530,7 +530,7 @@ public class SupportedStringMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.filter(cand.firstname.length().eq(9));
 
       QueryElementHolder<Person> holder =
@@ -567,7 +567,7 @@ public class SupportedStringMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.filter(cand.firstname.charAt(3).eq('1'));
 
       QueryElementHolder<Person> holder =
@@ -604,7 +604,7 @@ public class SupportedStringMethods extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.filter(cand.firstname.trim().eq("emp1First"));
 
       QueryElementHolder<Person> holder =
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/EqualityAndComparisonsBetweenDateFieldsAndParameters.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/EqualityAndComparisonsBetweenDateFieldsAndParameters.java
index 16fc5d5a..90cbef0b 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/EqualityAndComparisonsBetweenDateFieldsAndParameters.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/EqualityAndComparisonsBetweenDateFieldsAndParameters.java
@@ -82,7 +82,7 @@ public class EqualityAndComparisonsBetweenDateFieldsAndParameters extends QueryT
     try {
 
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       DateTimeExpression param = query.datetimeParameter("param");
       query.filter(cand.hiredate.eq(param));
 
@@ -126,7 +126,7 @@ public class EqualityAndComparisonsBetweenDateFieldsAndParameters extends QueryT
     try {
 
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       DateTimeExpression param = query.datetimeParameter("param");
       query.filter(cand.hiredate.gteq(param));
 
@@ -169,7 +169,7 @@ public class EqualityAndComparisonsBetweenDateFieldsAndParameters extends QueryT
     try {
 
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       DateTimeExpression param = query.datetimeParameter("param");
       query.filter(param.lt(cand.birthdate));
 
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/EqualityAndComparisonsBetweenStringFieldsAndParameters.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/EqualityAndComparisonsBetweenStringFieldsAndParameters.java
index 5a71daec..811578a6 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/EqualityAndComparisonsBetweenStringFieldsAndParameters.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/EqualityAndComparisonsBetweenStringFieldsAndParameters.java
@@ -56,7 +56,7 @@ public class EqualityAndComparisonsBetweenStringFieldsAndParameters extends Quer
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       StringExpression paramVariable = query.stringParameter("param");
       query.filter(cand.firstname.eq(paramVariable));
 
@@ -99,7 +99,7 @@ public class EqualityAndComparisonsBetweenStringFieldsAndParameters extends Quer
     try {
 
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       StringExpression paramVariable = query.stringParameter("param");
       query.filter(cand.firstname.gteq(paramVariable));
 
@@ -141,7 +141,7 @@ public class EqualityAndComparisonsBetweenStringFieldsAndParameters extends Quer
     try {
 
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       StringExpression paramVariable = query.stringParameter("param");
       query.filter(paramVariable.lt(cand.firstname));
 
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/Instanceof.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/Instanceof.java
index dd667c6f..0f65ced0 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/Instanceof.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/Instanceof.java
@@ -53,7 +53,7 @@ public class Instanceof extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.filter(cand.mentor.instanceOf(PartTimeEmployee.class));
 
       // Import Department twice
@@ -91,7 +91,7 @@ public class Instanceof extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.filter(cand.mentor.instanceOf(PartTimeEmployee.class));
 
       // Import Department twice
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/Modulo.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/Modulo.java
index ea6f3643..f9c7b693 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/Modulo.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/Modulo.java
@@ -52,7 +52,7 @@ public class Modulo extends QueryTest {
     List<Person> expected = getTransientCompanyModelInstancesAsList(Person.class, "emp2", "emp4");
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.filter(cand.personid.mod(2).eq(0L));
 
       // Import Department twice
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/StringConcatenation.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/StringConcatenation.java
index d01f858a..4289a293 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/StringConcatenation.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/StringConcatenation.java
@@ -57,7 +57,7 @@ public class StringConcatenation extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.filter(cand.firstname.eq("emp1" + "First"));
 
       QueryElementHolder<Employee> holder =
@@ -93,7 +93,7 @@ public class StringConcatenation extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       StringExpression paramExpr = query.stringParameter("param");
       query.filter(cand.firstname.add("Ext").eq(paramExpr));
 
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/subqueries/CorrelatedSubqueries.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/subqueries/CorrelatedSubqueries.java
index f098d596..069b4c6a 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/subqueries/CorrelatedSubqueries.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/subqueries/CorrelatedSubqueries.java
@@ -140,7 +140,7 @@ public class CorrelatedSubqueries extends SubqueriesTest {
           getTransientCompanyModelInstancesAsList(
               Employee.class, "emp1", "emp2", "emp4", "emp6", "emp7", "emp10");
       try (JDOQLTypedQuery<Employee> q = pm.newJDOQLTypedQuery(Employee.class)) {
-        QEmployee cand = QEmployee.candidate();
+        QEmployee cand = QEmployee.candidate("this");
         JDOQLTypedSubquery<Employee> subquery =
             q.subquery(cand.department.employees, Employee.class, "e");
         QEmployee candsub = QEmployee.candidate("e");
@@ -230,7 +230,7 @@ public class CorrelatedSubqueries extends SubqueriesTest {
       List<Employee> expected =
           getTransientCompanyModelInstancesAsList(Employee.class, "emp7", "emp8", "emp9", "emp10");
       try (JDOQLTypedQuery<Employee> q = pm.newJDOQLTypedQuery(Employee.class)) {
-        QEmployee cand = QEmployee.candidate();
+        QEmployee cand = QEmployee.candidate("this");
         JDOQLTypedSubquery<MeetingRoom> subquery =
             q.subquery(cand.department.meetingRooms, MeetingRoom.class, "r");
         QMeetingRoom candsub = QMeetingRoom.candidate("r");
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/variables/UnconstrainedVariable.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/variables/UnconstrainedVariable.java
index 8827f35d..5d898229 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/variables/UnconstrainedVariable.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/variables/UnconstrainedVariable.java
@@ -50,7 +50,7 @@ public class UnconstrainedVariable extends QueryTest {
           getTransientCompanyModelInstancesAsList(Employee.class, "emp2", "emp3", "emp4");
 
       JDOQLTypedQuery<Employee> query = getPM().newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       QEmployee e = QEmployee.variable("e");
       NumericExpression<?> param = query.numericParameter("id");
       query.filter(cand.hiredate.gt(e.hiredate).and(e.hiredate.eq(param)));
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/variables/VariablesAndFields.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/variables/VariablesAndFields.java
index 2563eab8..4d29a9c6 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/variables/VariablesAndFields.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/variables/VariablesAndFields.java
@@ -63,7 +63,7 @@ public class VariablesAndFields extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       QEmployee e = QEmployee.variable("e");
       query.filter(cand.team.contains(e).and(e.firstname.eq("emp1First")));
 
@@ -102,7 +102,7 @@ public class VariablesAndFields extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       QEmployee e = QEmployee.variable("e");
       query.filter(cand.team.contains(e).and(e.firstname.eq("emp1First")));
 
@@ -140,7 +140,7 @@ public class VariablesAndFields extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.filter(cand.firstname.eq("emp1First"));
 
       QueryElementHolder<Person> holder =
@@ -178,7 +178,7 @@ public class VariablesAndFields extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       QEmployee manager = QEmployee.variable("manager");
       query.filter(cand.team.contains(manager).and(manager.firstname.eq("emp1First")));
 
@@ -217,7 +217,7 @@ public class VariablesAndFields extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       QEmployee manager = QEmployee.variable("manager");
       query.filter(cand.team.contains(cand.manager).and(cand.manager.firstname.eq("emp1First")));
 
@@ -256,7 +256,7 @@ public class VariablesAndFields extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       QEmployee employee = QEmployee.variable("employee");
       query.filter(cand.team.contains(employee).and(employee.firstname.eq("emp1First")));
 
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/result/AggregateResult.java b/tck/src/main/java/org/apache/jdo/tck/query/result/AggregateResult.java
index 3cd215c8..58fbe512 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/result/AggregateResult.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/result/AggregateResult.java
@@ -82,7 +82,7 @@ public class AggregateResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<FullTimeEmployee> query = pm.newJDOQLTypedQuery(FullTimeEmployee.class);
-      QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+      QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
       query.result(false, cand.count());
 
       QueryElementHolder<FullTimeEmployee> holder =
@@ -120,7 +120,7 @@ public class AggregateResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<FullTimeEmployee> query = pm.newJDOQLTypedQuery(FullTimeEmployee.class);
-      QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+      QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
       query.result(false, cand.count());
       query.filter(cand.personid.eq(0L));
 
@@ -159,7 +159,7 @@ public class AggregateResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<FullTimeEmployee> query = pm.newJDOQLTypedQuery(FullTimeEmployee.class);
-      QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+      QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
       query.result(false, cand.manager.count());
 
       QueryElementHolder<FullTimeEmployee> holder =
@@ -197,7 +197,7 @@ public class AggregateResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<FullTimeEmployee> query = pm.newJDOQLTypedQuery(FullTimeEmployee.class);
-      QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+      QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
       query.result(false, cand.manager.personid.count());
 
       QueryElementHolder<FullTimeEmployee> holder =
@@ -235,7 +235,7 @@ public class AggregateResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<FullTimeEmployee> query = pm.newJDOQLTypedQuery(FullTimeEmployee.class);
-      QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+      QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
       query.result(false, cand.manager.countDistinct());
 
       QueryElementHolder<FullTimeEmployee> holder =
@@ -273,7 +273,7 @@ public class AggregateResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<FullTimeEmployee> query = pm.newJDOQLTypedQuery(FullTimeEmployee.class);
-      QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+      QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
       query.result(false, cand.personid.sum());
 
       QueryElementHolder<FullTimeEmployee> holder =
@@ -311,7 +311,7 @@ public class AggregateResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<FullTimeEmployee> query = pm.newJDOQLTypedQuery(FullTimeEmployee.class);
-      QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+      QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
       query.result(false, cand.salary.sum());
 
       QueryElementHolder<FullTimeEmployee> holder =
@@ -350,7 +350,7 @@ public class AggregateResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Project> query = pm.newJDOQLTypedQuery(Project.class);
-      QProject cand = QProject.candidate();
+      QProject cand = QProject.candidate("this");
       query.result(false, cand.budget.sum());
 
       QueryElementHolder<Project> holder =
@@ -388,7 +388,7 @@ public class AggregateResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Project> query = pm.newJDOQLTypedQuery(Project.class);
-      QProject cand = QProject.candidate();
+      QProject cand = QProject.candidate("this");
       query.result(false, cand.budget.sum());
       query.filter(cand.projid.eq(0L));
 
@@ -427,7 +427,7 @@ public class AggregateResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<FullTimeEmployee> query = pm.newJDOQLTypedQuery(FullTimeEmployee.class);
-      QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+      QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
       // DataNucleus: java.lang.ClassCastException:
       // org.datanucleus.api.jdo.query.PersistableExpressionImpl
       // cannot be cast to org.apache.jdo.tck.pc.company.QFullTimeEmployee
@@ -469,7 +469,7 @@ public class AggregateResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<FullTimeEmployee> query = pm.newJDOQLTypedQuery(FullTimeEmployee.class);
-      QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+      QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
       // DataNucleus: )java.lang.ClassCastException:
       // org.datanucleus.api.jdo.query.PersistableExpressionImpl
       // cannot be cast to org.apache.jdo.tck.pc.company.QFullTimeEmployee
@@ -511,7 +511,7 @@ public class AggregateResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<FullTimeEmployee> query = pm.newJDOQLTypedQuery(FullTimeEmployee.class);
-      QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+      QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
       query.result(false, cand.personid.min());
 
       QueryElementHolder<FullTimeEmployee> holder =
@@ -549,7 +549,7 @@ public class AggregateResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<FullTimeEmployee> query = pm.newJDOQLTypedQuery(FullTimeEmployee.class);
-      QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+      QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
       query.result(false, cand.salary.min());
 
       QueryElementHolder<FullTimeEmployee> holder =
@@ -587,7 +587,7 @@ public class AggregateResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Project> query = pm.newJDOQLTypedQuery(Project.class);
-      QProject cand = QProject.candidate();
+      QProject cand = QProject.candidate("this");
       query.result(false, cand.budget.min());
 
       QueryElementHolder<Project> holder =
@@ -625,7 +625,7 @@ public class AggregateResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Project> query = pm.newJDOQLTypedQuery(Project.class);
-      QProject cand = QProject.candidate();
+      QProject cand = QProject.candidate("this");
       query.result(false, cand.budget.min());
       query.filter(cand.projid.eq(0L));
 
@@ -664,7 +664,7 @@ public class AggregateResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<FullTimeEmployee> query = pm.newJDOQLTypedQuery(FullTimeEmployee.class);
-      QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+      QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
       // DataNucleus: ClassCastException: org.datanucleus.api.jdo.query.PersistableExpressionImpl
       // cannot be cast to org.apache.jdo.tck.pc.company.QFullTimeEmployee
       QFullTimeEmployee cast = (QFullTimeEmployee) cand.manager.cast(FullTimeEmployee.class);
@@ -705,7 +705,7 @@ public class AggregateResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<FullTimeEmployee> query = pm.newJDOQLTypedQuery(FullTimeEmployee.class);
-      QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+      QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
       query.result(false, cand.personid.max());
 
       QueryElementHolder<FullTimeEmployee> holder =
@@ -743,7 +743,7 @@ public class AggregateResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<FullTimeEmployee> query = pm.newJDOQLTypedQuery(FullTimeEmployee.class);
-      QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+      QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
       query.result(false, cand.salary.max());
 
       QueryElementHolder<FullTimeEmployee> holder =
@@ -781,7 +781,7 @@ public class AggregateResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Project> query = pm.newJDOQLTypedQuery(Project.class);
-      QProject cand = QProject.candidate();
+      QProject cand = QProject.candidate("this");
       query.result(false, cand.budget.max());
 
       QueryElementHolder<Project> holder =
@@ -819,7 +819,7 @@ public class AggregateResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Project> query = pm.newJDOQLTypedQuery(Project.class);
-      QProject cand = QProject.candidate();
+      QProject cand = QProject.candidate("this");
       query.result(false, cand.budget.max());
       query.filter(cand.projid.eq(0L));
 
@@ -858,7 +858,7 @@ public class AggregateResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<FullTimeEmployee> query = pm.newJDOQLTypedQuery(FullTimeEmployee.class);
-      QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+      QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
       // DataNucleus: java.lang.ClassCastException:
       // org.datanucleus.api.jdo.query.PersistableExpressionImpl
       // cannot be cast to org.apache.jdo.tck.pc.company.QFullTimeEmployee
@@ -900,7 +900,7 @@ public class AggregateResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.result(false, cand.personid.avg());
 
       QueryElementHolder<Person> holder =
@@ -938,7 +938,7 @@ public class AggregateResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<FullTimeEmployee> query = pm.newJDOQLTypedQuery(FullTimeEmployee.class);
-      QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+      QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
       query.result(false, cand.salary.avg());
 
       QueryElementHolder<FullTimeEmployee> holder =
@@ -976,7 +976,7 @@ public class AggregateResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<DentalInsurance> query = pm.newJDOQLTypedQuery(DentalInsurance.class);
-      QDentalInsurance cand = QDentalInsurance.candidate();
+      QDentalInsurance cand = QDentalInsurance.candidate("this");
       query.result(false, cand.lifetimeOrthoBenefit.avg());
 
       QueryElementHolder<DentalInsurance> holder =
@@ -1014,7 +1014,7 @@ public class AggregateResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<DentalInsurance> query = pm.newJDOQLTypedQuery(DentalInsurance.class);
-      QDentalInsurance cand = QDentalInsurance.candidate();
+      QDentalInsurance cand = QDentalInsurance.candidate("this");
       query.result(false, cand.lifetimeOrthoBenefit.avg());
       query.filter(cand.insid.eq(0L));
 
@@ -1053,7 +1053,7 @@ public class AggregateResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<FullTimeEmployee> query = pm.newJDOQLTypedQuery(FullTimeEmployee.class);
-      QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+      QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
       // DataNucleus: java.lang.ClassCastException:
       // org.datanucleus.api.jdo.query.PersistableExpressionImpl
       // cannot be cast to org.apache.jdo.tck.pc.company.QFullTimeEmployee
@@ -1095,7 +1095,7 @@ public class AggregateResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<FullTimeEmployee> query = pm.newJDOQLTypedQuery(FullTimeEmployee.class);
-      QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+      QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
       // DataNucleus: java.lang.ClassCastException:
       // org.datanucleus.api.jdo.query.PersistableExpressionImpl
       // cannot be cast to org.apache.jdo.tck.pc.company.QFullTimeEmployee
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/result/DefaultUnique.java b/tck/src/main/java/org/apache/jdo/tck/query/result/DefaultUnique.java
index 110c7741..49d5ba31 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/result/DefaultUnique.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/result/DefaultUnique.java
@@ -255,7 +255,7 @@ public class DefaultUnique extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.result(false, cand.department.count());
       query.groupBy(cand.department);
 
@@ -293,7 +293,7 @@ public class DefaultUnique extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<DentalInsurance> query = pm.newJDOQLTypedQuery(DentalInsurance.class);
-      QDentalInsurance cand = QDentalInsurance.candidate();
+      QDentalInsurance cand = QDentalInsurance.candidate("this");
       query.filter(cand.employee.ne((Employee) null));
       query.result(false, cand.lifetimeOrthoBenefit.avg());
       query.groupBy(cand.employee.department);
@@ -332,7 +332,7 @@ public class DefaultUnique extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<DentalInsurance> query = pm.newJDOQLTypedQuery(DentalInsurance.class);
-      QDentalInsurance cand = QDentalInsurance.candidate();
+      QDentalInsurance cand = QDentalInsurance.candidate("this");
       query.filter(cand.employee.ne((Employee) null));
       query.result(false, cand.lifetimeOrthoBenefit.min());
       query.groupBy(cand.employee.department);
@@ -371,7 +371,7 @@ public class DefaultUnique extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<DentalInsurance> query = pm.newJDOQLTypedQuery(DentalInsurance.class);
-      QDentalInsurance cand = QDentalInsurance.candidate();
+      QDentalInsurance cand = QDentalInsurance.candidate("this");
       query.filter(cand.employee.ne((Employee) null));
       query.result(false, cand.lifetimeOrthoBenefit.max());
       query.groupBy(cand.employee.department);
@@ -410,7 +410,7 @@ public class DefaultUnique extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<DentalInsurance> query = pm.newJDOQLTypedQuery(DentalInsurance.class);
-      QDentalInsurance cand = QDentalInsurance.candidate();
+      QDentalInsurance cand = QDentalInsurance.candidate("this");
       query.filter(cand.employee.ne((Employee) null));
       query.result(false, cand.lifetimeOrthoBenefit.sum());
       query.groupBy(cand.employee.department);
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/result/DistinctCandidateInstances.java b/tck/src/main/java/org/apache/jdo/tck/query/result/DistinctCandidateInstances.java
index e66b3141..b4642fe2 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/result/DistinctCandidateInstances.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/result/DistinctCandidateInstances.java
@@ -98,7 +98,7 @@ public class DistinctCandidateInstances extends QueryTest {
       PersistenceManager pm = getPMF().getPersistenceManager();
       try {
         JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-        QEmployee cand = QEmployee.candidate();
+        QEmployee cand = QEmployee.candidate("this");
         query.result(true, cand);
         query.variable("p", Person.class);
 
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/result/DistinctQuery.java b/tck/src/main/java/org/apache/jdo/tck/query/result/DistinctQuery.java
index 0bd0eaec..20330d49 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/result/DistinctQuery.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/result/DistinctQuery.java
@@ -58,7 +58,7 @@ public class DistinctQuery extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.result(false, cand.department);
 
       QueryElementHolder<Employee> holder =
@@ -96,7 +96,7 @@ public class DistinctQuery extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.result(true, cand.department);
 
       QueryElementHolder<Employee> holder =
@@ -141,7 +141,7 @@ public class DistinctQuery extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.result(false, cand.department.deptid, cand.department.name);
 
       QueryElementHolder<Employee> holder =
@@ -183,7 +183,7 @@ public class DistinctQuery extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.result(true, cand.department.deptid, cand.department.name);
 
       QueryElementHolder<Employee> holder =
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/result/Grouping.java b/tck/src/main/java/org/apache/jdo/tck/query/result/Grouping.java
index 9075a541..c0d1b255 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/result/Grouping.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/result/Grouping.java
@@ -85,7 +85,7 @@ public class Grouping extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<FullTimeEmployee> query = pm.newJDOQLTypedQuery(FullTimeEmployee.class);
-      QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+      QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
       query.result(false, cand.department, cand.salary.sum());
       query.groupBy(cand.department);
 
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/result/IfElseResult.java b/tck/src/main/java/org/apache/jdo/tck/query/result/IfElseResult.java
index 8e01d281..90a0ee35 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/result/IfElseResult.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/result/IfElseResult.java
@@ -109,7 +109,7 @@ public class IfElseResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<DentalInsurance> query = pm.newJDOQLTypedQuery(DentalInsurance.class);
-      QDentalInsurance cand = QDentalInsurance.candidate();
+      QDentalInsurance cand = QDentalInsurance.candidate("this");
       query.result(
           false,
           query.ifThenElse(
@@ -153,7 +153,7 @@ public class IfElseResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Project> query = pm.newJDOQLTypedQuery(Project.class);
-      QProject cand = QProject.candidate();
+      QProject cand = QProject.candidate("this");
       query.result(
           false,
           query.ifThenElse(
@@ -198,7 +198,7 @@ public class IfElseResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Project> query = pm.newJDOQLTypedQuery(Project.class);
-      QProject cand = QProject.candidate();
+      QProject cand = QProject.candidate("this");
       IfThenElseExpression<String> ifThenElse =
           query
               .ifThen(cand.reviewers.isEmpty(), "No reviewer")
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/result/MethodsInResult.java b/tck/src/main/java/org/apache/jdo/tck/query/result/MethodsInResult.java
index 2f7efe89..1d0ee370 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/result/MethodsInResult.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/result/MethodsInResult.java
@@ -55,7 +55,7 @@ public class MethodsInResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Department> query = pm.newJDOQLTypedQuery(Department.class);
-      QDepartment cand = QDepartment.candidate();
+      QDepartment cand = QDepartment.candidate("this");
       query.result(false, cand.employees.size());
       query.orderBy(cand.name.asc());
 
@@ -99,7 +99,7 @@ public class MethodsInResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.result(false, cand.phoneNumbers.size());
       query.orderBy(cand.lastname.asc(), cand.firstname.asc());
 
@@ -137,7 +137,7 @@ public class MethodsInResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Department> query = pm.newJDOQLTypedQuery(Department.class);
-      QDepartment cand = QDepartment.candidate();
+      QDepartment cand = QDepartment.candidate("this");
       query.result(false, cand.employees.size().max());
 
       QueryElementHolder<Department> holder =
@@ -175,7 +175,7 @@ public class MethodsInResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.result(false, cand.phoneNumbers.get("home"));
       query.orderBy(cand.lastname.asc(), cand.firstname.asc());
 
@@ -213,7 +213,7 @@ public class MethodsInResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.result(false, cand.firstname.substring(1, 4));
       query.orderBy(cand.lastname.asc(), cand.firstname.asc());
 
@@ -257,7 +257,7 @@ public class MethodsInResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.result(false, cand.firstname.indexOf("First"));
       query.orderBy(cand.lastname.asc(), cand.firstname.asc());
 
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/result/NPEInResultExpr.java b/tck/src/main/java/org/apache/jdo/tck/query/result/NPEInResultExpr.java
index 61d2a13f..82208f10 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/result/NPEInResultExpr.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/result/NPEInResultExpr.java
@@ -56,7 +56,7 @@ public class NPEInResultExpr extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.result(false, cand.manager.lastname);
 
       QueryElementHolder<Employee> holder =
@@ -94,7 +94,7 @@ public class NPEInResultExpr extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Department> query = pm.newJDOQLTypedQuery(Department.class);
-      QDepartment cand = QDepartment.candidate();
+      QDepartment cand = QDepartment.candidate("this");
       QEmployee e = QEmployee.variable("e");
       query.filter(cand.employees.contains(e));
       query.result(false, e.manager.lastname);
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/result/NullResults.java b/tck/src/main/java/org/apache/jdo/tck/query/result/NullResults.java
index 0966c17c..40761a12 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/result/NullResults.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/result/NullResults.java
@@ -54,7 +54,7 @@ public class NullResults extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.filter(cand.lastname.eq("emp2Last"));
       query.result(false, cand.manager);
 
@@ -92,7 +92,7 @@ public class NullResults extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.filter(cand.lastname.eq("emp2Last"));
       query.result(false, cand.manager);
 
@@ -130,7 +130,7 @@ public class NullResults extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.result(true, cand.manager);
 
       QueryElementHolder<Employee> holder =
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/result/ResultClassRequirements.java b/tck/src/main/java/org/apache/jdo/tck/query/result/ResultClassRequirements.java
index 05522995..14c3db3e 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/result/ResultClassRequirements.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/result/ResultClassRequirements.java
@@ -161,7 +161,7 @@ public class ResultClassRequirements extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<FullTimeEmployee> query = pm.newJDOQLTypedQuery(FullTimeEmployee.class);
-      QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+      QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
       query.result(false, cand.personid);
 
       QueryElementHolder<FullTimeEmployee> holder =
@@ -199,7 +199,7 @@ public class ResultClassRequirements extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<FullTimeEmployee> query = pm.newJDOQLTypedQuery(FullTimeEmployee.class);
-      QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+      QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
       query.result(false, cand.salary);
 
       QueryElementHolder<FullTimeEmployee> holder =
@@ -238,7 +238,7 @@ public class ResultClassRequirements extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Project> query = pm.newJDOQLTypedQuery(Project.class);
-      QProject cand = QProject.candidate();
+      QProject cand = QProject.candidate("this");
       query.result(false, cand.budget);
 
       QueryElementHolder<Project> holder =
@@ -279,7 +279,7 @@ public class ResultClassRequirements extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<FullTimeEmployee> query = pm.newJDOQLTypedQuery(FullTimeEmployee.class);
-      QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+      QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
       query.result(false, cand.hiredate);
 
       QueryElementHolder<FullTimeEmployee> holder =
@@ -320,7 +320,7 @@ public class ResultClassRequirements extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<FullTimeEmployee> query = pm.newJDOQLTypedQuery(FullTimeEmployee.class);
-      QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+      QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
       // JDOQLTypedQuery API: user defined class
       query.result(false, cand.personid.as("l"), cand.lastname.as("s"));
 
@@ -362,7 +362,7 @@ public class ResultClassRequirements extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<FullTimeEmployee> query = pm.newJDOQLTypedQuery(FullTimeEmployee.class);
-      QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+      QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
       // JDOQLTypedQuery API: constructor
       query.result(false, cand.personid, cand.lastname);
 
@@ -404,7 +404,7 @@ public class ResultClassRequirements extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<FullTimeEmployee> query = pm.newJDOQLTypedQuery(FullTimeEmployee.class);
-      QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+      QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
       // JDOQLTypedQuery API: constructor
       query.result(false, cand.personid, cand.lastname);
 
@@ -443,7 +443,7 @@ public class ResultClassRequirements extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<FullTimeEmployee> query = pm.newJDOQLTypedQuery(FullTimeEmployee.class);
-      QFullTimeEmployee cand = QFullTimeEmployee.candidate();
+      QFullTimeEmployee cand = QFullTimeEmployee.candidate("this");
       // JDOQLTypedQuery API:
       query.result(false, cand.personid.as("l"));
 
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/result/ResultExpressions.java b/tck/src/main/java/org/apache/jdo/tck/query/result/ResultExpressions.java
index 38f10a23..93f46c7d 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/result/ResultExpressions.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/result/ResultExpressions.java
@@ -131,7 +131,7 @@ public class ResultExpressions extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.result(false, cand);
 
       QueryElementHolder<Employee> holder =
@@ -170,7 +170,7 @@ public class ResultExpressions extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.result(false, cand.personid);
 
       QueryElementHolder<Employee> holder =
@@ -208,7 +208,7 @@ public class ResultExpressions extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       QProject p = QProject.variable("p");
       query.result(false, p.projid);
       query.filter(cand.projects.contains(p).and(cand.personid.eq(1l)));
@@ -248,7 +248,7 @@ public class ResultExpressions extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       QProject variable = QProject.variable("p");
       query.result(false, variable);
       query.filter(cand.projects.contains(variable).and(cand.personid.eq(1l)));
@@ -288,7 +288,7 @@ public class ResultExpressions extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.result(false, cand.count());
 
       QueryElementHolder<Employee> holder =
@@ -327,7 +327,7 @@ public class ResultExpressions extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       QProject p = QProject.variable("p");
       query.result(false, p.count());
       query.filter(cand.projects.contains(p).and(cand.personid.eq(1l)));
@@ -367,7 +367,7 @@ public class ResultExpressions extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.result(false, cand.personid.sum());
 
       QueryElementHolder<Employee> holder =
@@ -405,7 +405,7 @@ public class ResultExpressions extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.result(false, cand.personid.min());
 
       QueryElementHolder<Employee> holder =
@@ -443,7 +443,7 @@ public class ResultExpressions extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.result(false, cand.personid.max());
 
       QueryElementHolder<Employee> holder =
@@ -481,7 +481,7 @@ public class ResultExpressions extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.result(false, cand.personid.avg());
 
       QueryElementHolder<Employee> holder =
@@ -521,7 +521,7 @@ public class ResultExpressions extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.result(false, cand.personid.add(1));
 
       QueryElementHolder<Person> holder =
@@ -561,7 +561,7 @@ public class ResultExpressions extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.result(false, cand.personid);
 
       QueryElementHolder<Employee> holder =
@@ -600,7 +600,7 @@ public class ResultExpressions extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       QEmployee e = QEmployee.variable("e");
       Expression<Employee> eExpr = query.variable("e", Employee.class);
       query.result(true, e.department.name);
@@ -641,7 +641,7 @@ public class ResultExpressions extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       QProject p = QProject.parameter("p");
       query.parameter("p", Project.class);
       query.result(false, p.projid);
@@ -685,7 +685,7 @@ public class ResultExpressions extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.result(false, cand.department.deptid);
       query.filter(cand.personid.eq(1l));
 
@@ -724,7 +724,7 @@ public class ResultExpressions extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       QProject p = QProject.parameter("p");
       query.parameter("p", Project.class);
       query.result(false, p);
@@ -768,7 +768,7 @@ public class ResultExpressions extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       query.result(false, cand.manager.cast(FullTimeEmployee.class));
       query.filter(cand.personid.eq(1l));
 
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/result/ShapeOfResult.java b/tck/src/main/java/org/apache/jdo/tck/query/result/ShapeOfResult.java
index ef024642..5b3533d2 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/result/ShapeOfResult.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/result/ShapeOfResult.java
@@ -96,7 +96,7 @@ public class ShapeOfResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.result(false, cand);
 
       QueryElementHolder<Person> holder =
@@ -134,7 +134,7 @@ public class ShapeOfResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.filter(cand.personid.eq(1l));
 
       QueryElementHolder<Person> holder =
@@ -172,7 +172,7 @@ public class ShapeOfResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.filter(cand.personid.eq(1l));
       query.result(false, cand);
 
@@ -212,7 +212,7 @@ public class ShapeOfResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.result(false, cand.firstname);
 
       QueryElementHolder<Person> holder =
@@ -250,7 +250,7 @@ public class ShapeOfResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.filter(cand.personid.eq(1l));
       query.result(false, cand.firstname);
 
@@ -295,7 +295,7 @@ public class ShapeOfResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.result(false, cand.firstname, cand.lastname);
 
       QueryElementHolder<Person> holder =
@@ -333,7 +333,7 @@ public class ShapeOfResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.filter(cand.personid.eq(1l));
       query.result(false, cand.firstname, cand.lastname);
 
@@ -378,7 +378,7 @@ public class ShapeOfResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       // JDOQLTypedQuery API
       query.result(false, cand.firstname, cand.lastname);
 
@@ -417,7 +417,7 @@ public class ShapeOfResult extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.filter(cand.personid.eq(1l));
       // JDOQLTypedQuery API
       query.result(false, cand.firstname, cand.lastname);
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/result/Unique.java b/tck/src/main/java/org/apache/jdo/tck/query/result/Unique.java
index 642fa1b5..a8438429 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/result/Unique.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/result/Unique.java
@@ -55,7 +55,7 @@ public class Unique extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.filter(cand.personid.eq(1l));
 
       QueryElementHolder<Person> holder =
@@ -92,7 +92,7 @@ public class Unique extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.filter(cand.personid.eq(0l));
 
       QueryElementHolder<Person> holder =
@@ -129,7 +129,7 @@ public class Unique extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Person> query = pm.newJDOQLTypedQuery(Person.class);
-      QPerson cand = QPerson.candidate();
+      QPerson cand = QPerson.candidate("this");
       query.orderBy(cand.personid.asc());
 
       QueryElementHolder<Person> holder =
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/result/Variable.java b/tck/src/main/java/org/apache/jdo/tck/query/result/Variable.java
index 832b05e2..fd9fb6ac 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/result/Variable.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/result/Variable.java
@@ -93,7 +93,7 @@ public class Variable extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Department> query = pm.newJDOQLTypedQuery(Department.class);
-      QDepartment cand = QDepartment.candidate();
+      QDepartment cand = QDepartment.candidate("this");
       QEmployee e = QEmployee.variable("e");
       query.filter(cand.employees.contains(e));
       query.result(true, e);
@@ -134,7 +134,7 @@ public class Variable extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       QProject p = QProject.variable("p");
       query.filter(cand.projects.contains(p).and(p.name.eq("orange")));
       query.result(true, p.projid, p.name);
@@ -178,7 +178,7 @@ public class Variable extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Employee> query = pm.newJDOQLTypedQuery(Employee.class);
-      QEmployee cand = QEmployee.candidate();
+      QEmployee cand = QEmployee.candidate("this");
       QProject p = QProject.variable("p");
       query.filter(cand.projects.contains(p).and(p.name.eq("orange")));
       query.result(false, p.projid, p.name);
@@ -220,7 +220,7 @@ public class Variable extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Department> query = pm.newJDOQLTypedQuery(Department.class);
-      QDepartment cand = QDepartment.candidate();
+      QDepartment cand = QDepartment.candidate("this");
       QEmployee e = QEmployee.variable("e");
       query.filter(cand.employees.contains(e));
       query.result(false, e);
@@ -261,7 +261,7 @@ public class Variable extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Department> query = pm.newJDOQLTypedQuery(Department.class);
-      QDepartment cand = QDepartment.candidate();
+      QDepartment cand = QDepartment.candidate("this");
       QEmployee e = QEmployee.variable("e");
       query.filter(cand.deptid.eq(2l).and(cand.employees.contains(e)));
       query.result(false, e);
@@ -310,7 +310,7 @@ public class Variable extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Company> query = pm.newJDOQLTypedQuery(Company.class);
-      QCompany cand = QCompany.candidate();
+      QCompany cand = QCompany.candidate("this");
       QDepartment d = QDepartment.variable("d");
       QEmployee e = QEmployee.variable("e");
       QProject p = QProject.variable("p");
@@ -366,7 +366,7 @@ public class Variable extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Company> query = pm.newJDOQLTypedQuery(Company.class);
-      QCompany cand = QCompany.candidate();
+      QCompany cand = QCompany.candidate("this");
       QDepartment d = QDepartment.variable("d");
       QEmployee e = QEmployee.variable("e");
       QProject p = QProject.variable("p");
@@ -422,7 +422,7 @@ public class Variable extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Company> query = pm.newJDOQLTypedQuery(Company.class);
-      QCompany cand = QCompany.candidate();
+      QCompany cand = QCompany.candidate("this");
       QDepartment d = QDepartment.variable("d");
       QEmployee e = QEmployee.variable("e");
       QProject p = QProject.variable("p");
@@ -472,7 +472,7 @@ public class Variable extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Department> query = pm.newJDOQLTypedQuery(Department.class);
-      QDepartment cand = QDepartment.candidate();
+      QDepartment cand = QDepartment.candidate("this");
       QEmployee e = QEmployee.variable("e");
       QProject p = QProject.variable("p");
       query.filter(cand.employees.contains(e).and(e.projects.contains(p)).and(p.name.eq("orange")));
@@ -521,7 +521,7 @@ public class Variable extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Department> query = pm.newJDOQLTypedQuery(Department.class);
-      QDepartment cand = QDepartment.candidate();
+      QDepartment cand = QDepartment.candidate("this");
       QEmployee e = QEmployee.variable("e");
       QProject p = QProject.variable("p");
       query.filter(cand.employees.contains(e).and(e.projects.contains(p)));
@@ -570,7 +570,7 @@ public class Variable extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Department> query = pm.newJDOQLTypedQuery(Department.class);
-      QDepartment cand = QDepartment.candidate();
+      QDepartment cand = QDepartment.candidate("this");
       QEmployee e = QEmployee.variable("e");
       QProject p = QProject.variable("p");
       query.filter(cand.employees.contains(e).and(e.projects.contains(p)));
@@ -617,7 +617,7 @@ public class Variable extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Department> query = pm.newJDOQLTypedQuery(Department.class);
-      QDepartment cand = QDepartment.candidate();
+      QDepartment cand = QDepartment.candidate("this");
       QEmployee e = QEmployee.variable("e");
       QProject p = QProject.variable("p");
       query.filter(cand.deptid.eq(1l).and(cand.employees.contains(e)).and(e.projects.contains(p)));
@@ -666,7 +666,7 @@ public class Variable extends QueryTest {
     PersistenceManager pm = getPMF().getPersistenceManager();
     try {
       JDOQLTypedQuery<Department> query = pm.newJDOQLTypedQuery(Department.class);
-      QDepartment cand = QDepartment.candidate();
+      QDepartment cand = QDepartment.candidate("this");
       QEmployee e = QEmployee.variable("e");
       QProject p = QProject.variable("p");
       query.filter(