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 2022/07/16 22:47:17 UTC

[db-jdo] 01/07: JDO-817 removing compiler warnings: replace for/while loops with enhanced for loop

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

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

commit 83b5b6fb49b746e95e36e0a0da6f711847d7fb41
Author: Michael Bouschen <Mi...@akquinet.de>
AuthorDate: Sat Jul 16 22:22:25 2022 +0200

    JDO-817 removing compiler warnings: replace for/while loops with enhanced for loop
---
 tck/src/main/java/org/apache/jdo/tck/JDO_Test.java |  38 +-
 .../AbstractInstanceLifecycleListener.java         |   4 +-
 ...ationOfNontransactionalNonpersistentFields.java |   4 +-
 .../ObjectIdUniqueAmongInstances.java              |   4 +-
 .../jdo/tck/api/persistencemanager/ThreadSafe.java |   5 +-
 ...WithInstancesMadePersistentViaReachability.java |   9 +-
 .../extent/GetExtentWithNoSubclasses.java          |  12 +-
 .../extent/GetExtentWithSubclasses.java            |  11 +-
 .../fetchplan/AbstractFetchPlanTest.java           |   4 +-
 .../MakeNontransactionalDirtyInstance.java         |  12 +-
 .../lifecycle/MakeNontransactionalIsImmediate.java |  12 +-
 ...akeNontransactionalPersistentCleanInstance.java |  26 +-
 ...MakeNontransactionalTransientCleanInstance.java |  28 +-
 .../lifecycle/MakePersistentAssignsObjectId.java   |   9 +-
 .../lifecycle/MakeTransactional.java               |  18 +-
 .../lifecycle/MakeTransactionalIsImmediate.java    |  17 +-
 .../lifecycle/MakeTransient.java                   |   9 +-
 .../MakeTransientFieldsPreservedUnchanged.java     |   9 +-
 .../persistencemanagerfactory/AbstractGetPMF.java  |   7 +-
 .../AfterCloseSetMethodsThrowException.java        |  16 +-
 ...erGetPersistenceManagerNoSetMethodsSucceed.java |  12 +-
 .../CloseFailsIfTransactionActive.java             |  13 +-
 .../SetTransactionIsolationLevel.java              |   6 +-
 .../SupportedOptions.java                          |   4 +-
 .../PMsCanSharePCClassesButNotPCInstances.java     |   8 +-
 .../jdo/tck/mapping/AbstractRelationshipTest.java  |   3 +-
 .../apache/jdo/tck/mapping/CompletenessTest.java   |   3 +-
 .../jdo/tck/mapping/CompletenessTestJPA.java       |   3 +-
 .../jdo/tck/mapping/CompletenessTestList.java      |   3 +-
 .../jdo/tck/mapping/CompletenessTestMap.java       |   3 +-
 .../jdo/tck/mapping/CompletenessTestOrder.java     |   3 +-
 .../TestHashMapStringKeyCollections.java           |  16 +-
 .../TestHashMapStringValueCollections.java         |  19 +-
 .../TestHashtableStringKeyCollections.java         |  16 +-
 .../TestHashtableStringValueCollections.java       |  19 +-
 .../fieldtypes/TestMapStringKeyCollections.java    |  16 +-
 .../fieldtypes/TestMapStringValueCollections.java  |  19 +-
 .../TestTreeMapStringKeyCollections.java           |  16 +-
 .../TestTreeMapStringValueCollections.java         |  19 +-
 .../apache/jdo/tck/models/fieldtypes/TestUtil.java |   8 +-
 .../inheritance/FieldWithSameNameInSuperclass.java |   5 +-
 ...rsistentFieldsAreNonPersistentInSubclasses.java |   5 +-
 .../inheritance/NonpersistentSuperClass.java       |   5 +-
 ...ceCapableFlexibilityInInheritanceHierarchy.java |   5 +-
 .../PersistentFieldsArePersistentInSubClasses.java |   5 +-
 ...actionalFieldsAreTransactionalInSubclasses.java |   5 +-
 .../instancecallbacks/InstanceCallbackClass.java   |  22 +-
 .../InstanceCallbackNonPersistFdsClass.java        |   5 +-
 .../java/org/apache/jdo/tck/query/QueryTest.java   |  29 +-
 .../jdo/tck/query/delete/DeleteCallback.java       |  56 +--
 .../jdo/tck/query/delete/DeleteQueryElements.java  |   6 +-
 .../query/jdoql/CharacterAndStringLiterals.java    |   6 +-
 ...gMultipleQueriesSimultaneouslyIsThreadSafe.java |  11 +-
 .../org/apache/jdo/tck/query/jdoql/Having.java     |   6 +-
 .../apache/jdo/tck/query/jdoql/IfElseInFilter.java |   6 +-
 .../query/jdoql/keywords/InvalidUseOfKeywords.java |  14 +-
 .../query/jdoql/keywords/KeywordsAsFieldNames.java |  12 +-
 .../query/jdoql/keywords/UppercaseLowercase.java   |  12 +-
 .../jdoql/methods/SupportedJDOHelperMethods.java   |   4 +-
 .../jdoql/methods/SupportedOptionalMethods.java    |  13 +-
 .../query/jdoql/parameters/MixedParameters.java    |  12 +-
 .../tck/query/jdoql/variables/MixedVariables.java  |   6 +-
 .../jdo/tck/query/result/AggregateResult.java      |   6 +-
 .../org/apache/jdo/tck/query/result/Grouping.java  |   6 +-
 .../apache/jdo/tck/query/result/IfElseResult.java  |   6 +-
 .../tck/query/result/ResultClassRequirements.java  |   6 +-
 .../jdo/tck/query/result/ResultExpressions.java    |   6 +-
 .../jdo/tck/transactions/SetIsolationLevel.java    |  15 +-
 .../apache/jdo/tck/util/BatchResultPrinter.java    |   4 +-
 .../org/apache/jdo/tck/util/BatchTestRunner.java   |  19 +-
 .../org/apache/jdo/tck/util/ClassGenerator.java    | 526 ++++++++++-----------
 .../org/apache/jdo/tck/util/ConversionHelper.java  |  13 +-
 .../apache/jdo/tck/util/GetSupportedOptions.java   |   6 +-
 .../jdo/tck/util/signature/SignatureVerifier.java  |  38 +-
 .../apache/jdo/tck/util/signature/TypeHelper.java  |   3 +-
 75 files changed, 624 insertions(+), 743 deletions(-)

diff --git a/tck/src/main/java/org/apache/jdo/tck/JDO_Test.java b/tck/src/main/java/org/apache/jdo/tck/JDO_Test.java
index 6953b1db..fb186640 100644
--- a/tck/src/main/java/org/apache/jdo/tck/JDO_Test.java
+++ b/tck/src/main/java/org/apache/jdo/tck/JDO_Test.java
@@ -416,8 +416,8 @@ public abstract class JDO_Test extends TestCase {
     
     protected void addTearDownClass(Class<?>[] pcClasses) {
         if (pcClasses == null) return;
-        for (int i = 0; i < pcClasses.length; ++i) {
-            addTearDownClass(pcClasses[i]);
+        for (Class<?> pcClass : pcClasses) {
+            addTearDownClass(pcClass);
         }
     }
     
@@ -471,8 +471,8 @@ public abstract class JDO_Test extends TestCase {
             getPM();
             try {
                 this.pm.currentTransaction().begin();
-                for (Iterator<Class<?>> i = this.tearDownClasses.iterator(); i.hasNext(); ) {
-                    this.pm.deletePersistentAll(getAllObjects(this.pm, i.next()));
+                for (Class<?> tearDownClass : this.tearDownClasses) {
+                    this.pm.deletePersistentAll(getAllObjects(this.pm, tearDownClass));
                 }
                 this.pm.currentTransaction().commit();
             }
@@ -620,8 +620,8 @@ public abstract class JDO_Test extends TestCase {
                     failure = ex;
                 PersistenceManager[] pms = getFailedPersistenceManagers(
                     "closePMF", ex);
-                for (int i = 0; i < pms.length; i++) {
-                    cleanupPM(pms[i]);
+                for (PersistenceManager persistenceManager : pms) {
+                    cleanupPM(persistenceManager);
                 }
             }
             catch (RuntimeException ex) {
@@ -750,8 +750,8 @@ public abstract class JDO_Test extends TestCase {
         PrintStream resultStream = null;
         try {
             resultStream = new PrintStream(new FileOutputStream(file));
-            for (Iterator<String> it = supportedOptions.iterator(); it.hasNext();) {
-                resultStream.println(it.next());
+            for (String supportedOption : supportedOptions) {
+                resultStream.println(supportedOption);
             }
         } catch (FileNotFoundException e) {
             throw new JDOFatalException(
@@ -1146,31 +1146,30 @@ public abstract class JDO_Test extends TestCase {
     protected boolean mangleObject (Object oid) throws IllegalAccessException {
         Field[] fields = getModifiableFields(oid);
         if (fields.length == 0) return false;
-        for (int i = 0; i < fields.length; ++i) {
-            Field field = fields[i];
+        for (Field field : fields) {
             Class<?> fieldType = field.getType();
             if (fieldType == long.class) {
                 field.setLong(oid, 10000L + field.getLong(oid));
             } else if (fieldType == int.class) {
                 field.setInt(oid, 10000 + field.getInt(oid));
             } else if (fieldType == short.class) {
-                field.setShort(oid, (short)(10000 + field.getShort(oid)));
+                field.setShort(oid, (short) (10000 + field.getShort(oid)));
             } else if (fieldType == byte.class) {
-                field.setByte(oid, (byte)(100 + field.getByte(oid)));
+                field.setByte(oid, (byte) (100 + field.getByte(oid)));
             } else if (fieldType == char.class) {
-                field.setChar(oid, (char)(10 + field.getChar(oid)));
+                field.setChar(oid, (char) (10 + field.getChar(oid)));
             } else if (fieldType == String.class) {
                 field.set(oid, "This is certainly a challenge" + field.get(oid));
             } else if (fieldType == Integer.class) {
-                field.set(oid, Integer.valueOf(10000 + ((Integer)field.get(oid)).intValue()));
+                field.set(oid, Integer.valueOf(10000 + ((Integer) field.get(oid)).intValue()));
             } else if (fieldType == Long.class) {
-                field.set(oid, Long.valueOf(10000L + ((Long)field.get(oid)).longValue()));
+                field.set(oid, Long.valueOf(10000L + ((Long) field.get(oid)).longValue()));
             } else if (fieldType == Short.class) {
-                field.set(oid, Short.valueOf((short)(10000 + ((Short)field.get(oid)).shortValue())));
+                field.set(oid, Short.valueOf((short) (10000 + ((Short) field.get(oid)).shortValue())));
             } else if (fieldType == Byte.class) {
-                field.set(oid, Byte.valueOf((byte)(100 + ((Byte)field.get(oid)).byteValue())));
+                field.set(oid, Byte.valueOf((byte) (100 + ((Byte) field.get(oid)).byteValue())));
             } else if (fieldType == Character.class) {
-                field.set(oid, Character.valueOf((char)(10 + ((Character)(field.get(oid))).charValue())));
+                field.set(oid, Character.valueOf((char) (10 + ((Character) (field.get(oid))).charValue())));
             }
         }
         return true;
@@ -1194,8 +1193,7 @@ public abstract class JDO_Test extends TestCase {
                     Class<?> cls = obj.getClass();
                     List<Field> result = new ArrayList<>();
                     Field[] fields = cls.getFields();
-                    for (int i = 0; i < fields.length; ++i) {
-                        Field field = fields[i];
+                    for (Field field : fields) {
                         int modifiers = field.getModifiers();
                         if (Modifier.isFinal(modifiers) ||
                                 Modifier.isStatic(modifiers))
diff --git a/tck/src/main/java/org/apache/jdo/tck/api/instancecallbacks/AbstractInstanceLifecycleListener.java b/tck/src/main/java/org/apache/jdo/tck/api/instancecallbacks/AbstractInstanceLifecycleListener.java
index 4c605e12..fc91238c 100644
--- a/tck/src/main/java/org/apache/jdo/tck/api/instancecallbacks/AbstractInstanceLifecycleListener.java
+++ b/tck/src/main/java/org/apache/jdo/tck/api/instancecallbacks/AbstractInstanceLifecycleListener.java
@@ -342,8 +342,8 @@ public abstract class AbstractInstanceLifecycleListener extends JDO_Test {
         private static int[] newExpected(int[] sequence) {
             int order = 0;
             int[] result = new int[locations.size()];
-            for (int i = 0; i < sequence.length; ++i) {
-                result[sequence[i]] = ++order;
+            for (int j : sequence) {
+                result[j] = ++order;
             }
             return result;
         }
diff --git a/tck/src/main/java/org/apache/jdo/tck/api/instancecallbacks/ModificationOfNontransactionalNonpersistentFields.java b/tck/src/main/java/org/apache/jdo/tck/api/instancecallbacks/ModificationOfNontransactionalNonpersistentFields.java
index f9c3c8a6..e0a10c1b 100644
--- a/tck/src/main/java/org/apache/jdo/tck/api/instancecallbacks/ModificationOfNontransactionalNonpersistentFields.java
+++ b/tck/src/main/java/org/apache/jdo/tck/api/instancecallbacks/ModificationOfNontransactionalNonpersistentFields.java
@@ -143,8 +143,8 @@ public class ModificationOfNontransactionalNonpersistentFields extends JDO_Test
                 logger.debug("obj1.children contains " + obj1.children.size() + " members");
                 if(obj1.children.size() != 0) {
                     logger.debug("Those members are:");
-                    for(Iterator<String> i = obj1.children.iterator(); i.hasNext();) {
-                        logger.debug(i.next());
+                    for (String s : obj1.children) {
+                        logger.debug(s);
                     }
                 }
             }
diff --git a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/ObjectIdUniqueAmongInstances.java b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/ObjectIdUniqueAmongInstances.java
index 65e628de..1403a920 100644
--- a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/ObjectIdUniqueAmongInstances.java
+++ b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/ObjectIdUniqueAmongInstances.java
@@ -80,8 +80,8 @@ public class ObjectIdUniqueAmongInstances extends PersistenceManagerTest {
             // For all new persistent instances, get the object ids and
             // save them in another hashset.  There should be the same
             // number if the ids  are all unique.
-            for (Iterator<PCPoint> it = instances.iterator(); it.hasNext();) {
-                oids.add(pm.getObjectId(it.next()));
+            for (PCPoint instance : instances) {
+                oids.add(pm.getObjectId(instance));
             }
     
             tx.commit();
diff --git a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/ThreadSafe.java b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/ThreadSafe.java
index 6d86ef2f..7c0d014f 100644
--- a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/ThreadSafe.java
+++ b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/ThreadSafe.java
@@ -135,12 +135,11 @@ public class ThreadSafe extends PersistenceManagerTest {
         final Set<Map.Entry<Thread, Throwable>> uncaught = group.getAllUncaughtExceptions();
         if ((uncaught != null) && !uncaught.isEmpty()) {
             StringBuffer report = new StringBuffer("Uncaught exceptions:\n");
-            for (Iterator<Map.Entry<Thread, Throwable>> i = uncaught.iterator(); i.hasNext();) {
-                Map.Entry<Thread, Throwable> next = i.next();
+            for (Map.Entry<Thread, Throwable> next : uncaught) {
                 Thread thread = next.getKey();
                 Throwable problem = next.getValue();
                 report.append(header + ": Uncaught exception " + problem
-                              + " in thread " + thread + "\n");
+                        + " in thread " + thread + "\n");
             }
             fail(ASSERTION_FAILED, report.toString());
             group.clear();
diff --git a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/extent/GetExtentWithInstancesMadePersistentViaReachability.java b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/extent/GetExtentWithInstancesMadePersistentViaReachability.java
index e0014ed7..8d632f75 100644
--- a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/extent/GetExtentWithInstancesMadePersistentViaReachability.java
+++ b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/extent/GetExtentWithInstancesMadePersistentViaReachability.java
@@ -88,14 +88,13 @@ public class GetExtentWithInstancesMadePersistentViaReachability extends Persist
         boolean foundDep2 = false;
         boolean foundDep3 = false;
 
-        for (Iterator<Department> i = e.iterator(); i.hasNext();) {
-            Department dep = i.next();
+        for (Department dep : e) {
             if (dep.getName().equals("Department 1"))
-                foundDep1=true;
+                foundDep1 = true;
             else if (dep.getName().equals("Department 2"))
-                foundDep2=true;
+                foundDep2 = true;
             else if (dep.getName().equals("Department 3"))
-                foundDep3=true;		
+                foundDep3 = true;
         }
 
         if (!foundDep1) {
diff --git a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/extent/GetExtentWithNoSubclasses.java b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/extent/GetExtentWithNoSubclasses.java
index 2e96be72..d1342bb5 100644
--- a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/extent/GetExtentWithNoSubclasses.java
+++ b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/extent/GetExtentWithNoSubclasses.java
@@ -91,16 +91,14 @@ public class GetExtentWithNoSubclasses extends PersistenceManagerTest {
             Extent<PCPoint> e = pm.getExtent(PCPoint.class, false);
             
             int c = 0;
-            for (Iterator<PCPoint> i = e.iterator(); i.hasNext();) {
-                PCPoint p = i.next();
+            for (PCPoint p : e) {
                 if (debug) logger.debug("p.getX() = " + p.getX());
                 if ((p.getX() == 1) || (p.getX() == 3)) {
                     // OK
-                }
-                else {
-                    fail(ASSERTION_FAILED, 
-                         "Extent of class " + PCPoint.class.getName() + 
-                         " includes unexpected instance, p.getX():" + p.getX());
+                } else {
+                    fail(ASSERTION_FAILED,
+                            "Extent of class " + PCPoint.class.getName() +
+                                    " includes unexpected instance, p.getX():" + p.getX());
                 }
             }
             tx.commit();
diff --git a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/extent/GetExtentWithSubclasses.java b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/extent/GetExtentWithSubclasses.java
index 62026e60..2a632d4c 100644
--- a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/extent/GetExtentWithSubclasses.java
+++ b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/extent/GetExtentWithSubclasses.java
@@ -102,16 +102,15 @@ public class GetExtentWithSubclasses extends PersistenceManagerTest {
         boolean foundMichelle = false;
         boolean foundVictor = false;
 
-        for (Iterator<Person> i = e.iterator(); i.hasNext();) {
-            Person p = i.next();
+        for (Person p : e) {
             if ((p.getFirstname().equals("Craig")) && (p.getLastname().equals("Russell")))
-                foundCraig=true;
+                foundCraig = true;
             else if ((p.getFirstname().equals("Michael")) && (p.getLastname().equals("Bouschen")))
-                foundMichael=true;
+                foundMichael = true;
             else if ((p.getFirstname().equals("Michelle")) && (p.getLastname().equals("Caisse")))
-                foundMichelle=true;
+                foundMichelle = true;
             else if ((p.getFirstname().equals("Victor")) && (p.getLastname().equals("Kirkebo")))
-                foundVictor=true;
+                foundVictor = true;
         }
 
         if (!foundCraig) {
diff --git a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/fetchplan/AbstractFetchPlanTest.java b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/fetchplan/AbstractFetchPlanTest.java
index a720673a..a2391875 100644
--- a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/fetchplan/AbstractFetchPlanTest.java
+++ b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/fetchplan/AbstractFetchPlanTest.java
@@ -151,8 +151,8 @@ public class AbstractFetchPlanTest extends JDO_Test {
             FetchPlan fetchPlan, String[] groups) {
         Collection<String> expected = new HashSet<>();
         Collection<String> actual = fetchPlan.getGroups();
-        for (int i = 0; i < groups.length; ++i) {
-            expected.add(groups[i]);
+        for (String group : groups) {
+            expected.add(group);
         }
         if (!expected.equals(actual)) {
             appendMessage(location + NL + "Fetch groups differ." + NL +
diff --git a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakeNontransactionalDirtyInstance.java b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakeNontransactionalDirtyInstance.java
index efadb236..83c75c8d 100644
--- a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakeNontransactionalDirtyInstance.java
+++ b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakeNontransactionalDirtyInstance.java
@@ -212,10 +212,8 @@ public class MakeNontransactionalDirtyInstance extends PersistenceManagerTest {
             int curr;
             tx.begin();
 
-            Iterator<PCPoint> iter = tcol.iterator();
-            while (iter.hasNext()) {
-                PCPoint p = iter.next();
-                if (makeAndTestDirtyInstance(p,state))
+            for (PCPoint p : tcol) {
+                if (makeAndTestDirtyInstance(p, state))
                     stopFlag = true;
             }
 
@@ -249,10 +247,8 @@ public class MakeNontransactionalDirtyInstance extends PersistenceManagerTest {
                 logger.debug(" ** in testMakeNontransactionalDirtyInstanceAll2()");
             tx.begin();
 
-            Iterator<PCPoint> iter = tcol.iterator();
-            while (iter.hasNext()) {
-                PCPoint p = iter.next();
-                if (makeAndTestDirtyInstance(p,state))
+            for (PCPoint p : tcol) {
+                if (makeAndTestDirtyInstance(p, state))
                     stopFlag = true;
             }
 
diff --git a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakeNontransactionalIsImmediate.java b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakeNontransactionalIsImmediate.java
index 904f42b0..c3e44fed 100644
--- a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakeNontransactionalIsImmediate.java
+++ b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakeNontransactionalIsImmediate.java
@@ -221,10 +221,8 @@ public class MakeNontransactionalIsImmediate extends PersistenceManagerTest {
     /** */
     private boolean navigateAndTestTransientCol (Collection<PCPoint> col) {
         boolean noError = true;
-        Iterator<PCPoint> iter = col1.iterator();
-        while (iter.hasNext() ) {
-            PCPoint p = iter.next();
-            if (! testState(p, TRANSIENT, "transient")) {
+        for (PCPoint p : col1) {
+            if (!testState(p, TRANSIENT, "transient")) {
                 noError = false;
             }
         }
@@ -234,9 +232,9 @@ public class MakeNontransactionalIsImmediate extends PersistenceManagerTest {
     /** */
     private boolean navigateAndTestTransientArray (Object[] objArray) {
         boolean noError = true;
-        for (int i=0; i < objArray.length; i++) {
-            PCPoint p = (PCPoint) objArray[i];
-            if (! testState(p, TRANSIENT, "transient")) {
+        for (Object o : objArray) {
+            PCPoint p = (PCPoint) o;
+            if (!testState(p, TRANSIENT, "transient")) {
                 noError = false;
             }
         }
diff --git a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakeNontransactionalPersistentCleanInstance.java b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakeNontransactionalPersistentCleanInstance.java
index 4e997630..fa4d05fc 100644
--- a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakeNontransactionalPersistentCleanInstance.java
+++ b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakeNontransactionalPersistentCleanInstance.java
@@ -169,17 +169,14 @@ public class MakeNontransactionalPersistentCleanInstance
                  makePersistentCleanInstance(p4)) {
                 
                 pm.makeNontransactionalAll(col1);
-                Iterator<PCPoint> iter = col1.iterator();
-                while (iter.hasNext() ) {
-                    PCPoint p = iter.next();
+                for (PCPoint p : col1) {
                     curr = currentState(p);
                     if (curr == HOLLOW ||
-                        curr == PERSISTENT_NONTRANSACTIONAL) {
-                    }
-                    else {
+                            curr == PERSISTENT_NONTRANSACTIONAL) {
+                    } else {
                         fail(ASSERTION_FAILED,
-                             "Expected persistent-nontransactional or hollow; got " + 
-                             getStateOfInstance(p));
+                                "Expected persistent-nontransactional or hollow; got " +
+                                        getStateOfInstance(p));
                     }
                 }
             }
@@ -212,16 +209,15 @@ public class MakeNontransactionalPersistentCleanInstance
                 
                 pm.makeNontransactionalAll(objArray);
 
-                for (int i=0; i < objArray.length; i++) {
-                    PCPoint p = (PCPoint) objArray[i];
+                for (Object o : objArray) {
+                    PCPoint p = (PCPoint) o;
                     curr = currentState(p);
                     if (curr == HOLLOW ||
-                        curr == PERSISTENT_NONTRANSACTIONAL) {
-                    }
-                    else {
+                            curr == PERSISTENT_NONTRANSACTIONAL) {
+                    } else {
                         fail(ASSERTION_FAILED,
-                             "Expected persistent-nontransactional or hollow; got " + 
-                             getStateOfInstance(p));
+                                "Expected persistent-nontransactional or hollow; got " +
+                                        getStateOfInstance(p));
                     }
                 }
             }
diff --git a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakeNontransactionalTransientCleanInstance.java b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakeNontransactionalTransientCleanInstance.java
index 78bdc61b..84bc073f 100644
--- a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakeNontransactionalTransientCleanInstance.java
+++ b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakeNontransactionalTransientCleanInstance.java
@@ -159,16 +159,13 @@ public class MakeNontransactionalTransientCleanInstance extends PersistenceManag
                 testState(p4, TRANSIENT_CLEAN, "transient clean")) {
                 
                 pm.makeNontransactionalAll(col1);
-                Iterator<PCPoint> iter = col1.iterator();
-                while (iter.hasNext() ) {
-                    PCPoint p = iter.next();
+                for (PCPoint p : col1) {
                     if (testState(p, TRANSIENT, "transient")) {
                         // expected result
-                    }
-                    else {
-                    fail(ASSERTION_FAILED, 
-                         "expected transient instance after pm.makeNontransactionalAll, instance is " +
-                         getStateOfInstance(p));
+                    } else {
+                        fail(ASSERTION_FAILED,
+                                "expected transient instance after pm.makeNontransactionalAll, instance is " +
+                                        getStateOfInstance(p));
                     }
                 }
             }
@@ -197,16 +194,15 @@ public class MakeNontransactionalTransientCleanInstance extends PersistenceManag
                 testState(p7, TRANSIENT_CLEAN, "transient clean")) {
                 
                 pm.makeNontransactionalAll(objArray);
-                
-                for (int i=0; i < objArray.length; i++) {
-                    PCPoint p = (PCPoint) objArray[i];
+
+                for (Object o : objArray) {
+                    PCPoint p = (PCPoint) o;
                     if (testState(p, TRANSIENT, "transient")) {
                         // expected result
-                    }
-                    else {
-                        fail(ASSERTION_FAILED, 
-                             "expected transient instance after pm.makeNontransactionalAll, instance is " +
-                             getStateOfInstance(p));
+                    } else {
+                        fail(ASSERTION_FAILED,
+                                "expected transient instance after pm.makeNontransactionalAll, instance is " +
+                                        getStateOfInstance(p));
                     }
                 }
             }
diff --git a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakePersistentAssignsObjectId.java b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakePersistentAssignsObjectId.java
index 5026355c..fcbdf4cf 100644
--- a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakePersistentAssignsObjectId.java
+++ b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakePersistentAssignsObjectId.java
@@ -125,16 +125,15 @@ public class MakePersistentAssignsObjectId extends PersistenceManagerTest {
             
             pm.makePersistentAll(col1);
 
-            for (Iterator<PCPoint> i = col1.iterator(); i.hasNext();) {
-                PCPoint p = i.next();
+            for (PCPoint p : col1) {
                 if (!testState(p, PERSISTENT_NEW, "persistent_new")) {
                     fail(ASSERTION_FAILED,
-                         "expected P-NEW instance, instance is " + getStateOfInstance(p) + ".");
+                            "expected P-NEW instance, instance is " + getStateOfInstance(p) + ".");
                 }
-                
+
                 if (pm.getObjectId(p) == null) {
                     fail(ASSERTION_FAILED,
-                         "pm.makePersistentAll should assign non-null oid.");
+                            "pm.makePersistentAll should assign non-null oid.");
                 }
             }
             
diff --git a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakeTransactional.java b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakeTransactional.java
index dc78aa8f..d7afaf2a 100644
--- a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakeTransactional.java
+++ b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakeTransactional.java
@@ -123,13 +123,11 @@ public class MakeTransactional extends PersistenceManagerTest{
             col1.add(p4);
             
             pm.makeTransactionalAll(col1);
-            Iterator<PCPoint> iter = col1.iterator();
-            while (iter.hasNext() ) {
-                PCPoint p = iter.next();
+            for (PCPoint p : col1) {
                 if (currentState(p) != TRANSIENT_CLEAN) {
                     fail(ASSERTION_FAILED,
-                         "Expected T-CLEAN instance, instance " + p + " is " + 
-                         getStateOfInstance(p1) + ".");
+                            "Expected T-CLEAN instance, instance " + p + " is " +
+                                    getStateOfInstance(p1) + ".");
                 }
             }
             tx.commit();
@@ -149,13 +147,13 @@ public class MakeTransactional extends PersistenceManagerTest{
             
             Object[] objArray = {p1,p2,p3,p4};
             pm.makeTransactionalAll(objArray);
-            
-            for ( int i=0; i < objArray.length; i++) {
-                p = (PCPoint) objArray[i];
+
+            for (Object o : objArray) {
+                p = (PCPoint) o;
                 if (currentState(p) != TRANSIENT_CLEAN) {
                     fail(ASSERTION_FAILED,
-                         "Expected T-CLEAN instance, instance " + p + " is " + 
-                         getStateOfInstance(p1) + ".");
+                            "Expected T-CLEAN instance, instance " + p + " is " +
+                                    getStateOfInstance(p1) + ".");
                 }
             }
             tx.commit();
diff --git a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakeTransactionalIsImmediate.java b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakeTransactionalIsImmediate.java
index 9026f750..337431fe 100644
--- a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakeTransactionalIsImmediate.java
+++ b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakeTransactionalIsImmediate.java
@@ -141,12 +141,11 @@ public class MakeTransactionalIsImmediate extends PersistenceManagerTest {
             pm.makeTransactionalAll(col1);
             tx.rollback();
 
-            for (Iterator<PCPoint> iter = col1.iterator(); iter.hasNext();) {
-                PCPoint p = iter.next();
+            for (PCPoint p : col1) {
                 if (!testState(p, TRANSIENT_CLEAN, "transient_clean")) {
                     fail(ASSERTION_FAILED,
-                         "expected T-CLEAN instance, instance " + p1 + 
-                         " is " + getStateOfInstance(p));
+                            "expected T-CLEAN instance, instance " + p1 +
+                                    " is " + getStateOfInstance(p));
                 }
             }
             tx = null;
@@ -167,13 +166,13 @@ public class MakeTransactionalIsImmediate extends PersistenceManagerTest {
             Object[] objArray = col2.toArray();
             pm.makeTransactionalAll(objArray);
             tx.rollback();
-            
-            for (int i=0; i < objArray.length; i++) {
-                PCPoint p = (PCPoint) objArray[i];
+
+            for (Object o : objArray) {
+                PCPoint p = (PCPoint) o;
                 if (!testState(p, TRANSIENT_CLEAN, "transient_clean")) {
                     fail(ASSERTION_FAILED,
-                         "expected T-CLEAN instance, instance " + p1 + 
-                         " is " + getStateOfInstance(p));
+                            "expected T-CLEAN instance, instance " + p1 +
+                                    " is " + getStateOfInstance(p));
                 }
             }
             tx = null;
diff --git a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakeTransient.java b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakeTransient.java
index 88434160..042c1e7a 100644
--- a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakeTransient.java
+++ b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakeTransient.java
@@ -132,12 +132,11 @@ public class MakeTransient extends PersistenceManagerTest {
             pm.makeTransientAll(col1);
             tx.commit();
             tx = null;
-            
-            for (Iterator<PCPoint> iter = col1.iterator(); iter.hasNext();) {
-                PCPoint p = iter.next();
+
+            for (PCPoint p : col1) {
                 if (!testState(p, TRANSIENT, "transient")) {
-                    fail("expected TRANSIENT instance, instance " + p1 + 
-                         " is " + getStateOfInstance(p));
+                    fail("expected TRANSIENT instance, instance " + p1 +
+                            " is " + getStateOfInstance(p));
                 }
             }
         }
diff --git a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakeTransientFieldsPreservedUnchanged.java b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakeTransientFieldsPreservedUnchanged.java
index bbe37af3..963acc63 100644
--- a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakeTransientFieldsPreservedUnchanged.java
+++ b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanager/lifecycle/MakeTransientFieldsPreservedUnchanged.java
@@ -194,13 +194,12 @@ public class MakeTransientFieldsPreservedUnchanged extends PersistenceManagerTes
             pm.makeTransientAll(col1);
             tx.commit();
             tx = null;
-            
-            for (Iterator<PCPoint> iter = col1.iterator(); iter.hasNext();) {
-                PCPoint p = iter.next();
+
+            for (PCPoint p : col1) {
                 if (!testState(p, TRANSIENT, "transient")) {
                     fail(ASSERTION_FAILED,
-                         "expected TRANSIENT instance, instance " + p + 
-                         " is " + getStateOfInstance(p));
+                            "expected TRANSIENT instance, instance " + p +
+                                    " is " + getStateOfInstance(p));
                 }
             }
         }
diff --git a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanagerfactory/AbstractGetPMF.java b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanagerfactory/AbstractGetPMF.java
index cd1697a4..96dcf90e 100644
--- a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanagerfactory/AbstractGetPMF.java
+++ b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanagerfactory/AbstractGetPMF.java
@@ -147,16 +147,15 @@ abstract class AbstractGetPMF extends JDO_Test {
         Class<?> pmfclass = pmf.getClass();
         Set<Map.Entry<Object, Object>> entries = props.entrySet();
         StringBuffer buffer = new StringBuffer();
-        for (Iterator<Map.Entry<Object, Object>> it = entries.iterator(); it.hasNext();) {
-            Map.Entry<Object, Object> entry = it.next();
-            String key = (String)entry.getKey();
+        for (Map.Entry<Object, Object> entry : entries) {
+            String key = (String) entry.getKey();
             if (key.equals("javax.jdo.option.ConnectionPassword")) {
                 continue;
             }
             if (key.equals("javax.jdo.option.ConnectionUserName")) {
                 continue;
             }
-            String expected = (String)entry.getValue();
+            String expected = (String) entry.getValue();
             if (key.startsWith(javaxjdooption)) {
                 String optionName = key.substring(javaxjdooption.length());
                 Method getMethod = getGetMethod(pmfclass, optionName);
diff --git a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanagerfactory/AfterCloseSetMethodsThrowException.java b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanagerfactory/AfterCloseSetMethodsThrowException.java
index 35cde34c..74bb0ee5 100644
--- a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanagerfactory/AfterCloseSetMethodsThrowException.java
+++ b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanagerfactory/AfterCloseSetMethodsThrowException.java
@@ -135,33 +135,31 @@ public class AfterCloseSetMethodsThrowException extends JDO_Test {
         closePMF(pmf); // don't use closePMF() because that sets pmf to null
         // each set method should throw an exception
         Collection<SetProperty> setCollection = Arrays.asList(setMethods);
-        for (Iterator<SetProperty> it = setCollection.iterator(); it.hasNext();) {
-            SetProperty sp = it.next();
+        for (SetProperty sp : setCollection) {
             String where = sp.getMethodName();
             try {
                 sp.execute(pmf);
                 fail(ASSERTION_FAILED,
-                    "pmf method " + where + " should throw JDOUserException when called for closed pmf");
+                        "pmf method " + where + " should throw JDOUserException when called for closed pmf");
             } catch (JDOUserException ex) {
                 if (debug)
                     logger.debug("Caught expected exception " + ex +
-                                 " from " + where);
+                            " from " + where);
             } catch (Exception ex) {
                 fail(ASSERTION_FAILED,
-                     "Caught unexpected exception " + ex + " from " + where);
+                        "Caught unexpected exception " + ex + " from " + where);
             }
         }
         // each get method should succeed
         Collection<GetProperty> getCollection = Arrays.asList(getMethods);
-        for (Iterator<GetProperty> it = getCollection.iterator(); it.hasNext();) {
-            GetProperty gp = it.next();
+        for (GetProperty gp : getCollection) {
             String where = gp.getMethodName();
             try {
                 gp.execute(pmf);
             } catch (Exception ex) {
                 fail(ASSERTION_FAILED,
-                     "Caught unexpected exception " + ex + " from " +
-                     where);
+                        "Caught unexpected exception " + ex + " from " +
+                                where);
             }
         }
     }
diff --git a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanagerfactory/AfterGetPersistenceManagerNoSetMethodsSucceed.java b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanagerfactory/AfterGetPersistenceManagerNoSetMethodsSucceed.java
index c3aa7e3b..bf7ee474 100644
--- a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanagerfactory/AfterGetPersistenceManagerNoSetMethodsSucceed.java
+++ b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanagerfactory/AfterGetPersistenceManagerNoSetMethodsSucceed.java
@@ -141,14 +141,13 @@ public class AfterGetPersistenceManagerNoSetMethodsSucceed extends JDO_Test {
 
         // each set method should throw an exception
         Collection<SetProperty> setCollection = Arrays.asList(setMethods);
-        for (Iterator<SetProperty> it = setCollection.iterator(); it.hasNext();) {
-            SetProperty sp = it.next();
+        for (SetProperty sp : setCollection) {
             String where = sp.getMethodName();
             try {
                 sp.execute(pmf);
                 fail(ASSERTION_FAILED,
-                     "pmf method " + where + 
-                     " should throw JDOUserException when called after getPersistenceManager");
+                        "pmf method " + where +
+                                " should throw JDOUserException when called after getPersistenceManager");
             } catch (JDOUserException ex) {
                 if (debug)
                     logger.debug("Caught expected exception " + ex + " from " + where);
@@ -156,14 +155,13 @@ public class AfterGetPersistenceManagerNoSetMethodsSucceed extends JDO_Test {
         }
         // each get method should succeed
         Collection<GetProperty> getCollection = Arrays.asList(getMethods);
-        for (Iterator<GetProperty> it = getCollection.iterator(); it.hasNext();) {
-            GetProperty gp = it.next();
+        for (GetProperty gp : getCollection) {
             String where = gp.getMethodName();
             try {
                 gp.execute(pmf);
             } catch (JDOUserException ex) {
                 fail(ASSERTION_FAILED,
-                     "Caught unexpected exception " + ex + " from " + where);
+                        "Caught unexpected exception " + ex + " from " + where);
             }
         }
     }
diff --git a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanagerfactory/CloseFailsIfTransactionActive.java b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanagerfactory/CloseFailsIfTransactionActive.java
index ac1ea987..b20cee0e 100644
--- a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanagerfactory/CloseFailsIfTransactionActive.java
+++ b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanagerfactory/CloseFailsIfTransactionActive.java
@@ -160,22 +160,19 @@ public class CloseFailsIfTransactionActive extends JDO_Test {
         } catch (JDOException ex) {
             PersistenceManager[] pms = getFailedPersistenceManagers(ex);
             int numberOfPersistenceManagers = pms.length;
-            for (int i = 0; i < numberOfPersistenceManagers; ++i) {
-                PersistenceManager pm = pms[i];
+            for (PersistenceManager pm : pms) {
                 if (pm == null) {
                     fail(ASSERTION_FAILED,
-                         "Found unexpected null PersistenceManager");
-                } 
-                else {
+                            "Found unexpected null PersistenceManager");
+                } else {
                     Transaction tx = pm.currentTransaction();
                     if (tx.isActive()) {
                         if (debug)
                             logger.debug("Found active transaction; rolling back.");
                         tx.rollback();
-                    } 
-                    else {
+                    } else {
                         fail(ASSERTION_FAILED,
-                             "Unexpectedly, this transaction is not active: " + tx);
+                                "Unexpectedly, this transaction is not active: " + tx);
                     }
                 }
             }
diff --git a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanagerfactory/SetTransactionIsolationLevel.java b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanagerfactory/SetTransactionIsolationLevel.java
index e34f39a4..afa096ce 100644
--- a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanagerfactory/SetTransactionIsolationLevel.java
+++ b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanagerfactory/SetTransactionIsolationLevel.java
@@ -79,8 +79,7 @@ public class SetTransactionIsolationLevel extends JDO_Test
     /** Set TransactionIsolationLevel to all values via API. */ 
     public void testSetTransactionIsolationLevelByAPI() {
         // iterate through all possible TransactionIsolationLevels
-        for (int i = 0; i < transactionIsolationLevels.length; ++i) {
-            String transactionIsolationLevel = transactionIsolationLevels[i];
+        for (String transactionIsolationLevel : transactionIsolationLevels) {
             setTransactionIsolationLevelByAPI(transactionIsolationLevel);
         }
         failOnError();
@@ -89,8 +88,7 @@ public class SetTransactionIsolationLevel extends JDO_Test
     /** Set TransactionIsolationLevel to all values from properties. */ 
     public void testSetTransactionIsolationLevelFromProperties() {
         // iterate through all possible TransactionIsolationLevels
-        for (int i = 0; i < transactionIsolationLevels.length; ++i) {
-            String transactionIsolationLevel = transactionIsolationLevels[i];
+        for (String transactionIsolationLevel : transactionIsolationLevels) {
             getPMFsetTransactionIsolationLevelFromProperties(transactionIsolationLevel);
         }
         failOnError();
diff --git a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanagerfactory/SupportedOptions.java b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanagerfactory/SupportedOptions.java
index 27ef3f56..ba4090d9 100644
--- a/tck/src/main/java/org/apache/jdo/tck/api/persistencemanagerfactory/SupportedOptions.java
+++ b/tck/src/main/java/org/apache/jdo/tck/api/persistencemanagerfactory/SupportedOptions.java
@@ -67,9 +67,7 @@ public class SupportedOptions extends JDO_Test {
         PersistenceManagerFactory pmf = getPMF();
         if (debug) logger.debug("Options supported by this implementation:");
         Collection<String> c = pmf.supportedOptions();
-        Iterator<String> iter = c.iterator();
-        while( iter.hasNext() ){
-            String option = iter.next();
+        for (String option : c) {
             if (debug) logger.debug(option);
         }
     }  
diff --git a/tck/src/main/java/org/apache/jdo/tck/lifecycle/PMsCanSharePCClassesButNotPCInstances.java b/tck/src/main/java/org/apache/jdo/tck/lifecycle/PMsCanSharePCClassesButNotPCInstances.java
index b96f605c..34735bd2 100644
--- a/tck/src/main/java/org/apache/jdo/tck/lifecycle/PMsCanSharePCClassesButNotPCInstances.java
+++ b/tck/src/main/java/org/apache/jdo/tck/lifecycle/PMsCanSharePCClassesButNotPCInstances.java
@@ -142,12 +142,11 @@ public class PMsCanSharePCClassesButNotPCInstances extends JDO_Test {
         }
 
         Set<Map.Entry<Thread, Throwable>> exceptions = threadGroup.getAllUncaughtExceptions();
-        for (Iterator<Map.Entry<Thread, Throwable>> i = exceptions.iterator(); i.hasNext(); ) {
-            Map.Entry<Thread, Throwable> entry = i.next();
+        for (Map.Entry<Thread, Throwable> entry : exceptions) {
             Thread thread = entry.getKey();
             Throwable throwable = entry.getValue();
             String message = "Uncaught exception " + throwable + " in thread " + thread;
-            if( throwable instanceof AssertionFailedError )
+            if (throwable instanceof AssertionFailedError)
                 fail(ASSERTION_FAILED, message);
             else
                 throw new JDOFatalException(message, throwable);
@@ -231,8 +230,7 @@ public class PMsCanSharePCClassesButNotPCInstances extends JDO_Test {
                     logger.debug("getting Extent of " + instanceClass.getName());
                 tx.begin();
                 Extent<?> e = pm.getExtent(instanceClass, false);
-                for (Iterator<?> i = e.iterator(); i.hasNext();) {
-                    Object instance = i.next();
+                for (Object instance : e) {
                     objCount++;
                 }
                 tx.commit();
diff --git a/tck/src/main/java/org/apache/jdo/tck/mapping/AbstractRelationshipTest.java b/tck/src/main/java/org/apache/jdo/tck/mapping/AbstractRelationshipTest.java
index 956e9193..2f170116 100644
--- a/tck/src/main/java/org/apache/jdo/tck/mapping/AbstractRelationshipTest.java
+++ b/tck/src/main/java/org/apache/jdo/tck/mapping/AbstractRelationshipTest.java
@@ -53,8 +53,7 @@ public class AbstractRelationshipTest extends AbstractReaderTest {
             List<Object> rootList = getRootList(reader);
             pm.makePersistentAll(rootList);
             rootOids = new ArrayList<>();
-            for (Iterator<Object> i = rootList.iterator(); i.hasNext(); ) {
-                Object pc = i.next();
+            for (Object pc : rootList) {
                 rootOids.add(pm.getObjectId(pc));
             }
             // DO THIS
diff --git a/tck/src/main/java/org/apache/jdo/tck/mapping/CompletenessTest.java b/tck/src/main/java/org/apache/jdo/tck/mapping/CompletenessTest.java
index d8317c64..d903fc7b 100644
--- a/tck/src/main/java/org/apache/jdo/tck/mapping/CompletenessTest.java
+++ b/tck/src/main/java/org/apache/jdo/tck/mapping/CompletenessTest.java
@@ -68,8 +68,7 @@ public class CompletenessTest extends AbstractReaderTest {
             List<Object> rootList = getRootList(reader);
             pm.makePersistentAll(rootList);
             rootOids = new ArrayList<>();
-            for (Iterator<Object> i = rootList.iterator(); i.hasNext(); ) {
-                Object pc = i.next();
+            for (Object pc : rootList) {
                 rootOids.add(pm.getObjectId(pc));
             }
             pm.currentTransaction().commit();
diff --git a/tck/src/main/java/org/apache/jdo/tck/mapping/CompletenessTestJPA.java b/tck/src/main/java/org/apache/jdo/tck/mapping/CompletenessTestJPA.java
index 2fe28e9e..88dabf77 100644
--- a/tck/src/main/java/org/apache/jdo/tck/mapping/CompletenessTestJPA.java
+++ b/tck/src/main/java/org/apache/jdo/tck/mapping/CompletenessTestJPA.java
@@ -71,8 +71,7 @@ public class CompletenessTestJPA extends AbstractReaderTest {
             List<Object> rootList = getRootList(reader);
             pm.makePersistentAll(rootList);
             rootOids = new ArrayList<>();
-            for (Iterator<Object> i = rootList.iterator(); i.hasNext(); ) {
-                Object pc = i.next();
+            for (Object pc : rootList) {
                 rootOids.add(pm.getObjectId(pc));
             }
             pm.currentTransaction().commit();
diff --git a/tck/src/main/java/org/apache/jdo/tck/mapping/CompletenessTestList.java b/tck/src/main/java/org/apache/jdo/tck/mapping/CompletenessTestList.java
index dd59b938..e70d8aba 100644
--- a/tck/src/main/java/org/apache/jdo/tck/mapping/CompletenessTestList.java
+++ b/tck/src/main/java/org/apache/jdo/tck/mapping/CompletenessTestList.java
@@ -71,8 +71,7 @@ public class CompletenessTestList extends AbstractReaderTest {
             List<Object> rootList = getRootList(reader);
             pm.makePersistentAll(rootList);
             rootOids = new ArrayList<>();
-            for (Iterator<Object> i = rootList.iterator(); i.hasNext(); ) {
-                Object pc = i.next();
+            for (Object pc : rootList) {
                 rootOids.add(pm.getObjectId(pc));
             }
             pm.currentTransaction().commit();
diff --git a/tck/src/main/java/org/apache/jdo/tck/mapping/CompletenessTestMap.java b/tck/src/main/java/org/apache/jdo/tck/mapping/CompletenessTestMap.java
index e53acea3..40c9d795 100644
--- a/tck/src/main/java/org/apache/jdo/tck/mapping/CompletenessTestMap.java
+++ b/tck/src/main/java/org/apache/jdo/tck/mapping/CompletenessTestMap.java
@@ -71,8 +71,7 @@ public class CompletenessTestMap extends AbstractReaderTest {
             List<Object> rootList = getRootList(reader);
             pm.makePersistentAll(rootList);
             rootOids = new ArrayList<>();
-            for (Iterator<Object> i = rootList.iterator(); i.hasNext(); ) {
-                Object pc = i.next();
+            for (Object pc : rootList) {
                 rootOids.add(pm.getObjectId(pc));
             }
             pm.currentTransaction().commit();
diff --git a/tck/src/main/java/org/apache/jdo/tck/mapping/CompletenessTestOrder.java b/tck/src/main/java/org/apache/jdo/tck/mapping/CompletenessTestOrder.java
index 3beea9fe..2b9115f5 100644
--- a/tck/src/main/java/org/apache/jdo/tck/mapping/CompletenessTestOrder.java
+++ b/tck/src/main/java/org/apache/jdo/tck/mapping/CompletenessTestOrder.java
@@ -68,8 +68,7 @@ public class CompletenessTestOrder extends AbstractReaderTest {
             List<Object> rootList = getRootList(reader);
             pm.makePersistentAll(rootList);
             rootOids = new ArrayList<>();
-            for (Iterator<Object> i = rootList.iterator(); i.hasNext(); ) {
-                Object pc = i.next();
+            for (Object pc : rootList) {
                 rootOids.add(pm.getObjectId(pc));
             }
             pm.currentTransaction().commit();
diff --git a/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestHashMapStringKeyCollections.java b/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestHashMapStringKeyCollections.java
index 3a4a846a..9113292f 100644
--- a/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestHashMapStringKeyCollections.java
+++ b/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestHashMapStringKeyCollections.java
@@ -172,20 +172,18 @@ public class TestHashMapStringKeyCollections extends JDO_Test {
                             HashMapStringKeyCollections.fieldSpecs[i]
                             ).get(1).equals("BigDecimal")) {
                     Set<?> keys = expected.keySet();
-                    Iterator<?> iter = keys.iterator();
-                    while (iter.hasNext()) {
-                        Object nextKey = iter.next();
-                        BigDecimal expectedMapValue = 
-                                (BigDecimal)expected.get(nextKey);
-                        BigDecimal actualMapValue = 
-                                (BigDecimal)actual.get(nextKey);
+                    for (Object nextKey : keys) {
+                        BigDecimal expectedMapValue =
+                                (BigDecimal) expected.get(nextKey);
+                        BigDecimal actualMapValue =
+                                (BigDecimal) actual.get(nextKey);
                         if ((expectedMapValue.compareTo(actualMapValue) != 0)) {
-                            sbuf.append("\nFor element " + i + "(" 
+                            sbuf.append("\nFor element " + i + "("
                                     + nextKey +
                                     "), expected = " + expectedMapValue +
                                     ", actual = " + actualMapValue + " . ");
+                        }
                     }
-                }
             }
             else {
                 sbuf.append("\nFor element " + i + ", expected = " +
diff --git a/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestHashMapStringValueCollections.java b/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestHashMapStringValueCollections.java
index a2e47f75..9dde439d 100644
--- a/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestHashMapStringValueCollections.java
+++ b/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestHashMapStringValueCollections.java
@@ -174,27 +174,26 @@ public class TestHashMapStringValueCollections extends JDO_Test {
                             ).get(0).equals("BigDecimal")) {
                     Set<?> expectedKeySet = expected.keySet();
                     Set actualKeySet = actual.keySet();
-                    Iterator<?> expectedIter = expectedKeySet.iterator();
-                    while (expectedIter.hasNext()) {
-                        BigDecimal expectedKey = (BigDecimal) expectedIter.next();
+                    for (Object o : expectedKeySet) {
+                        BigDecimal expectedKey = (BigDecimal) o;
                         // compare keys
                         if (!TestUtil.containsBigDecimalKey(expectedKey, actualKeySet)) {
                             sbuf.append("\nFor element " + i +
                                     " expected key = " + expectedKey +
                                     " not found in actual Map.  Actual keyset is "
                                     + actualKeySet);
-                        // compare values
+                            // compare values
                         } else {
                             String expectedVal = (String) expected.get(expectedKey);
                             String actualValue = (String)
-                               actual.get(TestUtil.getBigDecimalKey(expectedKey,
-                                                                    actualKeySet));
+                                    actual.get(TestUtil.getBigDecimalKey(expectedKey,
+                                            actualKeySet));
                             if (!expectedVal.equals(actualValue)) {
                                 sbuf.append("\nFor element " + i +
-                                    " expected value = " + expectedVal +
-                                    " actual Value = " + actualValue);
-                           }
-                       }
+                                        " expected value = " + expectedVal +
+                                        " actual Value = " + actualValue);
+                            }
+                        }
                     }
             }
             else {
diff --git a/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestHashtableStringKeyCollections.java b/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestHashtableStringKeyCollections.java
index 99d82e18..9cd6e59e 100644
--- a/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestHashtableStringKeyCollections.java
+++ b/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestHashtableStringKeyCollections.java
@@ -174,20 +174,18 @@ public class TestHashtableStringKeyCollections extends JDO_Test {
                             HashtableStringKeyCollections.fieldSpecs[i]
                             ).get(1).equals("BigDecimal")) {
                     Set<?> keys = expected.keySet();
-                    Iterator<?> iter = keys.iterator();
-                    while (iter.hasNext()) {
-                        Object nextKey = iter.next();
-                        BigDecimal expectedMapValue = 
-                                (BigDecimal)expected.get(nextKey);
-                        BigDecimal actualMapValue = 
-                                (BigDecimal)actual.get(nextKey);
+                    for (Object nextKey : keys) {
+                        BigDecimal expectedMapValue =
+                                (BigDecimal) expected.get(nextKey);
+                        BigDecimal actualMapValue =
+                                (BigDecimal) actual.get(nextKey);
                         if ((expectedMapValue.compareTo(actualMapValue) != 0)) {
-                            sbuf.append("\nFor element " + i + "(" 
+                            sbuf.append("\nFor element " + i + "("
                                     + nextKey +
                                     "), expected = " + expectedMapValue +
                                     ", actual = " + actualMapValue + " . ");
+                        }
                     }
-                }
             }
             else {
                 sbuf.append("\nFor element " + i + ", expected = " +
diff --git a/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestHashtableStringValueCollections.java b/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestHashtableStringValueCollections.java
index 9f289f75..6f3b0918 100644
--- a/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestHashtableStringValueCollections.java
+++ b/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestHashtableStringValueCollections.java
@@ -173,27 +173,26 @@ public class TestHashtableStringValueCollections extends JDO_Test {
                             ).get(0).equals("BigDecimal")) {
                     Set<?> expectedKeySet = expected.keySet();
                     Set actualKeySet = actual.keySet();
-                    Iterator<?> expectedIter = expectedKeySet.iterator();
-                    while (expectedIter.hasNext()) {
-                        BigDecimal expectedKey = (BigDecimal) expectedIter.next();
+                    for (Object o : expectedKeySet) {
+                        BigDecimal expectedKey = (BigDecimal) o;
                         // compare keys
                         if (!TestUtil.containsBigDecimalKey(expectedKey, actualKeySet)) {
                             sbuf.append("\nFor element " + i +
                                     " expected key = " + expectedKey +
                                     " not found in actual Map.  Actual keyset is "
                                     + actualKeySet);
-                        // compare values
+                            // compare values
                         } else {
                             String expectedVal = (String) expected.get(expectedKey);
                             String actualValue = (String)
-                               actual.get(TestUtil.getBigDecimalKey(expectedKey,
-                                                                    actualKeySet));
+                                    actual.get(TestUtil.getBigDecimalKey(expectedKey,
+                                            actualKeySet));
                             if (!expectedVal.equals(actualValue)) {
                                 sbuf.append("\nFor element " + i +
-                                    " expected value = " + expectedVal +
-                                    " actual Value = " + actualValue);
-                           }
-                       }
+                                        " expected value = " + expectedVal +
+                                        " actual Value = " + actualValue);
+                            }
+                        }
                     }
             }
             else {
diff --git a/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestMapStringKeyCollections.java b/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestMapStringKeyCollections.java
index 8363ed0a..871bef0f 100644
--- a/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestMapStringKeyCollections.java
+++ b/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestMapStringKeyCollections.java
@@ -174,20 +174,18 @@ public class TestMapStringKeyCollections extends JDO_Test {
                             MapStringKeyCollections.fieldSpecs[i]
                             ).get(1).equals("BigDecimal")) {
                     Set<?> keys = expected.keySet();
-                    Iterator<?> iter = keys.iterator();
-                    while (iter.hasNext()) {
-                        Object nextKey = iter.next();
-                        BigDecimal expectedMapValue = 
-                                (BigDecimal)expected.get(nextKey);
-                        BigDecimal actualMapValue = 
-                                (BigDecimal)actual.get(nextKey);
+                    for (Object nextKey : keys) {
+                        BigDecimal expectedMapValue =
+                                (BigDecimal) expected.get(nextKey);
+                        BigDecimal actualMapValue =
+                                (BigDecimal) actual.get(nextKey);
                         if ((expectedMapValue.compareTo(actualMapValue) != 0)) {
-                            sbuf.append("\nFor element " + i + "(" 
+                            sbuf.append("\nFor element " + i + "("
                                     + nextKey +
                                     "), expected = " + expectedMapValue +
                                     ", actual = " + actualMapValue + " . ");
+                        }
                     }
-                }
             }
             else {
                 sbuf.append("\nFor element " + i + ", expected = " +
diff --git a/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestMapStringValueCollections.java b/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestMapStringValueCollections.java
index 778ffffe..75b1b7c1 100644
--- a/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestMapStringValueCollections.java
+++ b/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestMapStringValueCollections.java
@@ -178,27 +178,26 @@ public class TestMapStringValueCollections extends JDO_Test {
                             ).get(0).equals("BigDecimal")) {
                     Set<?> expectedKeySet = expected.keySet();
                     Set actualKeySet = actual.keySet();
-                    Iterator<?> expectedIter = expectedKeySet.iterator();
-                    while (expectedIter.hasNext()) {
-                        BigDecimal expectedKey = (BigDecimal) expectedIter.next();
+                    for (Object o : expectedKeySet) {
+                        BigDecimal expectedKey = (BigDecimal) o;
                         // compare keys
                         if (!TestUtil.containsBigDecimalKey(expectedKey, actualKeySet)) {
                             sbuf.append("\nFor element " + i +
                                     " expected key = " + expectedKey +
                                     " not found in actual Map.  Actual keyset is "
                                     + actualKeySet);
-                        // compare values
+                            // compare values
                         } else {
                             String expectedVal = (String) expected.get(expectedKey);
                             String actualValue = (String)
-                               actual.get(TestUtil.getBigDecimalKey(expectedKey,
-                                                                    actualKeySet));
+                                    actual.get(TestUtil.getBigDecimalKey(expectedKey,
+                                            actualKeySet));
                             if (!expectedVal.equals(actualValue)) {
                                 sbuf.append("\nFor element " + i +
-                                    " expected value = " + expectedVal +
-                                    " actual Value = " + actualValue);
-                           }
-                       }
+                                        " expected value = " + expectedVal +
+                                        " actual Value = " + actualValue);
+                            }
+                        }
                     }
             }
             else {
diff --git a/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestTreeMapStringKeyCollections.java b/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestTreeMapStringKeyCollections.java
index e03d56b0..006e739c 100644
--- a/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestTreeMapStringKeyCollections.java
+++ b/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestTreeMapStringKeyCollections.java
@@ -171,20 +171,18 @@ public class TestTreeMapStringKeyCollections extends JDO_Test {
                             TreeMapStringKeyCollections.fieldSpecs[i]
                             ).get(1).equals("BigDecimal")) {
                     Set<?> keys = expected.keySet();
-                    Iterator<?> iter = keys.iterator();
-                    while (iter.hasNext()) {
-                        Object nextKey = iter.next();
-                        BigDecimal expectedMapValue = 
-                                (BigDecimal)expected.get(nextKey);
-                        BigDecimal actualMapValue = 
-                                (BigDecimal)actual.get(nextKey);
+                    for (Object nextKey : keys) {
+                        BigDecimal expectedMapValue =
+                                (BigDecimal) expected.get(nextKey);
+                        BigDecimal actualMapValue =
+                                (BigDecimal) actual.get(nextKey);
                         if ((expectedMapValue.compareTo(actualMapValue) != 0)) {
-                            sbuf.append("\nFor element " + i + "(" 
+                            sbuf.append("\nFor element " + i + "("
                                     + nextKey +
                                     "), expected = " + expectedMapValue +
                                     ", actual = " + actualMapValue + " . ");
+                        }
                     }
-                }
             }
             else {
                 sbuf.append("\nFor element " + i + ", expected = " +
diff --git a/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestTreeMapStringValueCollections.java b/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestTreeMapStringValueCollections.java
index 5853eb22..54455b2d 100644
--- a/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestTreeMapStringValueCollections.java
+++ b/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestTreeMapStringValueCollections.java
@@ -171,27 +171,26 @@ public class TestTreeMapStringValueCollections extends JDO_Test {
                             ).get(0).equals("BigDecimal")) {
                     Set<?> expectedKeySet = expected.keySet();
                     Set actualKeySet = actual.keySet();
-                    Iterator<?> expectedIter = expectedKeySet.iterator();
-                    while (expectedIter.hasNext()) {
-                        BigDecimal expectedKey = (BigDecimal) expectedIter.next();
+                    for (Object o : expectedKeySet) {
+                        BigDecimal expectedKey = (BigDecimal) o;
                         // compare keys
                         if (!TestUtil.containsBigDecimalKey(expectedKey, actualKeySet)) {
                             sbuf.append("\nFor element " + i +
                                     " expected key = " + expectedKey +
                                     " not found in actual Map.  Actual keyset is "
                                     + actualKeySet);
-                        // compare values
+                            // compare values
                         } else {
                             String expectedVal = (String) expected.get(expectedKey);
                             String actualValue = (String)
-                               actual.get(TestUtil.getBigDecimalKey(expectedKey,
-                                                                    actualKeySet));
+                                    actual.get(TestUtil.getBigDecimalKey(expectedKey,
+                                            actualKeySet));
                             if (!expectedVal.equals(actualValue)) {
                                 sbuf.append("\nFor element " + i +
-                                    " expected value = " + expectedVal +
-                                    " actual Value = " + actualValue);
-                           }
-                       }
+                                        " expected value = " + expectedVal +
+                                        " actual Value = " + actualValue);
+                            }
+                        }
                     }
                 }
                 else {
diff --git a/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestUtil.java b/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestUtil.java
index a4b5eed6..890622ae 100644
--- a/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestUtil.java
+++ b/tck/src/main/java/org/apache/jdo/tck/models/fieldtypes/TestUtil.java
@@ -332,9 +332,7 @@ public class TestUtil {
     protected static boolean containsBigDecimalKey(BigDecimal keyValue,
                                                 Set<BigDecimal> bigDecimalKeySet)
     {
-        Iterator<BigDecimal> iter = bigDecimalKeySet.iterator();
-        while (iter.hasNext()) {
-            BigDecimal nextVal = iter.next();
+        for (BigDecimal nextVal : bigDecimalKeySet) {
             if (keyValue.compareTo(nextVal) == 0) {
                 return true;
             }
@@ -345,9 +343,7 @@ public class TestUtil {
     protected static BigDecimal getBigDecimalKey(BigDecimal keyValue,
                                                 Set<BigDecimal> bigDecimalKeySet)
     {
-        Iterator<BigDecimal> iter = bigDecimalKeySet.iterator();
-        while (iter.hasNext()) {
-            BigDecimal nextVal = iter.next();
+        for (BigDecimal nextVal : bigDecimalKeySet) {
             if (keyValue.compareTo(nextVal) == 0) {
                 return nextVal;
             }
diff --git a/tck/src/main/java/org/apache/jdo/tck/models/inheritance/FieldWithSameNameInSuperclass.java b/tck/src/main/java/org/apache/jdo/tck/models/inheritance/FieldWithSameNameInSuperclass.java
index 6a1fb76d..b9ce75fe 100644
--- a/tck/src/main/java/org/apache/jdo/tck/models/inheritance/FieldWithSameNameInSuperclass.java
+++ b/tck/src/main/java/org/apache/jdo/tck/models/inheritance/FieldWithSameNameInSuperclass.java
@@ -233,9 +233,8 @@ public class FieldWithSameNameInSuperclass extends TestParts {
     void removeAllInstances(PersistenceManager pm)
     {
         Extent<FieldSameName4> e = pm.getExtent(FieldSameName4.class, true);
-        Iterator<FieldSameName4> i = e.iterator();
-        while( i.hasNext() ){
-            pm.deletePersistent(i.next());
+        for (FieldSameName4 fieldSameName4 : e) {
+            pm.deletePersistent(fieldSameName4);
         }        
     }
 }
diff --git a/tck/src/main/java/org/apache/jdo/tck/models/inheritance/NonPersistentFieldsAreNonPersistentInSubclasses.java b/tck/src/main/java/org/apache/jdo/tck/models/inheritance/NonPersistentFieldsAreNonPersistentInSubclasses.java
index a813535b..cd27af1c 100644
--- a/tck/src/main/java/org/apache/jdo/tck/models/inheritance/NonPersistentFieldsAreNonPersistentInSubclasses.java
+++ b/tck/src/main/java/org/apache/jdo/tck/models/inheritance/NonPersistentFieldsAreNonPersistentInSubclasses.java
@@ -122,9 +122,8 @@ public class NonPersistentFieldsAreNonPersistentInSubclasses extends TestParts {
         AllPersist4 a = new AllPersist4(0, 0.0, 0, '0', false, 0.0f, (short)0, (short)0, 0);
         pm.makePersistent(a); // guarantee the class is registered; this will be removed
         Extent<AllPersist4> e = pm.getExtent(AllPersist4.class, true);
-        Iterator<AllPersist4> i = e.iterator();
-        while( i.hasNext() ){
-            pm.deletePersistent(i.next());
+        for (AllPersist4 allPersist4 : e) {
+            pm.deletePersistent(allPersist4);
         }        
     }
 }
diff --git a/tck/src/main/java/org/apache/jdo/tck/models/inheritance/NonpersistentSuperClass.java b/tck/src/main/java/org/apache/jdo/tck/models/inheritance/NonpersistentSuperClass.java
index d31375b3..2808fa5b 100644
--- a/tck/src/main/java/org/apache/jdo/tck/models/inheritance/NonpersistentSuperClass.java
+++ b/tck/src/main/java/org/apache/jdo/tck/models/inheritance/NonpersistentSuperClass.java
@@ -221,9 +221,8 @@ public class NonpersistentSuperClass extends TestParts {
     void removeAllInstances(PersistenceManager pm)
     {
         Extent<TopNonPersistH> e = pm.getExtent(TopNonPersistH.class, true);
-        Iterator<TopNonPersistH> i = e.iterator();
-        while( i.hasNext() ){
-            pm.deletePersistent(i.next());
+        for (TopNonPersistH topNonPersistH : e) {
+            pm.deletePersistent(topNonPersistH);
         }        
     }
 }
diff --git a/tck/src/main/java/org/apache/jdo/tck/models/inheritance/PersistenceCapableFlexibilityInInheritanceHierarchy.java b/tck/src/main/java/org/apache/jdo/tck/models/inheritance/PersistenceCapableFlexibilityInInheritanceHierarchy.java
index d38fb8d5..e096e685 100644
--- a/tck/src/main/java/org/apache/jdo/tck/models/inheritance/PersistenceCapableFlexibilityInInheritanceHierarchy.java
+++ b/tck/src/main/java/org/apache/jdo/tck/models/inheritance/PersistenceCapableFlexibilityInInheritanceHierarchy.java
@@ -224,9 +224,8 @@ public class PersistenceCapableFlexibilityInInheritanceHierarchy extends TestPar
     void removeAllInstances(PersistenceManager pm)
     {
         Extent<TopPersistH> e = pm.getExtent(TopPersistH.class, true);
-        Iterator<TopPersistH> i = e.iterator();
-        while( i.hasNext() ){
-            pm.deletePersistent(i.next());
+        for (TopPersistH topPersistH : e) {
+            pm.deletePersistent(topPersistH);
         }        
     }
 }
diff --git a/tck/src/main/java/org/apache/jdo/tck/models/inheritance/PersistentFieldsArePersistentInSubClasses.java b/tck/src/main/java/org/apache/jdo/tck/models/inheritance/PersistentFieldsArePersistentInSubClasses.java
index 10aa75db..fca608f4 100644
--- a/tck/src/main/java/org/apache/jdo/tck/models/inheritance/PersistentFieldsArePersistentInSubClasses.java
+++ b/tck/src/main/java/org/apache/jdo/tck/models/inheritance/PersistentFieldsArePersistentInSubClasses.java
@@ -222,9 +222,8 @@ public class PersistentFieldsArePersistentInSubClasses extends TestParts {
         AllPersist4 a = new AllPersist4(0, 0.0, 0, '0', false, 0.0f, (short)0, (short)0, 0);
         pm.makePersistent(a); // guarantee the class is registered; this will be removed
         Extent<AllPersist4> e = pm.getExtent(AllPersist4.class, true);
-        Iterator<AllPersist4> i = e.iterator();
-        while( i.hasNext() ){
-            pm.deletePersistent(i.next());
+        for (AllPersist4 allPersist4 : e) {
+            pm.deletePersistent(allPersist4);
         }        
     }
 }
diff --git a/tck/src/main/java/org/apache/jdo/tck/models/inheritance/TransactionalFieldsAreTransactionalInSubclasses.java b/tck/src/main/java/org/apache/jdo/tck/models/inheritance/TransactionalFieldsAreTransactionalInSubclasses.java
index 29564d94..46f21d34 100644
--- a/tck/src/main/java/org/apache/jdo/tck/models/inheritance/TransactionalFieldsAreTransactionalInSubclasses.java
+++ b/tck/src/main/java/org/apache/jdo/tck/models/inheritance/TransactionalFieldsAreTransactionalInSubclasses.java
@@ -122,9 +122,8 @@ public class TransactionalFieldsAreTransactionalInSubclasses extends TestParts {
         AllPersist4 a = new AllPersist4(0, 0.0, 0, '0', false, 0.0f, (short)0, (short)0, 0);
         pm.makePersistent(a); // guarantee the class is registered; this will be removed
         Extent<AllPersist4> e = pm.getExtent(AllPersist4.class, true);
-        Iterator<AllPersist4> i = e.iterator();
-        while( i.hasNext() ){
-            pm.deletePersistent(i.next());
+        for (AllPersist4 allPersist4 : e) {
+            pm.deletePersistent(allPersist4);
         }        
     }
 }
diff --git a/tck/src/main/java/org/apache/jdo/tck/pc/instancecallbacks/InstanceCallbackClass.java b/tck/src/main/java/org/apache/jdo/tck/pc/instancecallbacks/InstanceCallbackClass.java
index ad81279f..5e63c664 100644
--- a/tck/src/main/java/org/apache/jdo/tck/pc/instancecallbacks/InstanceCallbackClass.java
+++ b/tck/src/main/java/org/apache/jdo/tck/pc/instancecallbacks/InstanceCallbackClass.java
@@ -81,9 +81,8 @@ public class InstanceCallbackClass implements InstanceCallbacks {
     public static void removeAllInstances(PersistenceManager pm)
     {
         Extent<InstanceCallbackClass> e = pm.getExtent(InstanceCallbackClass.class, true);
-        Iterator<InstanceCallbackClass> i = e.iterator();
-        while( i.hasNext() ){
-            pm.deletePersistent(i.next());
+        for (InstanceCallbackClass instanceCallbackClass : e) {
+            pm.deletePersistent(instanceCallbackClass);
         }        
     }
     
@@ -130,12 +129,11 @@ public class InstanceCallbackClass implements InstanceCallbacks {
                 pm.deletePersistent(nextObj);  // delete referenced object
 
                 // delete designated child
-                for(Iterator<InstanceCallbackClass> i = children.iterator(); i.hasNext();) {
-                     InstanceCallbackClass obj = i.next();
-                     if( obj.intValue == childToDelete) {
+                for (InstanceCallbackClass obj : children) {
+                    if (obj.intValue == childToDelete) {
                         pm.deletePersistent(obj);
                         break;
-                     }
+                    }
                 }
             }
         }
@@ -158,9 +156,8 @@ public class InstanceCallbackClass implements InstanceCallbacks {
             capturedDoubleValue[intValue] = doubleValue;
             numberOfChildren[intValue] = children.size();
             sumOfChildrenIntValue[intValue] = 0;
-            for(Iterator<InstanceCallbackClass> i = children.iterator(); i.hasNext();) {
-                InstanceCallbackClass o = i.next();
-                sumOfChildrenIntValue[intValue] += o.intValue;   
+            for (InstanceCallbackClass o : children) {
+                sumOfChildrenIntValue[intValue] += o.intValue;
             }
             capturedChildToDelete[intValue] = childToDelete;
             capturedCharValue[intValue] = charValue;
@@ -183,9 +180,8 @@ public class InstanceCallbackClass implements InstanceCallbacks {
             capturedDoubleValue[intValue] = doubleValue;
             numberOfChildren[intValue] = children.size();
             sumOfChildrenIntValue[intValue] = 0;
-            for(Iterator<InstanceCallbackClass> i = children.iterator(); i.hasNext();) {
-                InstanceCallbackClass o = i.next();
-                sumOfChildrenIntValue[intValue] += o.intValue;   
+            for (InstanceCallbackClass o : children) {
+                sumOfChildrenIntValue[intValue] += o.intValue;
             }
             capturedChildToDelete[intValue] = childToDelete;
             capturedCharValue[intValue] = charValue;
diff --git a/tck/src/main/java/org/apache/jdo/tck/pc/instancecallbacks/InstanceCallbackNonPersistFdsClass.java b/tck/src/main/java/org/apache/jdo/tck/pc/instancecallbacks/InstanceCallbackNonPersistFdsClass.java
index 2ec81f49..dac62723 100644
--- a/tck/src/main/java/org/apache/jdo/tck/pc/instancecallbacks/InstanceCallbackNonPersistFdsClass.java
+++ b/tck/src/main/java/org/apache/jdo/tck/pc/instancecallbacks/InstanceCallbackNonPersistFdsClass.java
@@ -82,9 +82,8 @@ public class InstanceCallbackNonPersistFdsClass implements InstanceCallbacks {
     public static void removeAllInstances(PersistenceManager pm)
     {
         Extent<InstanceCallbackNonPersistFdsClass> e = pm.getExtent(InstanceCallbackNonPersistFdsClass.class, true);
-        Iterator<InstanceCallbackNonPersistFdsClass> i = e.iterator();
-        while( i.hasNext() ){
-            pm.deletePersistent(i.next());
+        for (InstanceCallbackNonPersistFdsClass instanceCallbackNonPersistFdsClass : e) {
+            pm.deletePersistent(instanceCallbackNonPersistFdsClass);
         }        
     }
 
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/QueryTest.java b/tck/src/main/java/org/apache/jdo/tck/query/QueryTest.java
index bbca4caa..a5088217 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/QueryTest.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/QueryTest.java
@@ -135,10 +135,8 @@ public abstract class QueryTest extends AbstractReaderTest {
             return null;
         
         List<PCPoint> result = new ArrayList<>();
-        for (Iterator<PCPoint> iter = list.iterator(); iter.hasNext();) {
-            PCPoint pc = iter.next();
-            for (Iterator<PCPoint> iteri = inserted.iterator(); iteri.hasNext();) {
-                PCPoint pci = iteri.next();
+        for (PCPoint pc : list) {
+            for (PCPoint pci : inserted) {
                 if (pc.getX() == pci.getX()) {
                     result.add(pci);
                     break;
@@ -288,8 +286,8 @@ public abstract class QueryTest extends AbstractReaderTest {
      */
     protected <T> List<T> getPersistentCompanyModelInstancesAsList(Class<T> elementType, String... beanNames) {
         List<T> result = new ArrayList<>(beanNames.length);
-        for (int i = 0; i < beanNames.length; i++) {
-            result.add(getPersistentCompanyModelInstance(elementType, beanNames[i]));
+        for (String beanName : beanNames) {
+            result.add(getPersistentCompanyModelInstance(elementType, beanName));
         }
         return result;
     }
@@ -302,8 +300,8 @@ public abstract class QueryTest extends AbstractReaderTest {
      */
     protected <T> List<T> getTransientCompanyModelInstancesAsList(Class<T> elementType, String... beanNames) {
         List<T> result = new ArrayList<>(beanNames.length);
-        for (int i = 0; i < beanNames.length; i++) {
-            result.add(getTransientCompanyModelInstance(elementType, beanNames[i]));
+        for (String beanName : beanNames) {
+            result.add(getTransientCompanyModelInstance(elementType, beanName));
         }
         return result;
     }
@@ -713,17 +711,15 @@ public abstract class QueryTest extends AbstractReaderTest {
     protected <S, T> boolean equalsCollection(Collection<S> o1, Collection<T> o2) {
         // make a copy of o2 so we can destroy it
         Collection<T> o2copy = new ArrayList<>();
-        Iterator<T> i2 = o2.iterator();
-        while (i2.hasNext()) {
-            o2copy.add(i2.next());
+        for (T t : o2) {
+            o2copy.add(t);
         }
         boolean result = true;
         if (o1 != o2) {
             if (o1.size() != o2.size()) {
                 result = false;
             } else {
-                for (Iterator<S> i = o1.iterator(); i.hasNext(); ) {
-                    S oo1 = i.next();
+                for (S oo1 : o1) {
                     if (!remove(o2copy, oo1)) {
                         result = false;
                         break;
@@ -751,8 +747,7 @@ public abstract class QueryTest extends AbstractReaderTest {
             if (o1.size() != o2.size()) {
                 result = false;
             } else {
-                for (Iterator<Map.Entry<K1,V1>> i = o1.entrySet().iterator(); i.hasNext(); ) {
-                    Map.Entry<K1,V1> entry = i.next();
+                for (Map.Entry<K1, V1> entry : o1.entrySet()) {
                     K1 key = entry.getKey();
                     V1 value = entry.getValue();
                     V2 value2 = o2.get(key);
@@ -781,8 +776,8 @@ public abstract class QueryTest extends AbstractReaderTest {
      * in the given collection.
      */
     private boolean contains(Collection<Object> col, Object o) {
-        for (Iterator<Object> i = col.iterator(); i.hasNext(); ) {
-            if (equals(o, i.next())) {
+        for (Object value : col) {
+            if (equals(o, value)) {
                 return true;
             }
         }
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/delete/DeleteCallback.java b/tck/src/main/java/org/apache/jdo/tck/query/delete/DeleteCallback.java
index b5d7a13e..90607cfc 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/delete/DeleteCallback.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/delete/DeleteCallback.java
@@ -251,9 +251,7 @@ public class DeleteCallback extends QueryTest {
      * {@link JDOHelper#makeDirty(java.lang.Object, java.lang.String)
      */
     private void updateInstances(Collection<?> instances, String fieldName) {
-        for (Iterator<?> i = instances.iterator(); i.hasNext(); ) {
-            Object pc = i.next();
-            
+        for (Object pc : instances) {
             // clear employee relationships
             if (pc instanceof Employee) {
                 Employee employee = (Employee) pc;
@@ -264,13 +262,13 @@ public class DeleteCallback extends QueryTest {
                     employee.getMedicalInsurance().setEmployee(null);
                 }
                 if (employee.getDepartment() != null) {
-                    ((Department)employee.getDepartment()).removeEmployee(employee);
+                    ((Department) employee.getDepartment()).removeEmployee(employee);
                 }
                 if (employee.getFundingDept() != null) {
-                    ((Department)employee.getFundingDept()).removeEmployee(employee);
+                    ((Department) employee.getFundingDept()).removeEmployee(employee);
                 }
                 if (employee.getManager() != null) {
-                    ((Employee)employee.getManager()).removeFromTeam(employee);
+                    ((Employee) employee.getManager()).removeFromTeam(employee);
                 }
                 if (employee.getMentor() != null) {
                     employee.getMentor().setProtege(null);
@@ -279,39 +277,37 @@ public class DeleteCallback extends QueryTest {
                     employee.getProtege().setMentor(null);
                 }
                 if (employee.getHradvisor() != null) {
-                    ((Employee)employee.getHradvisor()).removeAdvisee(employee);
+                    ((Employee) employee.getHradvisor()).removeAdvisee(employee);
                 }
                 if (employee.getReviewedProjects() != null) {
-                    for (Iterator<IProject> it = employee.getReviewedProjects().iterator();
-                         it.hasNext(); ) {
-                        Project other = (Project) it.next();
+                    for (IProject iProject : employee.getReviewedProjects()) {
+                        Project other = (Project) iProject;
                         other.removeReviewer(employee);
                     }
                 }
                 if (employee.getProjects() != null) {
-                    for (Iterator<IProject> it=employee.getProjects().iterator();
-                            it.hasNext(); ) {
-                        Project other = (Project) it.next();
+                    for (IProject iProject : employee.getProjects()) {
+                        Project other = (Project) iProject;
                         other.removeMember(employee);
                     }
                 }
                 if (employee.getTeam() != null) {
-                    for (Iterator<IEmployee> it = employee.getTeam().iterator(); it.hasNext(); ) {
-                        Employee other = (Employee) it.next();
+                    for (IEmployee iEmployee : employee.getTeam()) {
+                        Employee other = (Employee) iEmployee;
                         other.setManager(null);
                     }
                 }
                 if (employee.getHradvisees() != null) {
-                    for (Iterator<IEmployee> it=employee.getHradvisees().iterator(); it.hasNext(); ) {
-                        Employee other = (Employee) it.next();
+                    for (IEmployee iEmployee : employee.getHradvisees()) {
+                        Employee other = (Employee) iEmployee;
                         other.setHradvisor(employee);
                     }
                 }
             }
-            
+
             // make the instance dirty.
             if (logger.isDebugEnabled()) {
-                logger.debug("Calling JDOHelper.makeDirty(" + 
+                logger.debug("Calling JDOHelper.makeDirty(" +
                         pc + ", \"" + fieldName + "\")");
             }
             JDOHelper.makeDirty(pc, fieldName);
@@ -379,8 +375,8 @@ public class DeleteCallback extends QueryTest {
          * which are expected to be sources of events.
          */
         public LifecycleVerifier(Collection<?> expectedPCInstances) {
-            for (Iterator<?> i = expectedPCInstances.iterator(); i.hasNext(); ) {
-                this.expectedOids.add(JDOHelper.getObjectId(i.next()));
+            for (Object expectedPCInstance : expectedPCInstances) {
+                this.expectedOids.add(JDOHelper.getObjectId(expectedPCInstance));
             }
         }
         
@@ -409,33 +405,31 @@ public class DeleteCallback extends QueryTest {
             
             boolean hasDeleteEventBeenPassed = false;
             int size = events.size();
-            for (int i = 0; i < size; i++) {
-                InstanceLifecycleEvent event =
-                        this.events.get(i);
+            for (InstanceLifecycleEvent event : events) {
                 Object source = event.getSource();
                 int eventType = event.getEventType();
                 if (eventType == InstanceLifecycleEvent.DELETE) {
                     if (logger.isDebugEnabled()) {
-                        logger.debug("Verifying delete event on " + 
+                        logger.debug("Verifying delete event on " +
                                 JDOHelper.getObjectId(source));
                     }
                     hasDeleteEventBeenPassed = true;
                     if (!JDOHelper.isDeleted(source)) {
-                        fail(ASSERTION_FAILED, 
+                        fail(ASSERTION_FAILED,
                                 "PC instance must have persistent deleted " +
-                                "state: " + source);
+                                        "state: " + source);
                     }
                     oidsOfDeletedInstances.add(JDOHelper.getObjectId(source));
                 } else if (eventType == InstanceLifecycleEvent.STORE) {
                     if (logger.isDebugEnabled()) {
-                        logger.debug("Verifying store event on " + 
+                        logger.debug("Verifying store event on " +
                                 JDOHelper.getObjectId(source));
                     }
-                    
+
                     if (hasDeleteEventBeenPassed) {
-                        fail(ASSERTION_FAILED, 
+                        fail(ASSERTION_FAILED,
                                 "PC instances must not be flushed " +
-                                "after delete has been executed.");
+                                        "after delete has been executed.");
                     }
                     oidsOfUpdateInstances.add(JDOHelper.getObjectId(source));
                 }
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/delete/DeleteQueryElements.java b/tck/src/main/java/org/apache/jdo/tck/query/delete/DeleteQueryElements.java
index 5a7aa43a..4e327425 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/delete/DeleteQueryElements.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/delete/DeleteQueryElements.java
@@ -250,9 +250,9 @@ public class DeleteQueryElements extends QueryTest {
     
     /** */
     public void testNegative() {
-        for (int i = 0; i < INVALID_QUERIES.length; i++) {
-            deletePersistentAllByAPIQuery(ASSERTION_FAILED, INVALID_QUERIES[i], -1);
-            deletePersistentAllBySingleStringQuery(ASSERTION_FAILED, INVALID_QUERIES[i], -1);
+        for (QueryElementHolder<?> invalidQuery : INVALID_QUERIES) {
+            deletePersistentAllByAPIQuery(ASSERTION_FAILED, invalidQuery, -1);
+            deletePersistentAllBySingleStringQuery(ASSERTION_FAILED, invalidQuery, -1);
         }
     }
 
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 fb46addd..21019a59 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
@@ -157,9 +157,9 @@ public class CharacterAndStringLiterals extends QueryTest {
 
     /** */
     public void testNegative() {
-        for (int i = 0; i < INVALID_QUERIES.length; i++) {
-            compileAPIQuery(ASSERTION_FAILED, INVALID_QUERIES[i], false);
-            compileSingleStringQuery(ASSERTION_FAILED, INVALID_QUERIES[i], 
+        for (QueryElementHolder<?> invalidQuery : INVALID_QUERIES) {
+            compileAPIQuery(ASSERTION_FAILED, invalidQuery, false);
+            compileSingleStringQuery(ASSERTION_FAILED, invalidQuery,
                     false);
         }
     }
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/ExecutingMultipleQueriesSimultaneouslyIsThreadSafe.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/ExecutingMultipleQueriesSimultaneouslyIsThreadSafe.java
index 150c7837..c916d619 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/ExecutingMultipleQueriesSimultaneouslyIsThreadSafe.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/ExecutingMultipleQueriesSimultaneouslyIsThreadSafe.java
@@ -102,17 +102,16 @@ public class ExecutingMultipleQueriesSimultaneouslyIsThreadSafe
             // check unhandled exceptions
             Set<Map.Entry<Thread, Throwable>> uncaught = group.getAllUncaughtExceptions();
             if ((uncaught != null) && !uncaught.isEmpty()) {
-                for (Iterator<Map.Entry<Thread, Throwable>> i = uncaught.iterator(); i.hasNext();) {
-                    Map.Entry<Thread, Throwable> next = i.next();
+                for (Map.Entry<Thread, Throwable> next : uncaught) {
                     Thread thread = next.getKey();
                     Throwable problem = next.getValue();
                     if (debug) {
                         logger.debug("uncaught exception in thread " + thread +
-                                     " stacktrace:");
+                                " stacktrace:");
                         problem.printStackTrace();
                     }
                     fail(ASSERTION_FAILED,
-                         "Thread " + thread + ": uncaught exception " + problem);
+                            "Thread " + thread + ": uncaught exception " + problem);
                 }
             }
         }
@@ -150,8 +149,8 @@ public class ExecutingMultipleQueriesSimultaneouslyIsThreadSafe
             Query<PCPoint> query = pm.newQuery(PCPoint.class);
             query.setCandidates(pm.getExtent(PCPoint.class, false));
             List<PCPoint> results = query.executeList();
-            for (Iterator<PCPoint> i=(results).iterator(); i.hasNext();) {
-                inserted.add(i.next());
+            for (PCPoint result : results) {
+                inserted.add(result);
             }
             tx.commit();
             tx = null;
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 6785ed88..221802ae 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
@@ -169,9 +169,9 @@ public class Having extends QueryTest {
     
     /** */
     public void testNegative() {
-        for (int i = 0; i < INVALID_QUERIES.length; i++) {
-            compileAPIQuery(ASSERTION_FAILED, INVALID_QUERIES[i], false);
-            compileSingleStringQuery(ASSERTION_FAILED, INVALID_QUERIES[i], 
+        for (QueryElementHolder<?> invalidQuery : INVALID_QUERIES) {
+            compileAPIQuery(ASSERTION_FAILED, invalidQuery, false);
+            compileSingleStringQuery(ASSERTION_FAILED, invalidQuery,
                     false);
         }
     }
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 66b24b1d..e722f80d 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
@@ -252,9 +252,9 @@ public class IfElseInFilter extends QueryTest {
 
     /** */
     public void testNegative() {
-        for (int i = 0; i < INVALID_QUERIES.length; i++) {
-            compileAPIQuery(ASSERTION_FAILED, INVALID_QUERIES[i], false);
-            compileSingleStringQuery(ASSERTION_FAILED, INVALID_QUERIES[i], 
+        for (QueryElementHolder<?> invalidQuery : INVALID_QUERIES) {
+            compileAPIQuery(ASSERTION_FAILED, invalidQuery, false);
+            compileSingleStringQuery(ASSERTION_FAILED, invalidQuery,
                     false);
         }
     }
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/keywords/InvalidUseOfKeywords.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/keywords/InvalidUseOfKeywords.java
index 512eb536..d978a826 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/keywords/InvalidUseOfKeywords.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/keywords/InvalidUseOfKeywords.java
@@ -95,14 +95,14 @@ public class InvalidUseOfKeywords extends QueryTest {
     
     /** */
     public void testNegative() {
-        for (int i = 0; i < INVALID_SINGLE_STRING_QUERIES.length; i++) {
-            compileSingleStringQuery(ASSERTION_FAILED, 
-                    INVALID_SINGLE_STRING_QUERIES[i], false);
+        for (String invalidSingleStringQuery : INVALID_SINGLE_STRING_QUERIES) {
+            compileSingleStringQuery(ASSERTION_FAILED,
+                    invalidSingleStringQuery, false);
         }
-        
-        for (int i = 0; i < INVALID_QUERIES.length; i++) {
-            compileAPIQuery(ASSERTION_FAILED, INVALID_QUERIES[i], false);
-            compileSingleStringQuery(ASSERTION_FAILED, INVALID_QUERIES[i], 
+
+        for (QueryElementHolder<?> invalidQuery : INVALID_QUERIES) {
+            compileAPIQuery(ASSERTION_FAILED, invalidQuery, false);
+            compileSingleStringQuery(ASSERTION_FAILED, invalidQuery,
                     false);
         }
     }
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/keywords/KeywordsAsFieldNames.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/keywords/KeywordsAsFieldNames.java
index 99d50d60..b1d76377 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/keywords/KeywordsAsFieldNames.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/keywords/KeywordsAsFieldNames.java
@@ -92,16 +92,16 @@ public class KeywordsAsFieldNames extends QueryTest {
     
     /** */
     public void testPositive() {
-        for (int i = 0; i < VALID_QUERIES.length; i++) {
-            compileAPIQuery(ASSERTION_FAILED, VALID_QUERIES[i], true);
-            compileSingleStringQuery(ASSERTION_FAILED, VALID_QUERIES[i], true);
+        for (QueryElementHolder<?> validQuery : VALID_QUERIES) {
+            compileAPIQuery(ASSERTION_FAILED, validQuery, true);
+            compileSingleStringQuery(ASSERTION_FAILED, validQuery, true);
         }
     }
 
     public void testNegative() {
-        for (int i = 0; i < INVALID_QUERIES.length; i++) {
-            compileAPIQuery(ASSERTION_FAILED, INVALID_QUERIES[i], false);
-            compileSingleStringQuery(ASSERTION_FAILED, INVALID_QUERIES[i], 
+        for (QueryElementHolder<?> invalidQuery : INVALID_QUERIES) {
+            compileAPIQuery(ASSERTION_FAILED, invalidQuery, false);
+            compileSingleStringQuery(ASSERTION_FAILED, invalidQuery,
                     false);
         }
     }
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/keywords/UppercaseLowercase.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/keywords/UppercaseLowercase.java
index 99952e13..1b590d18 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/keywords/UppercaseLowercase.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/keywords/UppercaseLowercase.java
@@ -60,16 +60,16 @@ public class UppercaseLowercase extends QueryTest {
     
     /** */
     public void testPositive() {
-        for (int i = 0; i < VALID_SINGLE_STRING_QUERIES.length; i++) {
-            compileSingleStringQuery(ASSERTION_FAILED, 
-                    VALID_SINGLE_STRING_QUERIES[i], true);
+        for (String validSingleStringQuery : VALID_SINGLE_STRING_QUERIES) {
+            compileSingleStringQuery(ASSERTION_FAILED,
+                    validSingleStringQuery, true);
         }
     }
      
     public void testNegitve() {
-        for (int i = 0; i < INVALID_SINGLE_STRING_QUERIES.length; i++) {
-            compileSingleStringQuery(ASSERTION_FAILED, 
-                    INVALID_SINGLE_STRING_QUERIES[i], false);
+        for (String invalidSingleStringQuery : INVALID_SINGLE_STRING_QUERIES) {
+            compileSingleStringQuery(ASSERTION_FAILED,
+                    invalidSingleStringQuery, false);
         }
     }
 }
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 d45b563f..2f955910 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
@@ -242,8 +242,8 @@ public class SupportedJDOHelperMethods extends QueryTest {
                 List<T> result = query.executeList();
                 if (oidsWanted) {
                     expectedResult = new ArrayList<>();
-                    for (Iterator<T> i = result.iterator(); i.hasNext(); ) {
-                        expectedResult.add((T)JDOHelper.getObjectId(i.next()));
+                    for (T t : result) {
+                        expectedResult.add((T) JDOHelper.getObjectId(t));
                     }
                 } else {
                     expectedResult = new ArrayList<>(result);
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedOptionalMethods.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedOptionalMethods.java
index 2407fbb9..2f9ac239 100755
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedOptionalMethods.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedOptionalMethods.java
@@ -165,8 +165,8 @@ public class SupportedOptionalMethods extends QueryTest {
         Transaction tx = pm.currentTransaction();
         try {
             tx.begin();
-            for (int i = 0; i < resultOids.length; i++) {
-                expectedResults.add(pm.getObjectById(resultOids[i]));
+            for (Object resultOid : resultOids) {
+                expectedResults.add(pm.getObjectById(resultOid));
             }
         } finally {
             if (tx.isActive()) {
@@ -359,8 +359,8 @@ public class SupportedOptionalMethods extends QueryTest {
         Transaction tx = pm.currentTransaction();
         try {
             tx.begin();
-            for (int i = 0; i < resultOids.length; i++) {
-                expectedResults.add(pm.getObjectById(resultOids[i]));
+            for (Object resultOid : resultOids) {
+                expectedResults.add(pm.getObjectById(resultOid));
             }
         } finally {
             if (tx.isActive())
@@ -395,12 +395,11 @@ public class SupportedOptionalMethods extends QueryTest {
         Transaction tx = pm.currentTransaction();
         try {
             tx.begin();
-            for (int i = 0; i < result.length; i++) {
-                Object o = result[i];
+            for (Object o : result) {
                 if (o instanceof String || o instanceof Date || o instanceof Integer) {
                     expectedResults.add(o);
                 } else {
-                    expectedResults.add(pm.getObjectById(result[i]));
+                    expectedResults.add(pm.getObjectById(o));
                 }
             }
         } finally {
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/parameters/MixedParameters.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/parameters/MixedParameters.java
index 8a0bba4a..b9f43aef 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/parameters/MixedParameters.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/parameters/MixedParameters.java
@@ -120,16 +120,16 @@ public class MixedParameters extends QueryTest {
     
     /** */
     public void testPositive() {
-        for (int i = 0; i < VALID_QUERIES.length; i++) {
-            compileAPIQuery(ASSERTION_FAILED, VALID_QUERIES[i], true);
-            compileSingleStringQuery(ASSERTION_FAILED, VALID_QUERIES[i], true);
+        for (QueryElementHolder<?> validQuery : VALID_QUERIES) {
+            compileAPIQuery(ASSERTION_FAILED, validQuery, true);
+            compileSingleStringQuery(ASSERTION_FAILED, validQuery, true);
         }
     }
 
     public void testNegative() {
-        for (int i = 0; i < INVALID_QUERIES.length; i++) {
-            compileAPIQuery(ASSERTION_FAILED, INVALID_QUERIES[i], false);
-            compileSingleStringQuery(ASSERTION_FAILED, INVALID_QUERIES[i], 
+        for (QueryElementHolder<?> invalidQuery : INVALID_QUERIES) {
+            compileAPIQuery(ASSERTION_FAILED, invalidQuery, false);
+            compileSingleStringQuery(ASSERTION_FAILED, invalidQuery,
                     false);
         }
     }
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/variables/MixedVariables.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/variables/MixedVariables.java
index 0dcfddd1..c7067e7c 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/variables/MixedVariables.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/variables/MixedVariables.java
@@ -127,9 +127,9 @@ public class MixedVariables extends QueryTest {
     }
 
     public void testNegative() {
-        for (int i = 0; i < INVALID_QUERIES.length; i++) {
-            compileAPIQuery(ASSERTION_FAILED, INVALID_QUERIES[i], false);
-            compileSingleStringQuery(ASSERTION_FAILED, INVALID_QUERIES[i], 
+        for (QueryElementHolder<?> invalidQuery : INVALID_QUERIES) {
+            compileAPIQuery(ASSERTION_FAILED, invalidQuery, false);
+            compileSingleStringQuery(ASSERTION_FAILED, invalidQuery,
                     false);
         }
     }
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 b8efb37c..b1776f2d 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
@@ -946,9 +946,9 @@ public class AggregateResult extends QueryTest {
     }
 
     public void testNegative() {
-        for (int i = 0; i < INVALID_QUERIES.length; i++) {
-            compileAPIQuery(ASSERTION_FAILED, INVALID_QUERIES[i], false);
-            compileSingleStringQuery(ASSERTION_FAILED, INVALID_QUERIES[i], 
+        for (QueryElementHolder<?> invalidQuery : INVALID_QUERIES) {
+            compileAPIQuery(ASSERTION_FAILED, invalidQuery, false);
+            compileSingleStringQuery(ASSERTION_FAILED, invalidQuery,
                     false);
         }
     }
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 e4332f35..b9d56276 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
@@ -115,9 +115,9 @@ public class Grouping extends QueryTest {
 
     /** */
     public void testNegative() {
-        for (int i = 0; i < INVALID_QUERIES.length; i++) {
-            compileAPIQuery(ASSERTION_FAILED, INVALID_QUERIES[i], false);
-            compileSingleStringQuery(ASSERTION_FAILED, INVALID_QUERIES[i], 
+        for (QueryElementHolder<?> invalidQuery : INVALID_QUERIES) {
+            compileAPIQuery(ASSERTION_FAILED, invalidQuery, false);
+            compileSingleStringQuery(ASSERTION_FAILED, invalidQuery,
                     false);
         }
     }
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 5b5cc527..48de91de 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
@@ -211,9 +211,9 @@ public class IfElseResult extends QueryTest {
 
     /** */
     public void testNegative() {
-        for (int i = 0; i < INVALID_QUERIES.length; i++) {
-            compileAPIQuery(ASSERTION_FAILED, INVALID_QUERIES[i], false);
-            compileSingleStringQuery(ASSERTION_FAILED, INVALID_QUERIES[i], 
+        for (QueryElementHolder<?> invalidQuery : INVALID_QUERIES) {
+            compileAPIQuery(ASSERTION_FAILED, invalidQuery, false);
+            compileSingleStringQuery(ASSERTION_FAILED, invalidQuery,
                     false);
         }
     }
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 5fa1f79f..3e25a271 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
@@ -513,9 +513,9 @@ public class ResultClassRequirements extends QueryTest {
 
     /** */
     public void testNegative() {
-        for (int i = 0; i < INVALID_QUERIES.length; i++) {
-            compileAPIQuery(ASSERTION_FAILED, INVALID_QUERIES[i], false);
-            compileSingleStringQuery(ASSERTION_FAILED, INVALID_QUERIES[i], 
+        for (QueryElementHolder<?> invalidQuery : INVALID_QUERIES) {
+            compileAPIQuery(ASSERTION_FAILED, invalidQuery, false);
+            compileSingleStringQuery(ASSERTION_FAILED, invalidQuery,
                     false);
         }
     }
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 e7e5801c..31afca29 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
@@ -686,9 +686,9 @@ public class ResultExpressions extends QueryTest {
 
     /** */
     public void testNegative() {
-        for (int i = 0; i < INVALID_QUERIES.length; i++) {
-            compileAPIQuery(ASSERTION_FAILED, INVALID_QUERIES[i], false);
-            compileSingleStringQuery(ASSERTION_FAILED, INVALID_QUERIES[i], 
+        for (QueryElementHolder<?> invalidQuery : INVALID_QUERIES) {
+            compileAPIQuery(ASSERTION_FAILED, invalidQuery, false);
+            compileSingleStringQuery(ASSERTION_FAILED, invalidQuery,
                     false);
         }
     }
diff --git a/tck/src/main/java/org/apache/jdo/tck/transactions/SetIsolationLevel.java b/tck/src/main/java/org/apache/jdo/tck/transactions/SetIsolationLevel.java
index 033f382f..1c4ad9c1 100644
--- a/tck/src/main/java/org/apache/jdo/tck/transactions/SetIsolationLevel.java
+++ b/tck/src/main/java/org/apache/jdo/tck/transactions/SetIsolationLevel.java
@@ -75,8 +75,7 @@ public class SetIsolationLevel extends JDO_Test
     /** Set IsolationLevel to all values. */ 
     public void testSetIsolationLevelOutsideTransaction() {
         // iterate through all possible IsolationLevels
-        for (int i = 0; i < isolationLevels.length; ++i) {
-            String isolationLevel = isolationLevels[i];
+        for (String isolationLevel : isolationLevels) {
             setIsolationLevel(isolationLevel);
         }
         closePMF(pmf);
@@ -88,22 +87,21 @@ public class SetIsolationLevel extends JDO_Test
         pm.currentTransaction().setOptimistic(false);
         pm.currentTransaction().begin();
         // iterate through all possible IsolationLevels
-        for (int i = 0; i < isolationLevels.length; ++i) {
-            String isolationLevel = isolationLevels[i];
+        for (String isolationLevel : isolationLevels) {
             try {
                 pm.currentTransaction().setIsolationLevel(isolationLevel);
-                appendMessage(ASSERTION_25_FAILED + 
+                appendMessage(ASSERTION_25_FAILED +
                         "active datastore transaction; no exception thrown for "
                         + "setIsolationLevel(" + isolationLevel + ").");
             } catch (JDOUnsupportedOptionException ex) {
                 // good catch
             } catch (Throwable t) {
-                appendMessage(ASSERTION_25_FAILED + 
+                appendMessage(ASSERTION_25_FAILED +
                         "active datastore transaction; " +
                         "JDOUnsupportedOptionException not thrown for " +
                         "setIsolationLevel(" + isolationLevel +
                         "). Unexpected exception: \n" + t);
-                
+
             }
         }
         pm.currentTransaction().commit();
@@ -122,8 +120,7 @@ public class SetIsolationLevel extends JDO_Test
         pm.currentTransaction().setOptimistic(true);
         pm.currentTransaction().begin();
         // iterate through all possible IsolationLevels
-        for (int i = 0; i < isolationLevels.length; ++i) {
-            String isolationLevel = isolationLevels[i];
+        for (String isolationLevel : isolationLevels) {
             setIsolationLevel(isolationLevel);
         }
         pm.currentTransaction().commit();
diff --git a/tck/src/main/java/org/apache/jdo/tck/util/BatchResultPrinter.java b/tck/src/main/java/org/apache/jdo/tck/util/BatchResultPrinter.java
index a751dcf8..9b010951 100644
--- a/tck/src/main/java/org/apache/jdo/tck/util/BatchResultPrinter.java
+++ b/tck/src/main/java/org/apache/jdo/tck/util/BatchResultPrinter.java
@@ -184,8 +184,8 @@ public class BatchResultPrinter
         Object[] array = getSortedArrayOfErrorSummaryEntries(result);
         if (array.length>0) {
             getWriter().println("Error summary:");
-            for (int i=0; i<array.length; i++) {
-                getWriter().println(array[i]);
+            for (Object o : array) {
+                getWriter().println(o);
             }
         }
     }
diff --git a/tck/src/main/java/org/apache/jdo/tck/util/BatchTestRunner.java b/tck/src/main/java/org/apache/jdo/tck/util/BatchTestRunner.java
index 48a52799..693f7de8 100644
--- a/tck/src/main/java/org/apache/jdo/tck/util/BatchTestRunner.java
+++ b/tck/src/main/java/org/apache/jdo/tck/util/BatchTestRunner.java
@@ -177,15 +177,13 @@ public class BatchTestRunner
      */
     protected TestSuite getTestSuite(String[] classNames) {
         TestSuite testSuite = new TestSuite();
-        for (int i = 0; i < classNames.length; i++) {
-            String className = classNames[i];
+        for (String className : classNames) {
             try {
-                Class<? extends TestCase> clazz = (Class<? extends TestCase>)Class.forName(className);
+                Class<? extends TestCase> clazz = (Class<? extends TestCase>) Class.forName(className);
                 testSuite.addTestSuite(clazz);
-            }
-            catch (ClassNotFoundException ex) {
+            } catch (ClassNotFoundException ex) {
                 System.out.println(
-                    "Cannot find test class '" + className + "'.");
+                        "Cannot find test class '" + className + "'.");
             }
         }
         return testSuite;
@@ -344,11 +342,10 @@ public class BatchTestRunner
             String[] values) {
         str = fixPartialFileName(str);
         if (!str.equals("")) {
-            for (int i = 0; i < values.length; i++) {
-                String value = values[i];
-                if (value!=null &&
-                    !value.equals("") &&
-                    !value.startsWith(".")) {
+            for (String value : values) {
+                if (value != null &&
+                        !value.equals("") &&
+                        !value.startsWith(".")) {
                     str += c;
                     break;
                 }
diff --git a/tck/src/main/java/org/apache/jdo/tck/util/ClassGenerator.java b/tck/src/main/java/org/apache/jdo/tck/util/ClassGenerator.java
index 44e47df9..73b92bb3 100644
--- a/tck/src/main/java/org/apache/jdo/tck/util/ClassGenerator.java
+++ b/tck/src/main/java/org/apache/jdo/tck/util/ClassGenerator.java
@@ -74,122 +74,118 @@ public class ClassGenerator {
     final String twoSpaces = "  ";
     final String space = " ";
 
-    for (int i=0; i < fieldTypes.length; i++)
-    {
-      String classFile = (isPrimitive(fieldTypes[i]) ? "FieldsOfPrimitive" : "FieldsOf") + fieldTypes[i];
+      for (String fieldType : fieldTypes) {
+          String classFile = (isPrimitive(fieldType) ? "FieldsOfPrimitive" : "FieldsOf") + fieldType;
+
+          FileOutputStream xmlFout = new FileOutputStream(classFile + ".jdo.n");
+          PrintWriter xmlPw = new PrintWriter(xmlFout);
+          FileOutputStream xmlFout1 = new FileOutputStream(classFile + ".jdo.a");
+          PrintWriter xmlPw1 = new PrintWriter(xmlFout1);
+          FileOutputStream xmlFout2 = new FileOutputStream(classFile + ".jdo.d");
+          PrintWriter xmlPw2 = new PrintWriter(xmlFout2);
+          startXmlMetaData(xmlPw);
+          startXmlMetaData(xmlPw1);
+          startXmlMetaData(xmlPw2);
+
+          startXmlClass(xmlPw, classFile, 0);
+          startXmlClass(xmlPw1, classFile, 1);
+          startXmlClass(xmlPw2, classFile, 2);
+
+          FileOutputStream fout = new FileOutputStream(classFile + ".java");
+          PrintWriter pw = new PrintWriter(fout);
+          startClass(pw, classFile);
+          int fieldCounter = 0;
+          for (String accessSpecifier : accessSpecifiers) {
+              for (String fieldModifier : fieldModifiers) {
+                  for (String xmlPersistenceModifier : xmlPersistenceModifiers) {
+                      // do not generate persistence modifiers (persistent or transactional or none)
+                      // for fields that cannot be persisted
+
+
+                      if ((fieldModifier.indexOf("static") >= 0 || fieldModifier.indexOf("final") >= 0) &&
+                              !xmlPersistenceModifier.equals(""))
+                          continue;
 
-      FileOutputStream xmlFout = new FileOutputStream(classFile + ".jdo.n");
-      PrintWriter xmlPw = new PrintWriter(xmlFout);
-      FileOutputStream xmlFout1 = new FileOutputStream(classFile + ".jdo.a");
-      PrintWriter xmlPw1 = new PrintWriter(xmlFout1);
-      FileOutputStream xmlFout2 = new FileOutputStream(classFile + ".jdo.d");
-      PrintWriter xmlPw2 = new PrintWriter(xmlFout2);
-      startXmlMetaData(xmlPw);
-      startXmlMetaData(xmlPw1);
-      startXmlMetaData(xmlPw2);
-
-      startXmlClass(xmlPw,  classFile, 0);
-      startXmlClass(xmlPw1, classFile, 1);
-      startXmlClass(xmlPw2, classFile, 2);
-
-      FileOutputStream fout = new FileOutputStream(classFile + ".java");
-      PrintWriter pw = new PrintWriter(fout);
-      startClass(pw, classFile);
-      int fieldCounter = 0;
-      for(int j=0; j < accessSpecifiers.length; j++)
-      {
-        for (int k=0; k < fieldModifiers.length; k++)
-        {
-          for(int l = 0; l < xmlPersistenceModifiers.length; l++)
-          {
-             // do not generate persistence modifiers (persistent or transactional or none)
-             // for fields that cannot be persisted
-
-
-         if( (fieldModifiers[k].indexOf("static") >= 0 || fieldModifiers[k].indexOf("final") >= 0 ) &&
-            !xmlPersistenceModifiers[l].equals(""))
-                continue;                
-             
 /*        original code
          if(!isPersistenceCapable(fieldModifiers[k])
                   && !xmlPersistenceModifiers[l].equals(""))
                 continue;
 */
-             for(int m=0; m < xmlEmbeddedModifiers.length; m++) {
-                 // generate persistence modifiers (persistent or transactional or none)
-                 // only for fields that can be persisted
-                 // generate embedded modifiers only for persistent fields
-                 
-                 boolean fieldIsPersistent = !( fieldModifiers[k].indexOf("static") >= 0 ||
-                                                fieldModifiers[k].indexOf("final")  >= 0 ||
-                                                xmlPersistenceModifiers[l].indexOf("none") >= 0 ||
-                                                xmlPersistenceModifiers[l].indexOf("transactional") >= 0 ||
-                                                (fieldModifiers[k].indexOf("transient") >= 0 && xmlPersistenceModifiers[l].indexOf("persistent") == -1)
-                                              ); 
-                                                
-                 if(!xmlEmbeddedModifiers[m].equals("") && !fieldIsPersistent )
-                  continue;
-
-                 StringBuffer sb = new StringBuffer();
-                 sb.append(twoSpaces);
-                 sb.append(accessSpecifiers[j]);
-                 sb.append(fieldModifiers[k]);
-                 sb.append(fieldTypes[i]);
-                 sb.append(space);
-                 String fieldName = (fieldTypes[i] + fieldCounter++);
+                      for (String xmlEmbeddedModifier : xmlEmbeddedModifiers) {
+                          // generate persistence modifiers (persistent or transactional or none)
+                          // only for fields that can be persisted
+                          // generate embedded modifiers only for persistent fields
+
+                          boolean fieldIsPersistent = !(fieldModifier.indexOf("static") >= 0 ||
+                                  fieldModifier.indexOf("final") >= 0 ||
+                                  xmlPersistenceModifier.indexOf("none") >= 0 ||
+                                  xmlPersistenceModifier.indexOf("transactional") >= 0 ||
+                                  (fieldModifier.indexOf("transient") >= 0 && xmlPersistenceModifier.indexOf(
+                                          "persistent") == -1)
+                          );
+
+                          if (!xmlEmbeddedModifier.equals("") && !fieldIsPersistent)
+                              continue;
+
+                          StringBuffer sb = new StringBuffer();
+                          sb.append(twoSpaces);
+                          sb.append(accessSpecifier);
+                          sb.append(fieldModifier);
+                          sb.append(fieldType);
+                          sb.append(space);
+                          String fieldName = (fieldType + fieldCounter++);
 //temporary fix to get around the bug in the enhancer code
-if(!(xmlEmbeddedModifiers[m].equals("") &&  xmlPersistenceModifiers[l].equals("")))
-{
-                 printXmlField(xmlPw, "name=\"" + fieldName + "\" "
-                               + xmlPersistenceModifiers[l]+ " "
-                               + xmlEmbeddedModifiers[m]);
-                 printXmlField(xmlPw1, "name=\"" + fieldName + "\" "
-                               + xmlPersistenceModifiers[l]+ " "
-                               + xmlEmbeddedModifiers[m]);
-                 printXmlField(xmlPw2, "name=\"" + fieldName + "\" "
-                               + xmlPersistenceModifiers[l]+ " "
-                               + xmlEmbeddedModifiers[m]);
-}//end temporary fix
-                 sb.append(fieldName);
-                 buildisPersistentArray(fieldIsPersistent); // add to isPersistentArray
-                 buildisStaticArray(isStatic(fieldModifiers[k])); // add to isStaticArray
-                 buildFieldSpecs(xmlPersistenceModifiers[l].replace('"',' ') + " " +
-                                 xmlEmbeddedModifiers[m].replace('"',' ') +
-                         sb); // add to the field specs array
-                 isFinal[fieldCounter-1] = fieldModifiers[k].indexOf("final") >= 0;
-                 if(isFinal[fieldCounter-1])
-                   sb.append(getInitializerForFinalTypes(fieldTypes[i]));
-                 buildisFinalArray(isFinal[fieldCounter-1]);
-                 sb.append(";");
-                 pw.println(sb);
-             }
-           }
-         }
-       }
-       writeisPersistentArray(pw);
-       writeisStaticArray(pw);
-       writeisFinalArray(pw);
-       writeFieldSpecs(pw);
-       writeMethodGetLength(pw);
-       writeMethodGet(pw, fieldTypes[i], fieldCounter);
-       writeMethodSet(pw, fieldTypes[i], fieldCounter);
-       endClass(pw);
-       pw.close();
-       fout.close();
-
-       endXmlClass(xmlPw);
-       endXmlClass(xmlPw1);
-       endXmlClass(xmlPw2);
-       endXmlMetaDeta(xmlPw);
-       endXmlMetaDeta(xmlPw1);
-       endXmlMetaDeta(xmlPw2);
-       xmlPw.close();
-       xmlFout.close();
-       xmlPw1.close();
-       xmlFout1.close();
-       xmlPw2.close();
-       xmlFout2.close();
-     }
+                          if (!(xmlEmbeddedModifier.equals("") && xmlPersistenceModifier.equals(""))) {
+                              printXmlField(xmlPw, "name=\"" + fieldName + "\" "
+                                      + xmlPersistenceModifier + " "
+                                      + xmlEmbeddedModifier);
+                              printXmlField(xmlPw1, "name=\"" + fieldName + "\" "
+                                      + xmlPersistenceModifier + " "
+                                      + xmlEmbeddedModifier);
+                              printXmlField(xmlPw2, "name=\"" + fieldName + "\" "
+                                      + xmlPersistenceModifier + " "
+                                      + xmlEmbeddedModifier);
+                          }//end temporary fix
+                          sb.append(fieldName);
+                          buildisPersistentArray(fieldIsPersistent); // add to isPersistentArray
+                          buildisStaticArray(isStatic(fieldModifier)); // add to isStaticArray
+                          buildFieldSpecs(xmlPersistenceModifier.replace('"', ' ') + " " +
+                                  xmlEmbeddedModifier.replace('"', ' ') +
+                                  sb); // add to the field specs array
+                          isFinal[fieldCounter - 1] = fieldModifier.indexOf("final") >= 0;
+                          if (isFinal[fieldCounter - 1])
+                              sb.append(getInitializerForFinalTypes(fieldType));
+                          buildisFinalArray(isFinal[fieldCounter - 1]);
+                          sb.append(";");
+                          pw.println(sb);
+                      }
+                  }
+              }
+          }
+          writeisPersistentArray(pw);
+          writeisStaticArray(pw);
+          writeisFinalArray(pw);
+          writeFieldSpecs(pw);
+          writeMethodGetLength(pw);
+          writeMethodGet(pw, fieldType, fieldCounter);
+          writeMethodSet(pw, fieldType, fieldCounter);
+          endClass(pw);
+          pw.close();
+          fout.close();
+
+          endXmlClass(xmlPw);
+          endXmlClass(xmlPw1);
+          endXmlClass(xmlPw2);
+          endXmlMetaDeta(xmlPw);
+          endXmlMetaDeta(xmlPw1);
+          endXmlMetaDeta(xmlPw2);
+          xmlPw.close();
+          xmlFout.close();
+          xmlPw1.close();
+          xmlFout1.close();
+          xmlPw2.close();
+          xmlFout2.close();
+      }
  }
 
 
@@ -436,20 +432,17 @@ if(!(xmlEmbeddedModifiers[m].equals("") &&  xmlPersistenceModifiers[l].equals(""
      pw.println("public static final boolean [] isPersistent = { ");
 
      int fieldCounter=0;
-     for(int i = 0; i < charArray.length; i++)
-     {
-        pw.print(charArray[i]);
-        if(charArray[i] == ',')
-        {
-          fieldCounter++;
-          if(fieldCounter == 10)
-          {
-            pw.println("");
-            pw.flush();
-            fieldCounter = 0;
+      for (char c : charArray) {
+          pw.print(c);
+          if (c == ',') {
+              fieldCounter++;
+              if (fieldCounter == 10) {
+                  pw.println("");
+                  pw.flush();
+                  fieldCounter = 0;
+              }
           }
-        }
-     }
+      }
      pw.println("");
      pw.println(" };");
      isPersistent = new StringBuffer(2000);
@@ -466,20 +459,17 @@ if(!(xmlEmbeddedModifiers[m].equals("") &&  xmlPersistenceModifiers[l].equals(""
      pw.println("public static final boolean [] isStatic = { ");
 
      int fieldCounter=0;
-     for(int i = 0; i < charArray.length; i++)
-     {
-        pw.print(charArray[i]);
-        if(charArray[i] == ',')
-        {
-          fieldCounter++;
-          if(fieldCounter == 10)
-          {
-            pw.println("");
-            pw.flush();
-            fieldCounter = 0;
+      for (char c : charArray) {
+          pw.print(c);
+          if (c == ',') {
+              fieldCounter++;
+              if (fieldCounter == 10) {
+                  pw.println("");
+                  pw.flush();
+                  fieldCounter = 0;
+              }
           }
-        }
-     }
+      }
      pw.println("");
      pw.println(" };");
      isStatic = new StringBuffer(2000);
@@ -494,20 +484,17 @@ if(!(xmlEmbeddedModifiers[m].equals("") &&  xmlPersistenceModifiers[l].equals(""
      pw.println("public static final boolean [] isFinal = { ");
 
      int fieldCounter=0;
-     for(int i = 0; i < charArray.length; i++)
-     {
-        pw.print(charArray[i]);
-        if(charArray[i] == ',')
-        {
-          fieldCounter++;
-          if(fieldCounter == 10)
-          {
-            pw.println("");
-            pw.flush();
-            fieldCounter = 0;
+      for (char c : charArray) {
+          pw.print(c);
+          if (c == ',') {
+              fieldCounter++;
+              if (fieldCounter == 10) {
+                  pw.println("");
+                  pw.flush();
+                  fieldCounter = 0;
+              }
           }
-        }
-     }
+      }
      pw.println("");
      pw.println(" };");
      isFinalArray = new StringBuffer(2000);
@@ -534,16 +521,14 @@ if(!(xmlEmbeddedModifiers[m].equals("") &&  xmlPersistenceModifiers[l].equals(""
     pw.println("  public static final String [] fieldSpecs = { ");
 
     pw.print("  ");
-    for(int i = 0; i < charArray.length; i++)
-    {
-       pw.print(charArray[i]);
-       if(charArray[i] == ',')
-       {
-         pw.println("");
-         pw.print("  ");
-         pw.flush();
-       }
-    }
+      for (char c : charArray) {
+          pw.print(c);
+          if (c == ',') {
+              pw.println("");
+              pw.print("  ");
+              pw.flush();
+          }
+      }
     pw.println("");
     pw.println("  };");
     fieldSpecs = new StringBuffer(2000);
@@ -689,100 +674,99 @@ if(!(xmlEmbeddedModifiers[m].equals("") &&  xmlPersistenceModifiers[l].equals(""
   {
     final String [] embeddedElements = {"", "true", "false"};
     final String [] embeddedElementsForFieldSpec = {"", "embedded-element=true", "embedded-element=false"};
-    for(int i=0; i < collectionTypes.length; i++)
-    {
+      for (String collectionType : collectionTypes) {
           // Map has a lot of combinations, generate it separately
-      if(collectionTypes[i].indexOf("Map") >= 0 || collectionTypes[i].equals("Hashtable"))
-      {
-        generateMapCollection(collectionTypes[i]);
-      }
-      else // Array and the other collections
-      {
-        String classFile = collectionTypes[i] + "Collections";
-        FileOutputStream fout = new FileOutputStream(classFile + ".java");
-        PrintWriter pw = new PrintWriter(fout);
-        FileOutputStream xmlFout = new FileOutputStream(classFile + ".jdo.n");
-        PrintWriter xmlPw = new PrintWriter(xmlFout);
-        FileOutputStream xmlFout1 = new FileOutputStream(classFile + ".jdo.a");
-        PrintWriter xmlPw1 = new PrintWriter(xmlFout1);
-        FileOutputStream xmlFout2 = new FileOutputStream(classFile + ".jdo.d");
-        PrintWriter xmlPw2 = new PrintWriter(xmlFout2);
-
-        startClass(pw, classFile);
-        startXmlMetaData(xmlPw);
-        startXmlMetaData(xmlPw1);
-        startXmlMetaData(xmlPw2);
-
-        startXmlClass(xmlPw,  classFile, 0);
-        startXmlClass(xmlPw1, classFile, 1);
-        startXmlClass(xmlPw2, classFile, 2);
-
-        int fieldCounter=0;
-        String[] fieldNames = new String [elementTypes.length * embeddedElements.length];
-        for(int j=0; j < elementTypes.length; j++)
-        {
-            if( elementTypes[j].equals("Locale") && collectionTypes[i].equals("TreeSet") )
-                continue;
-          for(int k=0; k < embeddedElements.length; k++)
+          if (collectionType.indexOf("Map") >= 0 || collectionType.equals("Hashtable")) {
+              generateMapCollection(collectionType);
+          } else // Array and the other collections
           {
-            if(collectionTypes[i].equals("Array"))
-            {
-              if(!embeddedElements[k].equals(""))
-              {
-                fieldNames[fieldCounter] = collectionTypes[i] + "Of" + elementTypes[j] + fieldCounter;
+              String classFile = collectionType + "Collections";
+              FileOutputStream fout = new FileOutputStream(classFile + ".java");
+              PrintWriter pw = new PrintWriter(fout);
+              FileOutputStream xmlFout = new FileOutputStream(classFile + ".jdo.n");
+              PrintWriter xmlPw = new PrintWriter(xmlFout);
+              FileOutputStream xmlFout1 = new FileOutputStream(classFile + ".jdo.a");
+              PrintWriter xmlPw1 = new PrintWriter(xmlFout1);
+              FileOutputStream xmlFout2 = new FileOutputStream(classFile + ".jdo.d");
+              PrintWriter xmlPw2 = new PrintWriter(xmlFout2);
+
+              startClass(pw, classFile);
+              startXmlMetaData(xmlPw);
+              startXmlMetaData(xmlPw1);
+              startXmlMetaData(xmlPw2);
+
+              startXmlClass(xmlPw, classFile, 0);
+              startXmlClass(xmlPw1, classFile, 1);
+              startXmlClass(xmlPw2, classFile, 2);
+
+              int fieldCounter = 0;
+              String[] fieldNames = new String[elementTypes.length * embeddedElements.length];
+              for (int j = 0; j < elementTypes.length; j++) {
+                  if (elementTypes[j].equals("Locale") && collectionType.equals("TreeSet"))
+                      continue;
+                  for (int k = 0; k < embeddedElements.length; k++) {
+                      if (collectionType.equals("Array")) {
+                          if (!embeddedElements[k].equals("")) {
+                              fieldNames[fieldCounter] = collectionType + "Of" + elementTypes[j] + fieldCounter;
 //                pw.println("  public " + "Object [] "+ fieldNames[fieldCounter] +";");
-                pw.println("  public " + elementTypes[j] +" [] " + fieldNames[fieldCounter] +";");
-                printXmlArrayFieldWithEmbeddedElement(xmlPw,  fieldNames[fieldCounter], embeddedElements[k]);
-                printXmlArrayFieldWithEmbeddedElement(xmlPw1, fieldNames[fieldCounter], embeddedElements[k]);
-                printXmlArrayFieldWithEmbeddedElement(xmlPw2, fieldNames[fieldCounter], embeddedElements[k]);
-                buildFieldSpecs(embeddedElementsForFieldSpec[k] + " " +
-                                "public " + elementTypes[j] +" [] " + fieldNames[fieldCounter]); // add to the field specs array*/
-
-                fieldCounter++;
+                              pw.println("  public " + elementTypes[j] + " [] " + fieldNames[fieldCounter] + ";");
+                              printXmlArrayFieldWithEmbeddedElement(xmlPw, fieldNames[fieldCounter],
+                                      embeddedElements[k]);
+                              printXmlArrayFieldWithEmbeddedElement(xmlPw1, fieldNames[fieldCounter],
+                                      embeddedElements[k]);
+                              printXmlArrayFieldWithEmbeddedElement(xmlPw2, fieldNames[fieldCounter],
+                                      embeddedElements[k]);
+                              buildFieldSpecs(embeddedElementsForFieldSpec[k] + " " +
+                                      "public " + elementTypes[j] + " [] " + fieldNames[fieldCounter]); // add to the
+                              // field specs array*/
+
+                              fieldCounter++;
+                          }
+                      } else // Collection
+                      {
+                          fieldNames[fieldCounter] = collectionType + "Of" + elementTypes[j] + fieldCounter;
+                          pw.println("  public " + collectionType + " " + fieldNames[fieldCounter] + ";");
+                          printXmlCollectionFieldWithEmbeddedElement(xmlPw, fieldNames[fieldCounter],
+                                  elementsWithPackageInfo[j],
+                                  embeddedElements[k]);
+                          printXmlCollectionFieldWithEmbeddedElement(xmlPw1, fieldNames[fieldCounter],
+                                  elementsWithPackageInfo[j],
+                                  embeddedElements[k]);
+                          printXmlCollectionFieldWithEmbeddedElement(xmlPw2, fieldNames[fieldCounter],
+                                  elementsWithPackageInfo[j],
+                                  embeddedElements[k]);
+                          buildFieldSpecs(embeddedElementsForFieldSpec[k] + " " +
+                                  "public " + collectionType + " " + fieldNames[fieldCounter]); // add to the field specs array*/
+                          fieldCounter++;
+
+                      }
+                  }
               }
-            }
-            else // Collection
-            {
-              fieldNames[fieldCounter] = collectionTypes[i] + "Of" + elementTypes[j] + fieldCounter;
-              pw.println("  public " + collectionTypes[i] +" "+ fieldNames[fieldCounter] +";");
-              printXmlCollectionFieldWithEmbeddedElement(xmlPw, fieldNames[fieldCounter], elementsWithPackageInfo[j],
-                                                         embeddedElements[k]);
-              printXmlCollectionFieldWithEmbeddedElement(xmlPw1, fieldNames[fieldCounter], elementsWithPackageInfo[j],
-                                                         embeddedElements[k]);
-              printXmlCollectionFieldWithEmbeddedElement(xmlPw2, fieldNames[fieldCounter], elementsWithPackageInfo[j],
-                                                         embeddedElements[k]);
-              buildFieldSpecs(embeddedElementsForFieldSpec[k] + " " +
-                              "public " + collectionTypes[i] +" "+ fieldNames[fieldCounter]); // add to the field specs array*/
-              fieldCounter++;
-
-            }
+              writeFieldSpecs(pw);
+              writeMethodGetLength(pw);
+              writeMethodGet(pw, collectionType.equals("Array") ? "Object [] " : collectionType, fieldNames, fieldCounter);
+              if (collectionType.equals("Array"))
+                  writeMethodSetForArray(pw, "Object [] ", fieldNames, fieldCounter);
+              else
+                  writeMethodSet(pw, collectionType, fieldNames, fieldCounter);
+
+              endClass(pw);
+              pw.close();
+              fout.close();
+              endXmlClass(xmlPw);
+              endXmlClass(xmlPw1);
+              endXmlClass(xmlPw2);
+              endXmlMetaDeta(xmlPw);
+              endXmlMetaDeta(xmlPw1);
+              endXmlMetaDeta(xmlPw2);
+              xmlPw.close();
+              xmlFout.close();
+              xmlPw1.close();
+              xmlFout1.close();
+              xmlPw2.close();
+              xmlFout2.close();
           }
-        }
-        writeFieldSpecs(pw);
-        writeMethodGetLength(pw);
-        writeMethodGet(pw, collectionTypes[i].equals("Array")? "Object [] " : collectionTypes[i], fieldNames, fieldCounter);
-        if(collectionTypes[i].equals("Array"))
-          writeMethodSetForArray(pw, "Object [] ", fieldNames, fieldCounter);
-        else
-         writeMethodSet(pw, collectionTypes[i], fieldNames, fieldCounter);
-
-        endClass(pw);
-        pw.close();
-        fout.close();
-        endXmlClass(xmlPw);
-        endXmlClass(xmlPw1);
-        endXmlClass(xmlPw2);
-        endXmlMetaDeta(xmlPw);
-        endXmlMetaDeta(xmlPw1);
-        endXmlMetaDeta(xmlPw2);
-        xmlPw.close();
-        xmlFout.close();
-        xmlPw1.close();
-        xmlFout1.close();
-        xmlPw2.close();
-        xmlFout2.close();
       }
-    }
   }
 
   private void generateMapCollection(String mapName) throws Exception
@@ -857,34 +841,30 @@ if(!(xmlEmbeddedModifiers[m].equals("") &&  xmlPersistenceModifiers[l].equals(""
     int fieldCounter=0;
     String[] fieldNames = new String [keyTypes.length * embeddedKeys.length
                                        * valueTypes.length * embeddedValues.length];
-    for(int i = 0; i < keyTypes.length; i++)
-    {
-      for(int j = 0; j < embeddedKeys.length; j++)
-      {
-        for(int k = 0; k < valueTypes.length; k++)
-        {
-          for(int l = 0; l < embeddedValues.length; l++)
-          {
-            if( keyTypes[i].equals("") && embeddedKeys[j].equals("")
-              && valueTypes[k].equals("") && embeddedValues[l].equals(""))
-              continue;
-            fieldNames[fieldCounter] = mapName+ "Of" + keyTypes[i] +"_"+valueTypes[k] + fieldCounter;
-            pw.println("  public " + mapName +" " + fieldNames[fieldCounter] +";");
-            printXmlMapField(xmlPw, fieldNames[fieldCounter], keyTypes[i], embeddedKeys[j],
-                             valueTypes[k], embeddedValues[l]);
-            printXmlMapField(xmlPw1, fieldNames[fieldCounter], keyTypes[i], embeddedKeys[j],
-                             valueTypes[k], embeddedValues[l]);
-            printXmlMapField(xmlPw2, fieldNames[fieldCounter], keyTypes[i], embeddedKeys[j],
-                             valueTypes[k], embeddedValues[l]);
-            buildFieldSpecs(embeddedKeyForFieldSpec[j] + " " +
-                            embeddedValueForFieldSpec[l] + " " +
-                            "public " + mapName +" "+ fieldNames[fieldCounter]); // add to the field specs array*/
-            fieldCounter++;
-
-           }
-        }
+      for (String keyType : keyTypes) {
+          for (int j = 0; j < embeddedKeys.length; j++) {
+              for (String valueType : valueTypes) {
+                  for (int l = 0; l < embeddedValues.length; l++) {
+                      if (keyType.equals("") && embeddedKeys[j].equals("")
+                              && valueType.equals("") && embeddedValues[l].equals(""))
+                          continue;
+                      fieldNames[fieldCounter] = mapName + "Of" + keyType + "_" + valueType + fieldCounter;
+                      pw.println("  public " + mapName + " " + fieldNames[fieldCounter] + ";");
+                      printXmlMapField(xmlPw, fieldNames[fieldCounter], keyType, embeddedKeys[j],
+                              valueType, embeddedValues[l]);
+                      printXmlMapField(xmlPw1, fieldNames[fieldCounter], keyType, embeddedKeys[j],
+                              valueType, embeddedValues[l]);
+                      printXmlMapField(xmlPw2, fieldNames[fieldCounter], keyType, embeddedKeys[j],
+                              valueType, embeddedValues[l]);
+                      buildFieldSpecs(embeddedKeyForFieldSpec[j] + " " +
+                              embeddedValueForFieldSpec[l] + " " +
+                              "public " + mapName + " " + fieldNames[fieldCounter]); // add to the field specs array*/
+                      fieldCounter++;
+
+                  }
+              }
+          }
       }
-    }
     writeFieldSpecs(pw);
     writeMethodGetLength(pw);
     writeMethodGet(pw, mapName, fieldNames, fieldCounter);
diff --git a/tck/src/main/java/org/apache/jdo/tck/util/ConversionHelper.java b/tck/src/main/java/org/apache/jdo/tck/util/ConversionHelper.java
index dfa4378c..472411dc 100644
--- a/tck/src/main/java/org/apache/jdo/tck/util/ConversionHelper.java
+++ b/tck/src/main/java/org/apache/jdo/tck/util/ConversionHelper.java
@@ -75,8 +75,8 @@ public class ConversionHelper {
      */
     public static Map<Object, Object> arrayToMap(Object[][] array) {
         Map<Object, Object> map = new HashMap<>();
-        for (int i = 0; i < array.length; i++) {
-            map.put(array[i][0], array[i][1]);
+        for (Object[] objects : array) {
+            map.put(objects[0], objects[1]);
         }
         return map;
     }
@@ -92,8 +92,8 @@ public class ConversionHelper {
      */
     public static <T> Collection<T> convertsElementsOfTypeObjectArray(Collection<T> collection) {
         Collection<T>  result = new ArrayList<>();
-        for (Iterator<T> i = collection.iterator(); i.hasNext(); ) {
-            T current = (T)convertObjectArrayElements(i.next());
+        for (T t : collection) {
+            T current = (T) convertObjectArrayElements(t);
             result.add(current);
         }
         return result;
@@ -110,11 +110,10 @@ public class ConversionHelper {
      */
     public static <K, V> Map<K, V> convertsElementsOfTypeObjectArray(Map<K, V> map) {
         Map<K, V> result = new HashMap<>();
-        for (Iterator<Map.Entry<K, V>> i = map.entrySet().iterator(); i.hasNext(); ) {
-            Map.Entry<K, V> entry = i.next();
+        for (Map.Entry<K, V> entry : map.entrySet()) {
             Object key = convertObjectArrayElements(entry.getKey());
             Object value = convertObjectArrayElements(entry.getValue());
-            result.put((K)key, (V)value);
+            result.put((K) key, (V) value);
         }
         return result;
     }
diff --git a/tck/src/main/java/org/apache/jdo/tck/util/GetSupportedOptions.java b/tck/src/main/java/org/apache/jdo/tck/util/GetSupportedOptions.java
index 0d0cdcab..d6f2c344 100644
--- a/tck/src/main/java/org/apache/jdo/tck/util/GetSupportedOptions.java
+++ b/tck/src/main/java/org/apache/jdo/tck/util/GetSupportedOptions.java
@@ -34,10 +34,8 @@ public class GetSupportedOptions {
         PersistenceManagerFactory pmf = (PersistenceManagerFactory) PMFclass.newInstance();
         Collection<String> options = pmf.supportedOptions();
         System.out.println("Supported options are:");
-        Iterator<String> iter = options.iterator();
-        while( iter.hasNext() ){
-            String val = iter.next();
-            System.out.println(val);        
+        for (String val : options) {
+            System.out.println(val);
         }
     }
 
diff --git a/tck/src/main/java/org/apache/jdo/tck/util/signature/SignatureVerifier.java b/tck/src/main/java/org/apache/jdo/tck/util/signature/SignatureVerifier.java
index 59cd59a1..bf149d9e 100644
--- a/tck/src/main/java/org/apache/jdo/tck/util/signature/SignatureVerifier.java
+++ b/tck/src/main/java/org/apache/jdo/tck/util/signature/SignatureVerifier.java
@@ -822,11 +822,10 @@ public class SignatureVerifier {
         }
 
         // check for public non-standard members
-        for (Iterator<Member> i = members.iterator(); i.hasNext();) {
-            final Member m = i.next();
+        for (final Member m : members) {
             if ((m.getModifiers() & Modifier.PUBLIC) != 0) {
                 handleNonStandard("non-standard, public member;",
-                                  Formatter.toString(m));
+                        Formatter.toString(m));
             }
         }
     }
@@ -1710,9 +1709,8 @@ public class SignatureVerifier {
          */
         @SuppressWarnings("empty-statement")
         public void parse(List<String> descrFileNames)
-            throws IOException, ParseException {        
-            for (Iterator<String> i = descrFileNames.iterator(); i.hasNext();) {
-                final String fileName = i.next();
+            throws IOException, ParseException {
+            for (final String fileName : descrFileNames) {
                 logInfo("");
                 logInfo("parsing descriptor file: " + fileName);
                 try {
@@ -1721,7 +1719,7 @@ public class SignatureVerifier {
                     ir.setLineNumber(1);
                     setLookAhead(null);
                     // empty-statement intentional
-                    while (parseClass() != null);
+                    while (parseClass() != null) ;
                 } finally {
                     descriptorFile = null;
                     if (ir != null) {
@@ -1771,37 +1769,37 @@ public class SignatureVerifier {
         out.println("parse main() arguments");
 
         // parse this class' options and arguments
-        for (int i = 0; i < args.length; i++) {
-            if (args[i] == null) {
+        for (String arg : args) {
+            if (arg == null) {
                 continue;
             }
-            if (args[i].equalsIgnoreCase("-h")
-                || args[i].equalsIgnoreCase("--help")) {
+            if (arg.equalsIgnoreCase("-h")
+                    || arg.equalsIgnoreCase("--help")) {
                 return -1;
             }
-            if (args[i].equalsIgnoreCase("-v")
-                || args[i].equalsIgnoreCase("--verbose")) {
+            if (arg.equalsIgnoreCase("-v")
+                    || arg.equalsIgnoreCase("--verbose")) {
                 optionVerbose = true;
                 continue;
             }
-            if (args[i].equalsIgnoreCase("-q")
-                || args[i].equalsIgnoreCase("--quiet")) {
+            if (arg.equalsIgnoreCase("-q")
+                    || arg.equalsIgnoreCase("--quiet")) {
                 optionQuiet = true;
                 continue;
             }
-            if (args[i].startsWith("-")) {
-                out.println("Usage Error: unknown option " + args[i]);
+            if (arg.startsWith("-")) {
+                out.println("Usage Error: unknown option " + arg);
                 return -1;
             }
             // collect argument
-            descrFileNames.add(args[i]);
+            descrFileNames.add(arg);
         }
 
         // print args
         if (false) {
             out.println("descrFileNames = {");
-            for (Iterator<String> i = descrFileNames.iterator(); i.hasNext();) {
-                out.println("                     " + i.next());
+            for (String descrFileName : descrFileNames) {
+                out.println("                     " + descrFileName);
             }
             out.println("                 }");
             out.println("optionQuiet    = " + optionQuiet);
diff --git a/tck/src/main/java/org/apache/jdo/tck/util/signature/TypeHelper.java b/tck/src/main/java/org/apache/jdo/tck/util/signature/TypeHelper.java
index b444ff54..987aeb8c 100644
--- a/tck/src/main/java/org/apache/jdo/tck/util/signature/TypeHelper.java
+++ b/tck/src/main/java/org/apache/jdo/tck/util/signature/TypeHelper.java
@@ -63,8 +63,7 @@ public class TypeHelper {
         userTypeNames.put("Z", "boolean");
         userTypeNames.put("V", "void");
 
-        for (Iterator<Map.Entry<String, String>> i = userTypeNames.entrySet().iterator(); i.hasNext();) {
-            final Map.Entry<String, String> e = i.next();
+        for (final Map.Entry<String, String> e : userTypeNames.entrySet()) {
             reflectionTypeNames.put(e.getValue(), e.getKey());
         }