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/09 20:18:57 UTC

[db-jdo] branch tck-compiler-warnings updated: JDO-817: removing compiler warnings Raw use og parameterzied class

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


The following commit(s) were added to refs/heads/tck-compiler-warnings by this push:
     new dced9fac JDO-817: removing compiler warnings Raw use og parameterzied class
dced9fac is described below

commit dced9fac6c26eeecd2f3095f63ab178a38e44111
Author: Michael Bouschen <Mi...@akquinet.de>
AuthorDate: Sat Jul 9 22:18:46 2022 +0200

    JDO-817: removing compiler warnings Raw use og parameterzied class
---
 .../AfterCloseSetMethodsThrowException.java        |   8 +-
 .../TestHashMapStringKeyCollections.java           |   3 +-
 .../TestHashMapStringValueCollections.java         |   2 +-
 .../TestHashtableStringKeyCollections.java         |   3 +-
 .../TestHashtableStringValueCollections.java       |   2 +-
 .../fieldtypes/TestMapStringKeyCollections.java    |   2 +-
 .../fieldtypes/TestMapStringValueCollections.java  |   2 +-
 .../TestTreeMapStringKeyCollections.java           |   3 +-
 .../TestTreeMapStringValueCollections.java         |   2 +-
 .../apache/jdo/tck/models/fieldtypes/TestUtil.java |   2 +-
 .../tck/pc/fieldtypes/ArrayListCollections.java    | 102 ++++-----
 .../tck/pc/fieldtypes/CollectionCollections.java   |  92 +++++----
 .../pc/fieldtypes/HashMapStringKeyCollections.java | 202 +++++++++---------
 .../fieldtypes/HashMapStringValueCollections.java  | 187 ++++++++---------
 .../jdo/tck/pc/fieldtypes/HashSetCollections.java  |  92 +++++----
 .../fieldtypes/HashtableStringKeyCollections.java  | 202 +++++++++---------
 .../HashtableStringValueCollections.java           | 187 ++++++++---------
 .../tck/pc/fieldtypes/LinkedListCollections.java   |  92 +++++----
 .../jdo/tck/pc/fieldtypes/ListCollections.java     |  92 +++++----
 .../tck/pc/fieldtypes/MapStringKeyCollections.java | 228 +++++++++++----------
 .../pc/fieldtypes/MapStringValueCollections.java   | 213 +++++++++----------
 .../jdo/tck/pc/fieldtypes/SetCollections.java      |  92 +++++----
 .../pc/fieldtypes/TreeMapStringKeyCollections.java | 202 +++++++++---------
 .../fieldtypes/TreeMapStringValueCollections.java  | 187 ++++++++---------
 .../jdo/tck/pc/fieldtypes/TreeSetCollections.java  |  81 ++++----
 .../jdo/tck/pc/fieldtypes/VectorCollections.java   |  92 +++++----
 .../org/apache/jdo/tck/util/EqualityHelper.java    |   4 +-
 27 files changed, 1216 insertions(+), 1160 deletions(-)

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 748081e7..1acb3673 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
@@ -64,10 +64,10 @@ public class AfterCloseSetMethodsThrowException extends JDO_Test {
 
     /** */
     public void test() {
-        Class<?>[] stringParameters = new Class[]{String.class};
-        Class<?>[] booleanParameters = new Class[]{boolean.class};
-        Class<?>[] objectParameters = new Class[]{Object.class};
-        Class<?>[] integerParameters = new Class[]{Integer.class};
+        Class<String>[] stringParameters = new Class[]{String.class};
+        Class<Boolean>[] booleanParameters = new Class[]{boolean.class};
+        Class<Object>[] objectParameters = new Class[]{Object.class};
+        Class<Integer>[] integerParameters = new Class[]{Integer.class};
         Object[] stringParameter = new Object[]{"Nobody knows the trouble"};
         Object[] booleanParameter = new Object[]{Boolean.FALSE};
         Object[] objectParameter = new Object[]{null};
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 2e616e31..538d5a41 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
@@ -20,7 +20,6 @@ package org.apache.jdo.tck.models.fieldtypes;
 import java.math.BigDecimal;
 
 import java.util.HashMap;
-import java.util.Hashtable;
 import java.util.Iterator;
 import java.util.Set;
 import java.util.Vector;
@@ -142,7 +141,7 @@ public class TestHashMapStringKeyCollections extends JDO_Test {
             Vector<?> value = TestUtil.makeNewVectorInstance(
                     fieldSpecs.get(1), valueOrder);
 
-            HashMap map = new HashMap<>();
+            HashMap<Object, Object> map = new HashMap<>();
             for (int j = 0; j< key.size(); j++) {
                 map.put(key.get(j), value.get(j));
             }
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 70357f54..5287851e 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
@@ -142,7 +142,7 @@ public class TestHashMapStringValueCollections extends JDO_Test {
             Vector<?> value = TestUtil.makeNewVectorInstance(
                     fieldSpecs.get(1), valueOrder);
 
-            HashMap map = new HashMap<>();
+            HashMap<Object, Object> map = new HashMap<>();
             for (int j = 0; j< key.size(); j++) {
                 map.put(key.get(j), value.get(j));
             }
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 ccb53d5d..cab8bba3 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
@@ -21,7 +21,6 @@ import java.math.BigDecimal;
 
 import java.util.Hashtable;
 import java.util.Iterator;
-import java.util.List;
 import java.util.Set;
 import java.util.Vector;
 
@@ -144,7 +143,7 @@ public class TestHashtableStringKeyCollections extends JDO_Test {
             Vector<?> value = TestUtil.makeNewVectorInstance(
                     fieldSpecs.get(1), valueOrder);
 
-            Hashtable map = new Hashtable<>();
+            Hashtable<Object, Object> map = new Hashtable<>();
             for (int j = 0; j< key.size(); j++) {
                 map.put(key.get(j), value.get(j));
             }
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 3cf08677..d697df20 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
@@ -141,7 +141,7 @@ public class TestHashtableStringValueCollections extends JDO_Test {
             Vector<?> value = TestUtil.makeNewVectorInstance(
                     fieldSpecs.get(1), valueOrder);
 
-            Hashtable map = new Hashtable<>();
+            Hashtable<Object, Object> map = new Hashtable<>();
             for (int j = 0; j< key.size(); j++) {
                 map.put(key.get(j), value.get(j));
             }
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 8cf0cd69..13a516d2 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
@@ -143,7 +143,7 @@ public class TestMapStringKeyCollections extends JDO_Test {
             Vector<?> value = TestUtil.makeNewVectorInstance(
                     fieldSpecs.get(1), valueOrder);
 
-            HashMap map = new HashMap<>();
+            HashMap<Object, Object> map = new HashMap<>();
             for (int j = 0; j< key.size(); j++) {
                 map.put(key.get(j), value.get(j));
             }
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 3612a27b..f171a84e 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
@@ -146,7 +146,7 @@ public class TestMapStringValueCollections extends JDO_Test {
             Vector<?> value = TestUtil.makeNewVectorInstance(
                     fieldSpecs.get(1), valueOrder);
 
-            HashMap map = new HashMap<>();
+            HashMap<Object, Object> map = new HashMap<>();
             for (int j = 0; j< key.size(); j++) {
                 map.put(key.get(j), value.get(j));
             }
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 1f0283ed..4be31598 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
@@ -20,7 +20,6 @@ package org.apache.jdo.tck.models.fieldtypes;
 import java.math.BigDecimal;
 
 import java.util.Iterator;
-import java.util.List;
 import java.util.Set;
 import java.util.TreeMap;
 import java.util.Vector;
@@ -141,7 +140,7 @@ public class TestTreeMapStringKeyCollections extends JDO_Test {
             Vector<?> value = TestUtil.makeNewVectorInstance(
                     fieldSpecs.get(1), valueOrder);
 
-            TreeMap map = new TreeMap<>();
+            TreeMap<Object, Object> map = new TreeMap<>();
             for (int j = 0; j< key.size(); j++) {
                 map.put(key.get(j), value.get(j));
             }
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 a13aa4aa..a4388256 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
@@ -139,7 +139,7 @@ public class TestTreeMapStringValueCollections extends JDO_Test {
             Vector<?> value = TestUtil.makeNewVectorInstance(
                     fieldSpecs.get(1), valueOrder);
 
-            TreeMap map = new TreeMap<>();
+            TreeMap<Object, Object> map = new TreeMap<>();
             for (int j = 0; j< key.size(); j++) {
                 map.put(key.get(j), value.get(j));
             }
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 87b7ba2b..bf899c66 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
@@ -105,7 +105,7 @@ public class TestUtil {
 
   public static Vector makeNewVectorInstance(String type, int order) {
 
-      Vector vec = new Vector<>();
+      Vector<Object> vec = new Vector<>();
 
       switch (order) {
           case(1):
diff --git a/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/ArrayListCollections.java b/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/ArrayListCollections.java
index 37e1e530..6d82c333 100644
--- a/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/ArrayListCollections.java
+++ b/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/ArrayListCollections.java
@@ -18,57 +18,61 @@
 package org.apache.jdo.tck.pc.fieldtypes;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
+import java.math.BigInteger;
 import java.util.ArrayList;
+import java.util.Date;
+import java.util.Locale;
 
 public class ArrayListCollections { 
   public int identifier;
-  public ArrayList ArrayListOfObject0;
-  public ArrayList ArrayListOfObject1;
-  public ArrayList ArrayListOfObject2;
-  public ArrayList ArrayListOfSimpleClass3;
-  public ArrayList ArrayListOfSimpleClass4;
-  public ArrayList ArrayListOfSimpleClass5;
-  public ArrayList ArrayListOfSimpleInterface6;
-  public ArrayList ArrayListOfSimpleInterface7;
-  public ArrayList ArrayListOfSimpleInterface8;
-  public ArrayList ArrayListOfString9;
-  public ArrayList ArrayListOfString10;
-  public ArrayList ArrayListOfString11;
-  public ArrayList ArrayListOfDate12;
-  public ArrayList ArrayListOfDate13;
-  public ArrayList ArrayListOfDate14;
-  public ArrayList ArrayListOfLocale15;
-  public ArrayList ArrayListOfLocale16;
-  public ArrayList ArrayListOfLocale17;
-  public ArrayList ArrayListOfBigDecimal18;
-  public ArrayList ArrayListOfBigDecimal19;
-  public ArrayList ArrayListOfBigDecimal20;
-  public ArrayList ArrayListOfBigInteger21;
-  public ArrayList ArrayListOfBigInteger22;
-  public ArrayList ArrayListOfBigInteger23;
-  public ArrayList ArrayListOfByte24;
-  public ArrayList ArrayListOfByte25;
-  public ArrayList ArrayListOfByte26;
-  public ArrayList ArrayListOfDouble27;
-  public ArrayList ArrayListOfDouble28;
-  public ArrayList ArrayListOfDouble29;
-  public ArrayList ArrayListOfFloat30;
-  public ArrayList ArrayListOfFloat31;
-  public ArrayList ArrayListOfFloat32;
-  public ArrayList ArrayListOfInteger33;
-  public ArrayList ArrayListOfInteger34;
-  public ArrayList ArrayListOfInteger35;
-  public ArrayList ArrayListOfLong36;
-  public ArrayList ArrayListOfLong37;
-  public ArrayList ArrayListOfLong38;
-  public ArrayList ArrayListOfShort39;
-  public ArrayList ArrayListOfShort40;
-  public ArrayList ArrayListOfShort41;
-  public ArrayList ArrayListOfSimpleEnum42;
-  public ArrayList ArrayListOfSimpleEnum43;
-  public ArrayList ArrayListOfSimpleEnum44;
-  public ArrayList ArrayListOfSimpleEnum45;
-  public ArrayList ArrayListOfSimpleEnum46;
+  public ArrayList<Object> ArrayListOfObject0;
+  public ArrayList<Object> ArrayListOfObject1;
+  public ArrayList<Object> ArrayListOfObject2;
+  public ArrayList<SimpleClass> ArrayListOfSimpleClass3;
+  public ArrayList<SimpleClass> ArrayListOfSimpleClass4;
+  public ArrayList<SimpleClass> ArrayListOfSimpleClass5;
+  public ArrayList<SimpleInterface> ArrayListOfSimpleInterface6;
+  public ArrayList<SimpleInterface> ArrayListOfSimpleInterface7;
+  public ArrayList<SimpleInterface> ArrayListOfSimpleInterface8;
+  public ArrayList<String> ArrayListOfString9;
+  public ArrayList<String> ArrayListOfString10;
+  public ArrayList<String> ArrayListOfString11;
+  public ArrayList<Date> ArrayListOfDate12;
+  public ArrayList<Date> ArrayListOfDate13;
+  public ArrayList<Date> ArrayListOfDate14;
+  public ArrayList<Locale> ArrayListOfLocale15;
+  public ArrayList<Locale> ArrayListOfLocale16;
+  public ArrayList<Locale> ArrayListOfLocale17;
+  public ArrayList<BigDecimal> ArrayListOfBigDecimal18;
+  public ArrayList<BigDecimal> ArrayListOfBigDecimal19;
+  public ArrayList<BigDecimal> ArrayListOfBigDecimal20;
+  public ArrayList<BigInteger> ArrayListOfBigInteger21;
+  public ArrayList<BigInteger> ArrayListOfBigInteger22;
+  public ArrayList<BigInteger> ArrayListOfBigInteger23;
+  public ArrayList<Byte> ArrayListOfByte24;
+  public ArrayList<Byte> ArrayListOfByte25;
+  public ArrayList<Byte> ArrayListOfByte26;
+  public ArrayList<Double> ArrayListOfDouble27;
+  public ArrayList<Double> ArrayListOfDouble28;
+  public ArrayList<Double> ArrayListOfDouble29;
+  public ArrayList<Float> ArrayListOfFloat30;
+  public ArrayList<Float> ArrayListOfFloat31;
+  public ArrayList<Float> ArrayListOfFloat32;
+  public ArrayList<Integer> ArrayListOfInteger33;
+  public ArrayList<Integer> ArrayListOfInteger34;
+  public ArrayList<Integer> ArrayListOfInteger35;
+  public ArrayList<Long> ArrayListOfLong36;
+  public ArrayList<Long> ArrayListOfLong37;
+  public ArrayList<Long> ArrayListOfLong38;
+  public ArrayList<Short> ArrayListOfShort39;
+  public ArrayList<Short> ArrayListOfShort40;
+  public ArrayList<Short> ArrayListOfShort41;
+  public ArrayList<SimpleEnum> ArrayListOfSimpleEnum42;
+  public ArrayList<SimpleEnum> ArrayListOfSimpleEnum43;
+  public ArrayList<SimpleEnum> ArrayListOfSimpleEnum44;
+  public ArrayList<SimpleEnum> ArrayListOfSimpleEnum45;
+  public ArrayList<SimpleEnum> ArrayListOfSimpleEnum46;
 
   public static final String [] fieldSpecs = { 
   "public ArrayList ArrayListOfObject0",
@@ -123,7 +127,7 @@ public class ArrayListCollections {
   {
     return fieldSpecs.length;
   }
-  public ArrayList get(int index)
+  public ArrayList<?> get(int index)
   {
     switch (index)
     {
@@ -388,7 +392,7 @@ public class ArrayListCollections {
 
         public String toString() { return this.getClass().getName() + ": "  + identifier;}
 
-        public int hashCode() { return (int)identifier ; }
+        public int hashCode() { return identifier ; }
 
         public boolean equals(Object other) {
             if (other != null && (other instanceof Oid)) {
diff --git a/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/CollectionCollections.java b/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/CollectionCollections.java
index 110c8481..58c69aca 100644
--- a/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/CollectionCollections.java
+++ b/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/CollectionCollections.java
@@ -18,53 +18,57 @@
 package org.apache.jdo.tck.pc.fieldtypes;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
+import java.math.BigInteger;
 import java.util.Collection;
+import java.util.Date;
+import java.util.Locale;
 
 public class CollectionCollections { 
   public int identifier;
-  public Collection CollectionOfObject0;
-  public Collection CollectionOfObject1;
-  public Collection CollectionOfObject2;
-  public Collection CollectionOfSimpleClass3;
-  public Collection CollectionOfSimpleClass4;
-  public Collection CollectionOfSimpleClass5;
-  public Collection CollectionOfSimpleInterface6;
-  public Collection CollectionOfSimpleInterface7;
-  public Collection CollectionOfSimpleInterface8;
-  public Collection CollectionOfString9;
-  public Collection CollectionOfString10;
-  public Collection CollectionOfString11;
-  public Collection CollectionOfDate12;
-  public Collection CollectionOfDate13;
-  public Collection CollectionOfDate14;
-  public Collection CollectionOfLocale15;
-  public Collection CollectionOfLocale16;
-  public Collection CollectionOfLocale17;
-  public Collection CollectionOfBigDecimal18;
-  public Collection CollectionOfBigDecimal19;
-  public Collection CollectionOfBigDecimal20;
-  public Collection CollectionOfBigInteger21;
-  public Collection CollectionOfBigInteger22;
-  public Collection CollectionOfBigInteger23;
-  public Collection CollectionOfByte24;
-  public Collection CollectionOfByte25;
-  public Collection CollectionOfByte26;
-  public Collection CollectionOfDouble27;
-  public Collection CollectionOfDouble28;
-  public Collection CollectionOfDouble29;
-  public Collection CollectionOfFloat30;
-  public Collection CollectionOfFloat31;
-  public Collection CollectionOfFloat32;
-  public Collection CollectionOfInteger33;
-  public Collection CollectionOfInteger34;
-  public Collection CollectionOfInteger35;
-  public Collection CollectionOfLong36;
-  public Collection CollectionOfLong37;
-  public Collection CollectionOfLong38;
-  public Collection CollectionOfShort39;
-  public Collection CollectionOfShort40;
-  public Collection CollectionOfShort41;
-  public Collection CollectionOfSimpleClass42;
+  public Collection<Object> CollectionOfObject0;
+  public Collection<Object> CollectionOfObject1;
+  public Collection<Object> CollectionOfObject2;
+  public Collection<SimpleClass> CollectionOfSimpleClass3;
+  public Collection<SimpleClass> CollectionOfSimpleClass4;
+  public Collection<SimpleClass> CollectionOfSimpleClass5;
+  public Collection<SimpleInterface> CollectionOfSimpleInterface6;
+  public Collection<SimpleInterface> CollectionOfSimpleInterface7;
+  public Collection<SimpleInterface> CollectionOfSimpleInterface8;
+  public Collection<String> CollectionOfString9;
+  public Collection<String> CollectionOfString10;
+  public Collection<String> CollectionOfString11;
+  public Collection<Date> CollectionOfDate12;
+  public Collection<Date> CollectionOfDate13;
+  public Collection<Date> CollectionOfDate14;
+  public Collection<Locale> CollectionOfLocale15;
+  public Collection<Locale> CollectionOfLocale16;
+  public Collection<Locale> CollectionOfLocale17;
+  public Collection<BigDecimal> CollectionOfBigDecimal18;
+  public Collection<BigDecimal> CollectionOfBigDecimal19;
+  public Collection<BigDecimal> CollectionOfBigDecimal20;
+  public Collection<BigInteger> CollectionOfBigInteger21;
+  public Collection<BigInteger> CollectionOfBigInteger22;
+  public Collection<BigInteger> CollectionOfBigInteger23;
+  public Collection<Byte> CollectionOfByte24;
+  public Collection<Byte> CollectionOfByte25;
+  public Collection<Byte> CollectionOfByte26;
+  public Collection<Double> CollectionOfDouble27;
+  public Collection<Double> CollectionOfDouble28;
+  public Collection<Double> CollectionOfDouble29;
+  public Collection<Float> CollectionOfFloat30;
+  public Collection<Float> CollectionOfFloat31;
+  public Collection<Float> CollectionOfFloat32;
+  public Collection<Integer> CollectionOfInteger33;
+  public Collection<Integer> CollectionOfInteger34;
+  public Collection<Integer> CollectionOfInteger35;
+  public Collection<Long> CollectionOfLong36;
+  public Collection<Long> CollectionOfLong37;
+  public Collection<Long> CollectionOfLong38;
+  public Collection<Short> CollectionOfShort39;
+  public Collection<Short> CollectionOfShort40;
+  public Collection<Short> CollectionOfShort41;
+  public Collection<SimpleClass> CollectionOfSimpleClass42;
 
   public static final String [] fieldSpecs = { 
   "public Collection CollectionOfObject0",
@@ -115,7 +119,7 @@ public class CollectionCollections {
   {
     return fieldSpecs.length;
   }
-  public Collection get(int index)
+  public Collection<?> get(int index)
   {
     switch (index)
     {
diff --git a/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/HashMapStringKeyCollections.java b/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/HashMapStringKeyCollections.java
index 559c9733..4ede374a 100644
--- a/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/HashMapStringKeyCollections.java
+++ b/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/HashMapStringKeyCollections.java
@@ -18,108 +18,112 @@
 package org.apache.jdo.tck.pc.fieldtypes;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Date;
 import java.util.HashMap;
+import java.util.Locale;
 
 public class HashMapStringKeyCollections { 
   public int identifier;
-  public HashMap HashMapOfString_Object0;
-  public HashMap HashMapOfString_Object1;
-  public HashMap HashMapOfString_Object2;
-  public HashMap HashMapOfString_SimpleClass3;
-  public HashMap HashMapOfString_SimpleClass4;
-  public HashMap HashMapOfString_SimpleClass5;
-  public HashMap HashMapOfString_SimpleInterface6;
-  public HashMap HashMapOfString_SimpleInterface7;
-  public HashMap HashMapOfString_SimpleInterface8;
-  public HashMap HashMapOfString_String9;
-  public HashMap HashMapOfString_String10;
-  public HashMap HashMapOfString_String11;
-  public HashMap HashMapOfString_Date12;
-  public HashMap HashMapOfString_Date13;
-  public HashMap HashMapOfString_Date14;
-  public HashMap HashMapOfString_Locale15;
-  public HashMap HashMapOfString_Locale16;
-  public HashMap HashMapOfString_Locale17;
-  public HashMap HashMapOfString_BigDecimal18;
-  public HashMap HashMapOfString_BigDecimal19;
-  public HashMap HashMapOfString_BigDecimal20;
-  public HashMap HashMapOfString_BigInteger21;
-  public HashMap HashMapOfString_BigInteger22;
-  public HashMap HashMapOfString_BigInteger23;
-  public HashMap HashMapOfString_Byte24;
-  public HashMap HashMapOfString_Byte25;
-  public HashMap HashMapOfString_Byte26;
-  public HashMap HashMapOfString_Double27;
-  public HashMap HashMapOfString_Double28;
-  public HashMap HashMapOfString_Double29;
-  public HashMap HashMapOfString_Float30;
-  public HashMap HashMapOfString_Float31;
-  public HashMap HashMapOfString_Float32;
-  public HashMap HashMapOfString_Integer33;
-  public HashMap HashMapOfString_Integer34;
-  public HashMap HashMapOfString_Integer35;
-  public HashMap HashMapOfString_Long36;
-  public HashMap HashMapOfString_Long37;
-  public HashMap HashMapOfString_Long38;
-  public HashMap HashMapOfString_Short39;
-  public HashMap HashMapOfString_Short40;
-  public HashMap HashMapOfString_Short41;
-  public HashMap HashMapOfString_Object42;
-  public HashMap HashMapOfString_Object43;
-  public HashMap HashMapOfString_SimpleClass45;
-  public HashMap HashMapOfString_SimpleClass46;
-  public HashMap HashMapOfString_SimpleInterface48;
-  public HashMap HashMapOfString_SimpleInterface49;
-  public HashMap HashMapOfString_String51;
-  public HashMap HashMapOfString_String52;
-  public HashMap HashMapOfString_Date54;
-  public HashMap HashMapOfString_Date55;
-  public HashMap HashMapOfString_Locale57;
-  public HashMap HashMapOfString_Locale58;
-  public HashMap HashMapOfString_BigDecimal60;
-  public HashMap HashMapOfString_BigDecimal61;
-  public HashMap HashMapOfString_BigInteger63;
-  public HashMap HashMapOfString_BigInteger64;
-  public HashMap HashMapOfString_Byte66;
-  public HashMap HashMapOfString_Byte67;
-  public HashMap HashMapOfString_Double69;
-  public HashMap HashMapOfString_Double70;
-  public HashMap HashMapOfString_Float72;
-  public HashMap HashMapOfString_Float73;
-  public HashMap HashMapOfString_Integer75;
-  public HashMap HashMapOfString_Integer76;
-  public HashMap HashMapOfString_Long78;
-  public HashMap HashMapOfString_Long79;
-  public HashMap HashMapOfString_Short81;
-  public HashMap HashMapOfString_Short82;
-  public HashMap HashMapOfString_Object84;
-  public HashMap HashMapOfString_Object86;
-  public HashMap HashMapOfString_SimpleClass87;
-  public HashMap HashMapOfString_SimpleClass89;
-  public HashMap HashMapOfString_SimpleInterface90;
-  public HashMap HashMapOfString_SimpleInterface92;
-  public HashMap HashMapOfString_String93;
-  public HashMap HashMapOfString_String95;
-  public HashMap HashMapOfString_Date96;
-  public HashMap HashMapOfString_Date98;
-  public HashMap HashMapOfString_Locale99;
-  public HashMap HashMapOfString_Locale101;
-  public HashMap HashMapOfString_BigDecimal102;
-  public HashMap HashMapOfString_BigDecimal104;
-  public HashMap HashMapOfString_BigInteger105;
-  public HashMap HashMapOfString_BigInteger107;
-  public HashMap HashMapOfString_Byte108;
-  public HashMap HashMapOfString_Byte110;
-  public HashMap HashMapOfString_Double111;
-  public HashMap HashMapOfString_Double113;
-  public HashMap HashMapOfString_Float114;
-  public HashMap HashMapOfString_Float116;
-  public HashMap HashMapOfString_Integer117;
-  public HashMap HashMapOfString_Integer119;
-  public HashMap HashMapOfString_Long120;
-  public HashMap HashMapOfString_Long122;
-  public HashMap HashMapOfString_Short123;
-  public HashMap HashMapOfString_Short125;
+  public HashMap<String, Object> HashMapOfString_Object0;
+  public HashMap<String, Object> HashMapOfString_Object1;
+  public HashMap<String, Object> HashMapOfString_Object2;
+  public HashMap<String, SimpleClass> HashMapOfString_SimpleClass3;
+  public HashMap<String, SimpleClass> HashMapOfString_SimpleClass4;
+  public HashMap<String, SimpleClass> HashMapOfString_SimpleClass5;
+  public HashMap<String, SimpleInterface> HashMapOfString_SimpleInterface6;
+  public HashMap<String, SimpleInterface> HashMapOfString_SimpleInterface7;
+  public HashMap<String, SimpleInterface> HashMapOfString_SimpleInterface8;
+  public HashMap<String, String> HashMapOfString_String9;
+  public HashMap<String, String> HashMapOfString_String10;
+  public HashMap<String, String> HashMapOfString_String11;
+  public HashMap<String, Date> HashMapOfString_Date12;
+  public HashMap<String, Date> HashMapOfString_Date13;
+  public HashMap<String, Date> HashMapOfString_Date14;
+  public HashMap<String, Locale> HashMapOfString_Locale15;
+  public HashMap<String, Locale> HashMapOfString_Locale16;
+  public HashMap<String, Locale> HashMapOfString_Locale17;
+  public HashMap<String, BigDecimal> HashMapOfString_BigDecimal18;
+  public HashMap<String, BigDecimal> HashMapOfString_BigDecimal19;
+  public HashMap<String, BigDecimal> HashMapOfString_BigDecimal20;
+  public HashMap<String, BigInteger> HashMapOfString_BigInteger21;
+  public HashMap<String, BigInteger> HashMapOfString_BigInteger22;
+  public HashMap<String, BigInteger> HashMapOfString_BigInteger23;
+  public HashMap<String, Byte> HashMapOfString_Byte24;
+  public HashMap<String, Byte> HashMapOfString_Byte25;
+  public HashMap<String, Byte> HashMapOfString_Byte26;
+  public HashMap<String, Double> HashMapOfString_Double27;
+  public HashMap<String, Double> HashMapOfString_Double28;
+  public HashMap<String, Double> HashMapOfString_Double29;
+  public HashMap<String, Float> HashMapOfString_Float30;
+  public HashMap<String, Float> HashMapOfString_Float31;
+  public HashMap<String, Float> HashMapOfString_Float32;
+  public HashMap<String, Integer> HashMapOfString_Integer33;
+  public HashMap<String, Integer> HashMapOfString_Integer34;
+  public HashMap<String, Integer> HashMapOfString_Integer35;
+  public HashMap<String, Long> HashMapOfString_Long36;
+  public HashMap<String, Long> HashMapOfString_Long37;
+  public HashMap<String, Long> HashMapOfString_Long38;
+  public HashMap<String, Short> HashMapOfString_Short39;
+  public HashMap<String, Short> HashMapOfString_Short40;
+  public HashMap<String, Short> HashMapOfString_Short41;
+  public HashMap<String, Object> HashMapOfString_Object42;
+  public HashMap<String, Object> HashMapOfString_Object43;
+  public HashMap<String, SimpleClass> HashMapOfString_SimpleClass45;
+  public HashMap<String, SimpleClass> HashMapOfString_SimpleClass46;
+  public HashMap<String, SimpleInterface> HashMapOfString_SimpleInterface48;
+  public HashMap<String, SimpleInterface> HashMapOfString_SimpleInterface49;
+  public HashMap<String, String> HashMapOfString_String51;
+  public HashMap<String, String> HashMapOfString_String52;
+  public HashMap<String, Date> HashMapOfString_Date54;
+  public HashMap<String, Date> HashMapOfString_Date55;
+  public HashMap<String, Locale> HashMapOfString_Locale57;
+  public HashMap<String, Locale> HashMapOfString_Locale58;
+  public HashMap<String, BigDecimal> HashMapOfString_BigDecimal60;
+  public HashMap<String, BigDecimal> HashMapOfString_BigDecimal61;
+  public HashMap<String, BigInteger> HashMapOfString_BigInteger63;
+  public HashMap<String, BigInteger> HashMapOfString_BigInteger64;
+  public HashMap<String, Byte> HashMapOfString_Byte66;
+  public HashMap<String, Byte> HashMapOfString_Byte67;
+  public HashMap<String, Double> HashMapOfString_Double69;
+  public HashMap<String, Double> HashMapOfString_Double70;
+  public HashMap<String, Float> HashMapOfString_Float72;
+  public HashMap<String, Float> HashMapOfString_Float73;
+  public HashMap<String, Integer> HashMapOfString_Integer75;
+  public HashMap<String, Integer> HashMapOfString_Integer76;
+  public HashMap<String, Long> HashMapOfString_Long78;
+  public HashMap<String, Long> HashMapOfString_Long79;
+  public HashMap<String, Short> HashMapOfString_Short81;
+  public HashMap<String, Short> HashMapOfString_Short82;
+  public HashMap<String, Object> HashMapOfString_Object84;
+  public HashMap<String, Object> HashMapOfString_Object86;
+  public HashMap<String, SimpleClass> HashMapOfString_SimpleClass87;
+  public HashMap<String, SimpleClass> HashMapOfString_SimpleClass89;
+  public HashMap<String, SimpleInterface> HashMapOfString_SimpleInterface90;
+  public HashMap<String, SimpleInterface> HashMapOfString_SimpleInterface92;
+  public HashMap<String, String> HashMapOfString_String93;
+  public HashMap<String, String> HashMapOfString_String95;
+  public HashMap<String, Date> HashMapOfString_Date96;
+  public HashMap<String, Date> HashMapOfString_Date98;
+  public HashMap<String, Locale> HashMapOfString_Locale99;
+  public HashMap<String, Locale> HashMapOfString_Locale101;
+  public HashMap<String, BigDecimal> HashMapOfString_BigDecimal102;
+  public HashMap<String, BigDecimal> HashMapOfString_BigDecimal104;
+  public HashMap<String, BigInteger> HashMapOfString_BigInteger105;
+  public HashMap<String, BigInteger> HashMapOfString_BigInteger107;
+  public HashMap<String, Byte> HashMapOfString_Byte108;
+  public HashMap<String, Byte> HashMapOfString_Byte110;
+  public HashMap<String, Double> HashMapOfString_Double111;
+  public HashMap<String, Double> HashMapOfString_Double113;
+  public HashMap<String, Float> HashMapOfString_Float114;
+  public HashMap<String, Float> HashMapOfString_Float116;
+  public HashMap<String, Integer> HashMapOfString_Integer117;
+  public HashMap<String, Integer> HashMapOfString_Integer119;
+  public HashMap<String, Long> HashMapOfString_Long120;
+  public HashMap<String, Long> HashMapOfString_Long122;
+  public HashMap<String, Short> HashMapOfString_Short123;
+  public HashMap<String, Short> HashMapOfString_Short125;
 
   public static final String [] fieldSpecs = { 
   "public HashMap HashMapOfString_Object0",
@@ -225,7 +229,7 @@ public class HashMapStringKeyCollections {
   {
     return fieldSpecs.length;
   }
-  public HashMap get(int index)
+  public HashMap<?, ?> get(int index)
   {
     switch (index)
     {
diff --git a/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/HashMapStringValueCollections.java b/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/HashMapStringValueCollections.java
index a613133d..a6bd0b26 100644
--- a/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/HashMapStringValueCollections.java
+++ b/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/HashMapStringValueCollections.java
@@ -18,101 +18,104 @@
 package org.apache.jdo.tck.pc.fieldtypes;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Date;
 import java.util.HashMap;
 
 public class HashMapStringValueCollections { 
   public int identifier;
-  public HashMap HashMapOfObject_String0;
-  public HashMap HashMapOfObject_String1;
-  public HashMap HashMapOfObject_String2;
-  public HashMap HashMapOfObject_String3;
-  public HashMap HashMapOfObject_String4;
-  public HashMap HashMapOfObject_String6;
-  public HashMap HashMapOfObject_String8;
-  public HashMap HashMapOfSimpleClass_String9;
-  public HashMap HashMapOfSimpleClass_String10;
-  public HashMap HashMapOfSimpleClass_String11;
-  public HashMap HashMapOfSimpleClass_String12;
-  public HashMap HashMapOfSimpleClass_String13;
-  public HashMap HashMapOfSimpleClass_String15;
-  public HashMap HashMapOfSimpleClass_String17;
-  public HashMap HashMapOfSimpleInterface_String18;
-  public HashMap HashMapOfSimpleInterface_String19;
-  public HashMap HashMapOfSimpleInterface_String20;
-  public HashMap HashMapOfSimpleInterface_String21;
-  public HashMap HashMapOfSimpleInterface_String22;
-  public HashMap HashMapOfSimpleInterface_String24;
-  public HashMap HashMapOfSimpleInterface_String26;
-  public HashMap HashMapOfString_String27;
-  public HashMap HashMapOfString_String28;
-  public HashMap HashMapOfString_String29;
-  public HashMap HashMapOfString_String30;
-  public HashMap HashMapOfString_String31;
-  public HashMap HashMapOfString_String33;
-  public HashMap HashMapOfString_String35;
-  public HashMap HashMapOfDate_String36;
-  public HashMap HashMapOfDate_String37;
-  public HashMap HashMapOfDate_String38;
-  public HashMap HashMapOfDate_String39;
-  public HashMap HashMapOfDate_String40;
-  public HashMap HashMapOfDate_String42;
-  public HashMap HashMapOfDate_String44;
-  public HashMap HashMapOfBigDecimal_String45;
-  public HashMap HashMapOfBigDecimal_String46;
-  public HashMap HashMapOfBigDecimal_String47;
-  public HashMap HashMapOfBigDecimal_String48;
-  public HashMap HashMapOfBigDecimal_String49;
-  public HashMap HashMapOfBigDecimal_String51;
-  public HashMap HashMapOfBigDecimal_String53;
-  public HashMap HashMapOfBigInteger_String54;
-  public HashMap HashMapOfBigInteger_String55;
-  public HashMap HashMapOfBigInteger_String56;
-  public HashMap HashMapOfBigInteger_String57;
-  public HashMap HashMapOfBigInteger_String58;
-  public HashMap HashMapOfBigInteger_String60;
-  public HashMap HashMapOfBigInteger_String62;
-  public HashMap HashMapOfByte_String63;
-  public HashMap HashMapOfByte_String64;
-  public HashMap HashMapOfByte_String65;
-  public HashMap HashMapOfByte_String66;
-  public HashMap HashMapOfByte_String67;
-  public HashMap HashMapOfByte_String69;
-  public HashMap HashMapOfByte_String71;
-  public HashMap HashMapOfDouble_String72;
-  public HashMap HashMapOfDouble_String73;
-  public HashMap HashMapOfDouble_String74;
-  public HashMap HashMapOfDouble_String75;
-  public HashMap HashMapOfDouble_String76;
-  public HashMap HashMapOfDouble_String78;
-  public HashMap HashMapOfDouble_String80;
-  public HashMap HashMapOfFloat_String81;
-  public HashMap HashMapOfFloat_String82;
-  public HashMap HashMapOfFloat_String83;
-  public HashMap HashMapOfFloat_String84;
-  public HashMap HashMapOfFloat_String85;
-  public HashMap HashMapOfFloat_String87;
-  public HashMap HashMapOfFloat_String89;
-  public HashMap HashMapOfInteger_String90;
-  public HashMap HashMapOfInteger_String91;
-  public HashMap HashMapOfInteger_String92;
-  public HashMap HashMapOfInteger_String93;
-  public HashMap HashMapOfInteger_String94;
-  public HashMap HashMapOfInteger_String96;
-  public HashMap HashMapOfInteger_String98;
-  public HashMap HashMapOfLong_String99;
-  public HashMap HashMapOfLong_String100;
-  public HashMap HashMapOfLong_String101;
-  public HashMap HashMapOfLong_String102;
-  public HashMap HashMapOfLong_String103;
-  public HashMap HashMapOfLong_String105;
-  public HashMap HashMapOfLong_String107;
-  public HashMap HashMapOfShort_String108;
-  public HashMap HashMapOfShort_String109;
-  public HashMap HashMapOfShort_String110;
-  public HashMap HashMapOfShort_String111;
-  public HashMap HashMapOfShort_String112;
-  public HashMap HashMapOfShort_String114;
-  public HashMap HashMapOfShort_String116;
+  public HashMap<Object, String> HashMapOfObject_String0;
+  public HashMap<Object, String> HashMapOfObject_String1;
+  public HashMap<Object, String> HashMapOfObject_String2;
+  public HashMap<Object, String> HashMapOfObject_String3;
+  public HashMap<Object, String> HashMapOfObject_String4;
+  public HashMap<Object, String> HashMapOfObject_String6;
+  public HashMap<Object, String> HashMapOfObject_String8;
+  public HashMap<SimpleClass, String> HashMapOfSimpleClass_String9;
+  public HashMap<SimpleClass, String> HashMapOfSimpleClass_String10;
+  public HashMap<SimpleClass, String> HashMapOfSimpleClass_String11;
+  public HashMap<SimpleClass, String> HashMapOfSimpleClass_String12;
+  public HashMap<SimpleClass, String> HashMapOfSimpleClass_String13;
+  public HashMap<SimpleClass, String> HashMapOfSimpleClass_String15;
+  public HashMap<SimpleClass, String> HashMapOfSimpleClass_String17;
+  public HashMap<SimpleInterface, String> HashMapOfSimpleInterface_String18;
+  public HashMap<SimpleInterface, String> HashMapOfSimpleInterface_String19;
+  public HashMap<SimpleInterface, String> HashMapOfSimpleInterface_String20;
+  public HashMap<SimpleInterface, String> HashMapOfSimpleInterface_String21;
+  public HashMap<SimpleInterface, String> HashMapOfSimpleInterface_String22;
+  public HashMap<SimpleInterface, String> HashMapOfSimpleInterface_String24;
+  public HashMap<SimpleInterface, String> HashMapOfSimpleInterface_String26;
+  public HashMap<String, String> HashMapOfString_String27;
+  public HashMap<String, String> HashMapOfString_String28;
+  public HashMap<String, String> HashMapOfString_String29;
+  public HashMap<String, String> HashMapOfString_String30;
+  public HashMap<String, String> HashMapOfString_String31;
+  public HashMap<String, String> HashMapOfString_String33;
+  public HashMap<String, String> HashMapOfString_String35;
+  public HashMap<Date, String> HashMapOfDate_String36;
+  public HashMap<Date, String> HashMapOfDate_String37;
+  public HashMap<Date, String> HashMapOfDate_String38;
+  public HashMap<Date, String> HashMapOfDate_String39;
+  public HashMap<Date, String> HashMapOfDate_String40;
+  public HashMap<Date, String> HashMapOfDate_String42;
+  public HashMap<Date, String> HashMapOfDate_String44;
+  public HashMap<BigDecimal, String> HashMapOfBigDecimal_String45;
+  public HashMap<BigDecimal, String> HashMapOfBigDecimal_String46;
+  public HashMap<BigDecimal, String> HashMapOfBigDecimal_String47;
+  public HashMap<BigDecimal, String> HashMapOfBigDecimal_String48;
+  public HashMap<BigDecimal, String> HashMapOfBigDecimal_String49;
+  public HashMap<BigDecimal, String> HashMapOfBigDecimal_String51;
+  public HashMap<BigDecimal, String> HashMapOfBigDecimal_String53;
+  public HashMap<BigInteger, String> HashMapOfBigInteger_String54;
+  public HashMap<BigInteger, String> HashMapOfBigInteger_String55;
+  public HashMap<BigInteger, String> HashMapOfBigInteger_String56;
+  public HashMap<BigInteger, String> HashMapOfBigInteger_String57;
+  public HashMap<BigInteger, String> HashMapOfBigInteger_String58;
+  public HashMap<BigInteger, String> HashMapOfBigInteger_String60;
+  public HashMap<BigInteger, String> HashMapOfBigInteger_String62;
+  public HashMap<Byte, String> HashMapOfByte_String63;
+  public HashMap<Byte, String> HashMapOfByte_String64;
+  public HashMap<Byte, String> HashMapOfByte_String65;
+  public HashMap<Byte, String> HashMapOfByte_String66;
+  public HashMap<Byte, String> HashMapOfByte_String67;
+  public HashMap<Byte, String> HashMapOfByte_String69;
+  public HashMap<Byte, String> HashMapOfByte_String71;
+  public HashMap<Double, String> HashMapOfDouble_String72;
+  public HashMap<Double, String> HashMapOfDouble_String73;
+  public HashMap<Double, String> HashMapOfDouble_String74;
+  public HashMap<Double, String> HashMapOfDouble_String75;
+  public HashMap<Double, String> HashMapOfDouble_String76;
+  public HashMap<Double, String> HashMapOfDouble_String78;
+  public HashMap<Double, String> HashMapOfDouble_String80;
+  public HashMap<Float, String> HashMapOfFloat_String81;
+  public HashMap<Float, String> HashMapOfFloat_String82;
+  public HashMap<Float, String> HashMapOfFloat_String83;
+  public HashMap<Float, String> HashMapOfFloat_String84;
+  public HashMap<Float, String> HashMapOfFloat_String85;
+  public HashMap<Float, String> HashMapOfFloat_String87;
+  public HashMap<Float, String> HashMapOfFloat_String89;
+  public HashMap<Integer, String> HashMapOfInteger_String90;
+  public HashMap<Integer, String> HashMapOfInteger_String91;
+  public HashMap<Integer, String> HashMapOfInteger_String92;
+  public HashMap<Integer, String> HashMapOfInteger_String93;
+  public HashMap<Integer, String> HashMapOfInteger_String94;
+  public HashMap<Integer, String> HashMapOfInteger_String96;
+  public HashMap<Integer, String> HashMapOfInteger_String98;
+  public HashMap<Long, String> HashMapOfLong_String99;
+  public HashMap<Long, String> HashMapOfLong_String100;
+  public HashMap<Long, String> HashMapOfLong_String101;
+  public HashMap<Long, String> HashMapOfLong_String102;
+  public HashMap<Long, String> HashMapOfLong_String103;
+  public HashMap<Long, String> HashMapOfLong_String105;
+  public HashMap<Long, String> HashMapOfLong_String107;
+  public HashMap<Short, String> HashMapOfShort_String108;
+  public HashMap<Short, String> HashMapOfShort_String109;
+  public HashMap<Short, String> HashMapOfShort_String110;
+  public HashMap<Short, String> HashMapOfShort_String111;
+  public HashMap<Short, String> HashMapOfShort_String112;
+  public HashMap<Short, String> HashMapOfShort_String114;
+  public HashMap<Short, String> HashMapOfShort_String116;
 
   public static final String [] fieldSpecs = { 
   "public HashMap HashMapOfObject_String0",
@@ -211,7 +214,7 @@ public class HashMapStringValueCollections {
   {
     return fieldSpecs.length;
   }
-  public HashMap get(int index)
+  public HashMap<?, ?> get(int index)
   {
     switch (index)
     {
diff --git a/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/HashSetCollections.java b/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/HashSetCollections.java
index cacdb261..04ab3792 100644
--- a/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/HashSetCollections.java
+++ b/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/HashSetCollections.java
@@ -18,53 +18,57 @@
 package org.apache.jdo.tck.pc.fieldtypes;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Date;
 import java.util.HashSet;
+import java.util.Locale;
 
 public class HashSetCollections { 
   public int identifier;
-  public HashSet HashSetOfObject0;
-  public HashSet HashSetOfObject1;
-  public HashSet HashSetOfObject2;
-  public HashSet HashSetOfSimpleClass3;
-  public HashSet HashSetOfSimpleClass4;
-  public HashSet HashSetOfSimpleClass5;
-  public HashSet HashSetOfSimpleInterface6;
-  public HashSet HashSetOfSimpleInterface7;
-  public HashSet HashSetOfSimpleInterface8;
-  public HashSet HashSetOfString9;
-  public HashSet HashSetOfString10;
-  public HashSet HashSetOfString11;
-  public HashSet HashSetOfDate12;
-  public HashSet HashSetOfDate13;
-  public HashSet HashSetOfDate14;
-  public HashSet HashSetOfLocale15;
-  public HashSet HashSetOfLocale16;
-  public HashSet HashSetOfLocale17;
-  public HashSet HashSetOfBigDecimal18;
-  public HashSet HashSetOfBigDecimal19;
-  public HashSet HashSetOfBigDecimal20;
-  public HashSet HashSetOfBigInteger21;
-  public HashSet HashSetOfBigInteger22;
-  public HashSet HashSetOfBigInteger23;
-  public HashSet HashSetOfByte24;
-  public HashSet HashSetOfByte25;
-  public HashSet HashSetOfByte26;
-  public HashSet HashSetOfDouble27;
-  public HashSet HashSetOfDouble28;
-  public HashSet HashSetOfDouble29;
-  public HashSet HashSetOfFloat30;
-  public HashSet HashSetOfFloat31;
-  public HashSet HashSetOfFloat32;
-  public HashSet HashSetOfInteger33;
-  public HashSet HashSetOfInteger34;
-  public HashSet HashSetOfInteger35;
-  public HashSet HashSetOfLong36;
-  public HashSet HashSetOfLong37;
-  public HashSet HashSetOfLong38;
-  public HashSet HashSetOfShort39;
-  public HashSet HashSetOfShort40;
-  public HashSet HashSetOfShort41;
-  public HashSet HashSetOfSimpleClass42;
+  public HashSet<Object> HashSetOfObject0;
+  public HashSet<Object> HashSetOfObject1;
+  public HashSet<Object> HashSetOfObject2;
+  public HashSet<SimpleClass> HashSetOfSimpleClass3;
+  public HashSet<SimpleClass> HashSetOfSimpleClass4;
+  public HashSet<SimpleClass> HashSetOfSimpleClass5;
+  public HashSet<SimpleInterface> HashSetOfSimpleInterface6;
+  public HashSet<SimpleInterface> HashSetOfSimpleInterface7;
+  public HashSet<SimpleInterface> HashSetOfSimpleInterface8;
+  public HashSet<String> HashSetOfString9;
+  public HashSet<String> HashSetOfString10;
+  public HashSet<String> HashSetOfString11;
+  public HashSet<Date> HashSetOfDate12;
+  public HashSet<Date> HashSetOfDate13;
+  public HashSet<Date> HashSetOfDate14;
+  public HashSet<Locale> HashSetOfLocale15;
+  public HashSet<Locale> HashSetOfLocale16;
+  public HashSet<Locale> HashSetOfLocale17;
+  public HashSet<BigDecimal> HashSetOfBigDecimal18;
+  public HashSet<BigDecimal> HashSetOfBigDecimal19;
+  public HashSet<BigDecimal> HashSetOfBigDecimal20;
+  public HashSet<BigInteger> HashSetOfBigInteger21;
+  public HashSet<BigInteger> HashSetOfBigInteger22;
+  public HashSet<BigInteger> HashSetOfBigInteger23;
+  public HashSet<Byte> HashSetOfByte24;
+  public HashSet<Byte> HashSetOfByte25;
+  public HashSet<Byte> HashSetOfByte26;
+  public HashSet<Double> HashSetOfDouble27;
+  public HashSet<Double> HashSetOfDouble28;
+  public HashSet<Double> HashSetOfDouble29;
+  public HashSet<Float> HashSetOfFloat30;
+  public HashSet<Float> HashSetOfFloat31;
+  public HashSet<Float> HashSetOfFloat32;
+  public HashSet<Integer> HashSetOfInteger33;
+  public HashSet<Integer> HashSetOfInteger34;
+  public HashSet<Integer> HashSetOfInteger35;
+  public HashSet<Long> HashSetOfLong36;
+  public HashSet<Long> HashSetOfLong37;
+  public HashSet<Long> HashSetOfLong38;
+  public HashSet<Short> HashSetOfShort39;
+  public HashSet<Short> HashSetOfShort40;
+  public HashSet<Short> HashSetOfShort41;
+  public HashSet<SimpleClass> HashSetOfSimpleClass42;
 
   public static final String [] fieldSpecs = { 
   "public HashSet HashSetOfObject0",
@@ -115,7 +119,7 @@ public class HashSetCollections {
   {
     return fieldSpecs.length;
   }
-  public HashSet get(int index)
+  public HashSet<?> get(int index)
   {
     switch (index)
     {
diff --git a/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/HashtableStringKeyCollections.java b/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/HashtableStringKeyCollections.java
index e1e9a0a3..d69a59c8 100644
--- a/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/HashtableStringKeyCollections.java
+++ b/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/HashtableStringKeyCollections.java
@@ -18,108 +18,112 @@
 package org.apache.jdo.tck.pc.fieldtypes;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Date;
 import java.util.Hashtable;
+import java.util.Locale;
 
 public class HashtableStringKeyCollections { 
   public int identifier;
-  public Hashtable HashtableOfString_Object0;
-  public Hashtable HashtableOfString_Object1;
-  public Hashtable HashtableOfString_Object2;
-  public Hashtable HashtableOfString_SimpleClass3;
-  public Hashtable HashtableOfString_SimpleClass4;
-  public Hashtable HashtableOfString_SimpleClass5;
-  public Hashtable HashtableOfString_SimpleInterface6;
-  public Hashtable HashtableOfString_SimpleInterface7;
-  public Hashtable HashtableOfString_SimpleInterface8;
-  public Hashtable HashtableOfString_String9;
-  public Hashtable HashtableOfString_String10;
-  public Hashtable HashtableOfString_String11;
-  public Hashtable HashtableOfString_Date12;
-  public Hashtable HashtableOfString_Date13;
-  public Hashtable HashtableOfString_Date14;
-  public Hashtable HashtableOfString_Locale15;
-  public Hashtable HashtableOfString_Locale16;
-  public Hashtable HashtableOfString_Locale17;
-  public Hashtable HashtableOfString_BigDecimal18;
-  public Hashtable HashtableOfString_BigDecimal19;
-  public Hashtable HashtableOfString_BigDecimal20;
-  public Hashtable HashtableOfString_BigInteger21;
-  public Hashtable HashtableOfString_BigInteger22;
-  public Hashtable HashtableOfString_BigInteger23;
-  public Hashtable HashtableOfString_Byte24;
-  public Hashtable HashtableOfString_Byte25;
-  public Hashtable HashtableOfString_Byte26;
-  public Hashtable HashtableOfString_Double27;
-  public Hashtable HashtableOfString_Double28;
-  public Hashtable HashtableOfString_Double29;
-  public Hashtable HashtableOfString_Float30;
-  public Hashtable HashtableOfString_Float31;
-  public Hashtable HashtableOfString_Float32;
-  public Hashtable HashtableOfString_Integer33;
-  public Hashtable HashtableOfString_Integer34;
-  public Hashtable HashtableOfString_Integer35;
-  public Hashtable HashtableOfString_Long36;
-  public Hashtable HashtableOfString_Long37;
-  public Hashtable HashtableOfString_Long38;
-  public Hashtable HashtableOfString_Short39;
-  public Hashtable HashtableOfString_Short40;
-  public Hashtable HashtableOfString_Short41;
-  public Hashtable HashtableOfString_Object42;
-  public Hashtable HashtableOfString_Object43;
-  public Hashtable HashtableOfString_SimpleClass45;
-  public Hashtable HashtableOfString_SimpleClass46;
-  public Hashtable HashtableOfString_SimpleInterface48;
-  public Hashtable HashtableOfString_SimpleInterface49;
-  public Hashtable HashtableOfString_String51;
-  public Hashtable HashtableOfString_String52;
-  public Hashtable HashtableOfString_Date54;
-  public Hashtable HashtableOfString_Date55;
-  public Hashtable HashtableOfString_Locale57;
-  public Hashtable HashtableOfString_Locale58;
-  public Hashtable HashtableOfString_BigDecimal60;
-  public Hashtable HashtableOfString_BigDecimal61;
-  public Hashtable HashtableOfString_BigInteger63;
-  public Hashtable HashtableOfString_BigInteger64;
-  public Hashtable HashtableOfString_Byte66;
-  public Hashtable HashtableOfString_Byte67;
-  public Hashtable HashtableOfString_Double69;
-  public Hashtable HashtableOfString_Double70;
-  public Hashtable HashtableOfString_Float72;
-  public Hashtable HashtableOfString_Float73;
-  public Hashtable HashtableOfString_Integer75;
-  public Hashtable HashtableOfString_Integer76;
-  public Hashtable HashtableOfString_Long78;
-  public Hashtable HashtableOfString_Long79;
-  public Hashtable HashtableOfString_Short81;
-  public Hashtable HashtableOfString_Short82;
-  public Hashtable HashtableOfString_Object84;
-  public Hashtable HashtableOfString_Object86;
-  public Hashtable HashtableOfString_SimpleClass87;
-  public Hashtable HashtableOfString_SimpleClass89;
-  public Hashtable HashtableOfString_SimpleInterface90;
-  public Hashtable HashtableOfString_SimpleInterface92;
-  public Hashtable HashtableOfString_String93;
-  public Hashtable HashtableOfString_String95;
-  public Hashtable HashtableOfString_Date96;
-  public Hashtable HashtableOfString_Date98;
-  public Hashtable HashtableOfString_Locale99;
-  public Hashtable HashtableOfString_Locale101;
-  public Hashtable HashtableOfString_BigDecimal102;
-  public Hashtable HashtableOfString_BigDecimal104;
-  public Hashtable HashtableOfString_BigInteger105;
-  public Hashtable HashtableOfString_BigInteger107;
-  public Hashtable HashtableOfString_Byte108;
-  public Hashtable HashtableOfString_Byte110;
-  public Hashtable HashtableOfString_Double111;
-  public Hashtable HashtableOfString_Double113;
-  public Hashtable HashtableOfString_Float114;
-  public Hashtable HashtableOfString_Float116;
-  public Hashtable HashtableOfString_Integer117;
-  public Hashtable HashtableOfString_Integer119;
-  public Hashtable HashtableOfString_Long120;
-  public Hashtable HashtableOfString_Long122;
-  public Hashtable HashtableOfString_Short123;
-  public Hashtable HashtableOfString_Short125;
+  public Hashtable<String, Object> HashtableOfString_Object0;
+  public Hashtable<String, Object> HashtableOfString_Object1;
+  public Hashtable<String, Object> HashtableOfString_Object2;
+  public Hashtable<String, SimpleClass> HashtableOfString_SimpleClass3;
+  public Hashtable<String, SimpleClass> HashtableOfString_SimpleClass4;
+  public Hashtable<String, SimpleClass> HashtableOfString_SimpleClass5;
+  public Hashtable<String, SimpleInterface> HashtableOfString_SimpleInterface6;
+  public Hashtable<String, SimpleInterface> HashtableOfString_SimpleInterface7;
+  public Hashtable<String, SimpleInterface> HashtableOfString_SimpleInterface8;
+  public Hashtable<String, String> HashtableOfString_String9;
+  public Hashtable<String, String> HashtableOfString_String10;
+  public Hashtable<String, String> HashtableOfString_String11;
+  public Hashtable<String, Date> HashtableOfString_Date12;
+  public Hashtable<String, Date> HashtableOfString_Date13;
+  public Hashtable<String, Date> HashtableOfString_Date14;
+  public Hashtable<String, Locale> HashtableOfString_Locale15;
+  public Hashtable<String, Locale> HashtableOfString_Locale16;
+  public Hashtable<String, Locale> HashtableOfString_Locale17;
+  public Hashtable<String, BigDecimal> HashtableOfString_BigDecimal18;
+  public Hashtable<String, BigDecimal> HashtableOfString_BigDecimal19;
+  public Hashtable<String, BigDecimal> HashtableOfString_BigDecimal20;
+  public Hashtable<String, Object> HashtableOfString_BigInteger21;
+  public Hashtable<String, Object> HashtableOfString_BigInteger22;
+  public Hashtable<String, Object> HashtableOfString_BigInteger23;
+  public Hashtable<String, Byte> HashtableOfString_Byte24;
+  public Hashtable<String, Byte> HashtableOfString_Byte25;
+  public Hashtable<String, Byte> HashtableOfString_Byte26;
+  public Hashtable<String, Double> HashtableOfString_Double27;
+  public Hashtable<String, Double> HashtableOfString_Double28;
+  public Hashtable<String, Double> HashtableOfString_Double29;
+  public Hashtable<String, Float> HashtableOfString_Float30;
+  public Hashtable<String, Float> HashtableOfString_Float31;
+  public Hashtable<String, Float> HashtableOfString_Float32;
+  public Hashtable<String, Integer> HashtableOfString_Integer33;
+  public Hashtable<String, Integer> HashtableOfString_Integer34;
+  public Hashtable<String, Integer> HashtableOfString_Integer35;
+  public Hashtable<String, Long> HashtableOfString_Long36;
+  public Hashtable<String, Long> HashtableOfString_Long37;
+  public Hashtable<String, Long> HashtableOfString_Long38;
+  public Hashtable<String, Short> HashtableOfString_Short39;
+  public Hashtable<String, Short> HashtableOfString_Short40;
+  public Hashtable<String, Short> HashtableOfString_Short41;
+  public Hashtable<String, Object> HashtableOfString_Object42;
+  public Hashtable<String, Object> HashtableOfString_Object43;
+  public Hashtable<String, SimpleClass> HashtableOfString_SimpleClass45;
+  public Hashtable<String, SimpleClass> HashtableOfString_SimpleClass46;
+  public Hashtable<String, SimpleInterface> HashtableOfString_SimpleInterface48;
+  public Hashtable<String, SimpleInterface> HashtableOfString_SimpleInterface49;
+  public Hashtable<String, String> HashtableOfString_String51;
+  public Hashtable<String, String> HashtableOfString_String52;
+  public Hashtable<String, Date> HashtableOfString_Date54;
+  public Hashtable<String, Date> HashtableOfString_Date55;
+  public Hashtable<String, Locale> HashtableOfString_Locale57;
+  public Hashtable<String, Locale> HashtableOfString_Locale58;
+  public Hashtable<String, BigDecimal> HashtableOfString_BigDecimal60;
+  public Hashtable<String, BigDecimal> HashtableOfString_BigDecimal61;
+  public Hashtable<String, BigInteger> HashtableOfString_BigInteger63;
+  public Hashtable<String, BigInteger> HashtableOfString_BigInteger64;
+  public Hashtable<String, Byte> HashtableOfString_Byte66;
+  public Hashtable<String, Byte> HashtableOfString_Byte67;
+  public Hashtable<String, Double> HashtableOfString_Double69;
+  public Hashtable<String, Double> HashtableOfString_Double70;
+  public Hashtable<String, Float> HashtableOfString_Float72;
+  public Hashtable<String, Float> HashtableOfString_Float73;
+  public Hashtable<String, Integer> HashtableOfString_Integer75;
+  public Hashtable<String, Integer> HashtableOfString_Integer76;
+  public Hashtable<String, Long> HashtableOfString_Long78;
+  public Hashtable<String, Long> HashtableOfString_Long79;
+  public Hashtable<String, Short> HashtableOfString_Short81;
+  public Hashtable<String, Short> HashtableOfString_Short82;
+  public Hashtable<String, Object> HashtableOfString_Object84;
+  public Hashtable<String, Object> HashtableOfString_Object86;
+  public Hashtable<String, SimpleClass> HashtableOfString_SimpleClass87;
+  public Hashtable<String, SimpleClass> HashtableOfString_SimpleClass89;
+  public Hashtable<String, SimpleInterface> HashtableOfString_SimpleInterface90;
+  public Hashtable<String, SimpleInterface> HashtableOfString_SimpleInterface92;
+  public Hashtable<String, String> HashtableOfString_String93;
+  public Hashtable<String, String> HashtableOfString_String95;
+  public Hashtable<String, Date> HashtableOfString_Date96;
+  public Hashtable<String, Date> HashtableOfString_Date98;
+  public Hashtable<String, Object> HashtableOfString_Locale99;
+  public Hashtable<String, Object> HashtableOfString_Locale101;
+  public Hashtable<String, BigDecimal> HashtableOfString_BigDecimal102;
+  public Hashtable<String, BigDecimal> HashtableOfString_BigDecimal104;
+  public Hashtable<String, BigInteger> HashtableOfString_BigInteger105;
+  public Hashtable<String, BigInteger> HashtableOfString_BigInteger107;
+  public Hashtable<String, Byte> HashtableOfString_Byte108;
+  public Hashtable<String, Byte> HashtableOfString_Byte110;
+  public Hashtable<String, Double> HashtableOfString_Double111;
+  public Hashtable<String, Double> HashtableOfString_Double113;
+  public Hashtable<String, Float> HashtableOfString_Float114;
+  public Hashtable<String, Float> HashtableOfString_Float116;
+  public Hashtable<String, Integer> HashtableOfString_Integer117;
+  public Hashtable<String, Integer> HashtableOfString_Integer119;
+  public Hashtable<String, Long> HashtableOfString_Long120;
+  public Hashtable<String, Long> HashtableOfString_Long122;
+  public Hashtable<String, Short> HashtableOfString_Short123;
+  public Hashtable<String, Short> HashtableOfString_Short125;
 
   public static final String [] fieldSpecs = { 
   "public Hashtable HashtableOfString_Object0",
@@ -225,7 +229,7 @@ public class HashtableStringKeyCollections {
   {
     return fieldSpecs.length;
   }
-  public Hashtable get(int index)
+  public Hashtable<?, ?> get(int index)
   {
     switch (index)
     {
diff --git a/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/HashtableStringValueCollections.java b/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/HashtableStringValueCollections.java
index 7abc477d..58c1ae3d 100644
--- a/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/HashtableStringValueCollections.java
+++ b/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/HashtableStringValueCollections.java
@@ -18,101 +18,104 @@
 package org.apache.jdo.tck.pc.fieldtypes;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Date;
 import java.util.Hashtable;
 
 public class HashtableStringValueCollections { 
   public int identifier;
-  public Hashtable HashtableOfObject_String0;
-  public Hashtable HashtableOfObject_String1;
-  public Hashtable HashtableOfObject_String2;
-  public Hashtable HashtableOfObject_String3;
-  public Hashtable HashtableOfObject_String4;
-  public Hashtable HashtableOfObject_String6;
-  public Hashtable HashtableOfObject_String8;
-  public Hashtable HashtableOfSimpleClass_String9;
-  public Hashtable HashtableOfSimpleClass_String10;
-  public Hashtable HashtableOfSimpleClass_String11;
-  public Hashtable HashtableOfSimpleClass_String12;
-  public Hashtable HashtableOfSimpleClass_String13;
-  public Hashtable HashtableOfSimpleClass_String15;
-  public Hashtable HashtableOfSimpleClass_String17;
-  public Hashtable HashtableOfSimpleInterface_String18;
-  public Hashtable HashtableOfSimpleInterface_String19;
-  public Hashtable HashtableOfSimpleInterface_String20;
-  public Hashtable HashtableOfSimpleInterface_String21;
-  public Hashtable HashtableOfSimpleInterface_String22;
-  public Hashtable HashtableOfSimpleInterface_String24;
-  public Hashtable HashtableOfSimpleInterface_String26;
-  public Hashtable HashtableOfString_String27;
-  public Hashtable HashtableOfString_String28;
-  public Hashtable HashtableOfString_String29;
-  public Hashtable HashtableOfString_String30;
-  public Hashtable HashtableOfString_String31;
-  public Hashtable HashtableOfString_String33;
-  public Hashtable HashtableOfString_String35;
-  public Hashtable HashtableOfDate_String36;
-  public Hashtable HashtableOfDate_String37;
-  public Hashtable HashtableOfDate_String38;
-  public Hashtable HashtableOfDate_String39;
-  public Hashtable HashtableOfDate_String40;
-  public Hashtable HashtableOfDate_String42;
-  public Hashtable HashtableOfDate_String44;
-  public Hashtable HashtableOfBigDecimal_String45;
-  public Hashtable HashtableOfBigDecimal_String46;
-  public Hashtable HashtableOfBigDecimal_String47;
-  public Hashtable HashtableOfBigDecimal_String48;
-  public Hashtable HashtableOfBigDecimal_String49;
-  public Hashtable HashtableOfBigDecimal_String51;
-  public Hashtable HashtableOfBigDecimal_String53;
-  public Hashtable HashtableOfBigInteger_String54;
-  public Hashtable HashtableOfBigInteger_String55;
-  public Hashtable HashtableOfBigInteger_String56;
-  public Hashtable HashtableOfBigInteger_String57;
-  public Hashtable HashtableOfBigInteger_String58;
-  public Hashtable HashtableOfBigInteger_String60;
-  public Hashtable HashtableOfBigInteger_String62;
-  public Hashtable HashtableOfByte_String63;
-  public Hashtable HashtableOfByte_String64;
-  public Hashtable HashtableOfByte_String65;
-  public Hashtable HashtableOfByte_String66;
-  public Hashtable HashtableOfByte_String67;
-  public Hashtable HashtableOfByte_String69;
-  public Hashtable HashtableOfByte_String71;
-  public Hashtable HashtableOfDouble_String72;
-  public Hashtable HashtableOfDouble_String73;
-  public Hashtable HashtableOfDouble_String74;
-  public Hashtable HashtableOfDouble_String75;
-  public Hashtable HashtableOfDouble_String76;
-  public Hashtable HashtableOfDouble_String78;
-  public Hashtable HashtableOfDouble_String80;
-  public Hashtable HashtableOfFloat_String81;
-  public Hashtable HashtableOfFloat_String82;
-  public Hashtable HashtableOfFloat_String83;
-  public Hashtable HashtableOfFloat_String84;
-  public Hashtable HashtableOfFloat_String85;
-  public Hashtable HashtableOfFloat_String87;
-  public Hashtable HashtableOfFloat_String89;
-  public Hashtable HashtableOfInteger_String90;
-  public Hashtable HashtableOfInteger_String91;
-  public Hashtable HashtableOfInteger_String92;
-  public Hashtable HashtableOfInteger_String93;
-  public Hashtable HashtableOfInteger_String94;
-  public Hashtable HashtableOfInteger_String96;
-  public Hashtable HashtableOfInteger_String98;
-  public Hashtable HashtableOfLong_String99;
-  public Hashtable HashtableOfLong_String100;
-  public Hashtable HashtableOfLong_String101;
-  public Hashtable HashtableOfLong_String102;
-  public Hashtable HashtableOfLong_String103;
-  public Hashtable HashtableOfLong_String105;
-  public Hashtable HashtableOfLong_String107;
-  public Hashtable HashtableOfShort_String108;
-  public Hashtable HashtableOfShort_String109;
-  public Hashtable HashtableOfShort_String110;
-  public Hashtable HashtableOfShort_String111;
-  public Hashtable HashtableOfShort_String112;
-  public Hashtable HashtableOfShort_String114;
-  public Hashtable HashtableOfShort_String116;
+  public Hashtable<Object, String> HashtableOfObject_String0;
+  public Hashtable<Object, String> HashtableOfObject_String1;
+  public Hashtable<Object, String> HashtableOfObject_String2;
+  public Hashtable<Object, String> HashtableOfObject_String3;
+  public Hashtable<Object, String> HashtableOfObject_String4;
+  public Hashtable<Object, String> HashtableOfObject_String6;
+  public Hashtable<Object, String> HashtableOfObject_String8;
+  public Hashtable<SimpleClass, String> HashtableOfSimpleClass_String9;
+  public Hashtable<SimpleClass, String> HashtableOfSimpleClass_String10;
+  public Hashtable<SimpleClass, String> HashtableOfSimpleClass_String11;
+  public Hashtable<SimpleClass, String> HashtableOfSimpleClass_String12;
+  public Hashtable<SimpleClass, String> HashtableOfSimpleClass_String13;
+  public Hashtable<SimpleClass, String> HashtableOfSimpleClass_String15;
+  public Hashtable<SimpleClass, String> HashtableOfSimpleClass_String17;
+  public Hashtable<SimpleInterface, String> HashtableOfSimpleInterface_String18;
+  public Hashtable<SimpleInterface, String> HashtableOfSimpleInterface_String19;
+  public Hashtable<SimpleInterface, String> HashtableOfSimpleInterface_String20;
+  public Hashtable<SimpleInterface, String> HashtableOfSimpleInterface_String21;
+  public Hashtable<SimpleInterface, String> HashtableOfSimpleInterface_String22;
+  public Hashtable<SimpleInterface, String> HashtableOfSimpleInterface_String24;
+  public Hashtable<SimpleInterface, String> HashtableOfSimpleInterface_String26;
+  public Hashtable<String, String> HashtableOfString_String27;
+  public Hashtable<String, String> HashtableOfString_String28;
+  public Hashtable<String, String> HashtableOfString_String29;
+  public Hashtable<String, String> HashtableOfString_String30;
+  public Hashtable<String, String> HashtableOfString_String31;
+  public Hashtable<String, String> HashtableOfString_String33;
+  public Hashtable<String, String> HashtableOfString_String35;
+  public Hashtable<Date, String> HashtableOfDate_String36;
+  public Hashtable<Date, String> HashtableOfDate_String37;
+  public Hashtable<Date, String> HashtableOfDate_String38;
+  public Hashtable<Date, String> HashtableOfDate_String39;
+  public Hashtable<Date, String> HashtableOfDate_String40;
+  public Hashtable<Date, String> HashtableOfDate_String42;
+  public Hashtable<Date, String> HashtableOfDate_String44;
+  public Hashtable<BigDecimal, String> HashtableOfBigDecimal_String45;
+  public Hashtable<BigDecimal, String> HashtableOfBigDecimal_String46;
+  public Hashtable<BigDecimal, String> HashtableOfBigDecimal_String47;
+  public Hashtable<BigDecimal, String> HashtableOfBigDecimal_String48;
+  public Hashtable<BigDecimal, String> HashtableOfBigDecimal_String49;
+  public Hashtable<BigDecimal, String> HashtableOfBigDecimal_String51;
+  public Hashtable<BigDecimal, String> HashtableOfBigDecimal_String53;
+  public Hashtable<BigInteger, String> HashtableOfBigInteger_String54;
+  public Hashtable<BigInteger, String> HashtableOfBigInteger_String55;
+  public Hashtable<BigInteger, String> HashtableOfBigInteger_String56;
+  public Hashtable<BigInteger, String> HashtableOfBigInteger_String57;
+  public Hashtable<BigInteger, String> HashtableOfBigInteger_String58;
+  public Hashtable<BigInteger, String> HashtableOfBigInteger_String60;
+  public Hashtable<BigInteger, String> HashtableOfBigInteger_String62;
+  public Hashtable<Byte, String> HashtableOfByte_String63;
+  public Hashtable<Byte, String> HashtableOfByte_String64;
+  public Hashtable<Byte, String> HashtableOfByte_String65;
+  public Hashtable<Byte, String> HashtableOfByte_String66;
+  public Hashtable<Byte, String> HashtableOfByte_String67;
+  public Hashtable<Byte, String> HashtableOfByte_String69;
+  public Hashtable<Byte, String> HashtableOfByte_String71;
+  public Hashtable<Double, String> HashtableOfDouble_String72;
+  public Hashtable<Double, String> HashtableOfDouble_String73;
+  public Hashtable<Double, String> HashtableOfDouble_String74;
+  public Hashtable<Double, String> HashtableOfDouble_String75;
+  public Hashtable<Double, String> HashtableOfDouble_String76;
+  public Hashtable<Double, String> HashtableOfDouble_String78;
+  public Hashtable<Double, String> HashtableOfDouble_String80;
+  public Hashtable<Float, String> HashtableOfFloat_String81;
+  public Hashtable<Float, String> HashtableOfFloat_String82;
+  public Hashtable<Float, String> HashtableOfFloat_String83;
+  public Hashtable<Float, String> HashtableOfFloat_String84;
+  public Hashtable<Float, String> HashtableOfFloat_String85;
+  public Hashtable<Float, String> HashtableOfFloat_String87;
+  public Hashtable<Float, String> HashtableOfFloat_String89;
+  public Hashtable<Integer, String> HashtableOfInteger_String90;
+  public Hashtable<Integer, String> HashtableOfInteger_String91;
+  public Hashtable<Integer, String> HashtableOfInteger_String92;
+  public Hashtable<Integer, String> HashtableOfInteger_String93;
+  public Hashtable<Integer, String> HashtableOfInteger_String94;
+  public Hashtable<Integer, String> HashtableOfInteger_String96;
+  public Hashtable<Integer, String> HashtableOfInteger_String98;
+  public Hashtable<Long, String> HashtableOfLong_String99;
+  public Hashtable<Long, String> HashtableOfLong_String100;
+  public Hashtable<Long, String> HashtableOfLong_String101;
+  public Hashtable<Long, String> HashtableOfLong_String102;
+  public Hashtable<Long, String> HashtableOfLong_String103;
+  public Hashtable<Long, String> HashtableOfLong_String105;
+  public Hashtable<Long, String> HashtableOfLong_String107;
+  public Hashtable<Short, String> HashtableOfShort_String108;
+  public Hashtable<Short, String> HashtableOfShort_String109;
+  public Hashtable<Short, String> HashtableOfShort_String110;
+  public Hashtable<Short, String> HashtableOfShort_String111;
+  public Hashtable<Short, String> HashtableOfShort_String112;
+  public Hashtable<Short, String> HashtableOfShort_String114;
+  public Hashtable<Short, String> HashtableOfShort_String116;
 
   public static final String [] fieldSpecs = { 
   "public Hashtable HashtableOfObject_String0",
@@ -211,7 +214,7 @@ public class HashtableStringValueCollections {
   {
     return fieldSpecs.length;
   }
-  public Hashtable get(int index)
+  public Hashtable<?, ?> get(int index)
   {
     switch (index)
     {
diff --git a/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/LinkedListCollections.java b/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/LinkedListCollections.java
index 9eccf1e0..ab6016ef 100644
--- a/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/LinkedListCollections.java
+++ b/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/LinkedListCollections.java
@@ -18,53 +18,57 @@
 package org.apache.jdo.tck.pc.fieldtypes;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Date;
 import java.util.LinkedList;
+import java.util.Locale;
 
 public class LinkedListCollections { 
   public int identifier;
-  public LinkedList LinkedListOfObject0;
-  public LinkedList LinkedListOfObject1;
-  public LinkedList LinkedListOfObject2;
-  public LinkedList LinkedListOfSimpleClass3;
-  public LinkedList LinkedListOfSimpleClass4;
-  public LinkedList LinkedListOfSimpleClass5;
-  public LinkedList LinkedListOfSimpleInterface6;
-  public LinkedList LinkedListOfSimpleInterface7;
-  public LinkedList LinkedListOfSimpleInterface8;
-  public LinkedList LinkedListOfString9;
-  public LinkedList LinkedListOfString10;
-  public LinkedList LinkedListOfString11;
-  public LinkedList LinkedListOfDate12;
-  public LinkedList LinkedListOfDate13;
-  public LinkedList LinkedListOfDate14;
-  public LinkedList LinkedListOfLocale15;
-  public LinkedList LinkedListOfLocale16;
-  public LinkedList LinkedListOfLocale17;
-  public LinkedList LinkedListOfBigDecimal18;
-  public LinkedList LinkedListOfBigDecimal19;
-  public LinkedList LinkedListOfBigDecimal20;
-  public LinkedList LinkedListOfBigInteger21;
-  public LinkedList LinkedListOfBigInteger22;
-  public LinkedList LinkedListOfBigInteger23;
-  public LinkedList LinkedListOfByte24;
-  public LinkedList LinkedListOfByte25;
-  public LinkedList LinkedListOfByte26;
-  public LinkedList LinkedListOfDouble27;
-  public LinkedList LinkedListOfDouble28;
-  public LinkedList LinkedListOfDouble29;
-  public LinkedList LinkedListOfFloat30;
-  public LinkedList LinkedListOfFloat31;
-  public LinkedList LinkedListOfFloat32;
-  public LinkedList LinkedListOfInteger33;
-  public LinkedList LinkedListOfInteger34;
-  public LinkedList LinkedListOfInteger35;
-  public LinkedList LinkedListOfLong36;
-  public LinkedList LinkedListOfLong37;
-  public LinkedList LinkedListOfLong38;
-  public LinkedList LinkedListOfShort39;
-  public LinkedList LinkedListOfShort40;
-  public LinkedList LinkedListOfShort41;
-  public LinkedList LinkedListOfSimpleClass42;
+  public LinkedList<Object> LinkedListOfObject0;
+  public LinkedList<Object> LinkedListOfObject1;
+  public LinkedList<Object> LinkedListOfObject2;
+  public LinkedList<SimpleClass> LinkedListOfSimpleClass3;
+  public LinkedList<SimpleClass> LinkedListOfSimpleClass4;
+  public LinkedList<SimpleClass> LinkedListOfSimpleClass5;
+  public LinkedList<SimpleInterface> LinkedListOfSimpleInterface6;
+  public LinkedList<SimpleInterface> LinkedListOfSimpleInterface7;
+  public LinkedList<SimpleInterface> LinkedListOfSimpleInterface8;
+  public LinkedList<String> LinkedListOfString9;
+  public LinkedList<String> LinkedListOfString10;
+  public LinkedList<String> LinkedListOfString11;
+  public LinkedList<Date> LinkedListOfDate12;
+  public LinkedList<Date> LinkedListOfDate13;
+  public LinkedList<Date> LinkedListOfDate14;
+  public LinkedList<Locale> LinkedListOfLocale15;
+  public LinkedList<Locale> LinkedListOfLocale16;
+  public LinkedList<Locale> LinkedListOfLocale17;
+  public LinkedList<BigDecimal> LinkedListOfBigDecimal18;
+  public LinkedList<BigDecimal> LinkedListOfBigDecimal19;
+  public LinkedList<BigDecimal> LinkedListOfBigDecimal20;
+  public LinkedList<BigInteger> LinkedListOfBigInteger21;
+  public LinkedList<BigInteger> LinkedListOfBigInteger22;
+  public LinkedList<BigInteger> LinkedListOfBigInteger23;
+  public LinkedList<Byte> LinkedListOfByte24;
+  public LinkedList<Byte> LinkedListOfByte25;
+  public LinkedList<Byte> LinkedListOfByte26;
+  public LinkedList<Double> LinkedListOfDouble27;
+  public LinkedList<Double> LinkedListOfDouble28;
+  public LinkedList<Double> LinkedListOfDouble29;
+  public LinkedList<Float> LinkedListOfFloat30;
+  public LinkedList<Float> LinkedListOfFloat31;
+  public LinkedList<Float> LinkedListOfFloat32;
+  public LinkedList<Integer> LinkedListOfInteger33;
+  public LinkedList<Integer> LinkedListOfInteger34;
+  public LinkedList<Integer> LinkedListOfInteger35;
+  public LinkedList<Long> LinkedListOfLong36;
+  public LinkedList<Long> LinkedListOfLong37;
+  public LinkedList<Long> LinkedListOfLong38;
+  public LinkedList<Short> LinkedListOfShort39;
+  public LinkedList<Short> LinkedListOfShort40;
+  public LinkedList<Short> LinkedListOfShort41;
+  public LinkedList<SimpleClass> LinkedListOfSimpleClass42;
 
   public static final String [] fieldSpecs = { 
   "public LinkedList LinkedListOfObject0",
@@ -115,7 +119,7 @@ public class LinkedListCollections {
   {
     return fieldSpecs.length;
   }
-  public LinkedList get(int index)
+  public LinkedList<?> get(int index)
   {
     switch (index)
     {
diff --git a/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/ListCollections.java b/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/ListCollections.java
index 4b80fd48..04fcf026 100644
--- a/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/ListCollections.java
+++ b/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/ListCollections.java
@@ -18,53 +18,57 @@
 package org.apache.jdo.tck.pc.fieldtypes;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Date;
 import java.util.List;
+import java.util.Locale;
 
 public class ListCollections { 
   public int identifier;
-  public List ListOfObject0;
-  public List ListOfObject1;
-  public List ListOfObject2;
-  public List ListOfSimpleClass3;
-  public List ListOfSimpleClass4;
-  public List ListOfSimpleClass5;
-  public List ListOfSimpleInterface6;
-  public List ListOfSimpleInterface7;
-  public List ListOfSimpleInterface8;
-  public List ListOfString9;
-  public List ListOfString10;
-  public List ListOfString11;
-  public List ListOfDate12;
-  public List ListOfDate13;
-  public List ListOfDate14;
-  public List ListOfLocale15;
-  public List ListOfLocale16;
-  public List ListOfLocale17;
-  public List ListOfBigDecimal18;
-  public List ListOfBigDecimal19;
-  public List ListOfBigDecimal20;
-  public List ListOfBigInteger21;
-  public List ListOfBigInteger22;
-  public List ListOfBigInteger23;
-  public List ListOfByte24;
-  public List ListOfByte25;
-  public List ListOfByte26;
-  public List ListOfDouble27;
-  public List ListOfDouble28;
-  public List ListOfDouble29;
-  public List ListOfFloat30;
-  public List ListOfFloat31;
-  public List ListOfFloat32;
-  public List ListOfInteger33;
-  public List ListOfInteger34;
-  public List ListOfInteger35;
-  public List ListOfLong36;
-  public List ListOfLong37;
-  public List ListOfLong38;
-  public List ListOfShort39;
-  public List ListOfShort40;
-  public List ListOfShort41;
-  public List ListOfSimpleClass42;
+  public List<Object> ListOfObject0;
+  public List<Object> ListOfObject1;
+  public List<Object> ListOfObject2;
+  public List<SimpleClass> ListOfSimpleClass3;
+  public List<SimpleClass> ListOfSimpleClass4;
+  public List<SimpleClass> ListOfSimpleClass5;
+  public List<SimpleInterface> ListOfSimpleInterface6;
+  public List<SimpleInterface> ListOfSimpleInterface7;
+  public List<SimpleInterface> ListOfSimpleInterface8;
+  public List<String> ListOfString9;
+  public List<String> ListOfString10;
+  public List<String> ListOfString11;
+  public List<Date> ListOfDate12;
+  public List<Date> ListOfDate13;
+  public List<Date> ListOfDate14;
+  public List<Locale> ListOfLocale15;
+  public List<Locale> ListOfLocale16;
+  public List<Locale> ListOfLocale17;
+  public List<BigDecimal> ListOfBigDecimal18;
+  public List<BigDecimal> ListOfBigDecimal19;
+  public List<BigDecimal> ListOfBigDecimal20;
+  public List<BigInteger> ListOfBigInteger21;
+  public List<BigInteger> ListOfBigInteger22;
+  public List<BigInteger> ListOfBigInteger23;
+  public List<Byte> ListOfByte24;
+  public List<Byte> ListOfByte25;
+  public List<Byte> ListOfByte26;
+  public List<Double> ListOfDouble27;
+  public List<Double> ListOfDouble28;
+  public List<Double> ListOfDouble29;
+  public List<Float> ListOfFloat30;
+  public List<Float> ListOfFloat31;
+  public List<Float> ListOfFloat32;
+  public List<Integer> ListOfInteger33;
+  public List<Integer> ListOfInteger34;
+  public List<Integer> ListOfInteger35;
+  public List<Long> ListOfLong36;
+  public List<Long> ListOfLong37;
+  public List<Long> ListOfLong38;
+  public List<Short> ListOfShort39;
+  public List<Short> ListOfShort40;
+  public List<Short> ListOfShort41;
+  public List<SimpleClass> ListOfSimpleClass42;
 
   public static final String [] fieldSpecs = { 
   "public List ListOfObject0",
@@ -115,7 +119,7 @@ public class ListCollections {
   {
     return fieldSpecs.length;
   }
-  public List get(int index)
+  public List<?> get(int index)
   {
     switch (index)
     {
diff --git a/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/MapStringKeyCollections.java b/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/MapStringKeyCollections.java
index ec84a0ad..f2e1784c 100644
--- a/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/MapStringKeyCollections.java
+++ b/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/MapStringKeyCollections.java
@@ -18,121 +18,125 @@
 package org.apache.jdo.tck.pc.fieldtypes;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Date;
+import java.util.Locale;
 import java.util.Map;
 
 public class MapStringKeyCollections { 
   public int identifier;
-  public Map MapOfString_Object0;
-  public Map MapOfString_Object1;
-  public Map MapOfString_Object2;
-  public Map MapOfString_SimpleClass3;
-  public Map MapOfString_SimpleClass4;
-  public Map MapOfString_SimpleClass5;
-  public Map MapOfString_SimpleInterface6;
-  public Map MapOfString_SimpleInterface7;
-  public Map MapOfString_SimpleInterface8;
-  public Map MapOfString_String9;
-  public Map MapOfString_String10;
-  public Map MapOfString_String11;
-  public Map MapOfString_Date12;
-  public Map MapOfString_Date13;
-  public Map MapOfString_Date14;
-  public Map MapOfString_Locale15;
-  public Map MapOfString_Locale16;
-  public Map MapOfString_Locale17;
-  public Map MapOfString_BigDecimal18;
-  public Map MapOfString_BigDecimal19;
-  public Map MapOfString_BigDecimal20;
-  public Map MapOfString_BigInteger21;
-  public Map MapOfString_BigInteger22;
-  public Map MapOfString_BigInteger23;
-  public Map MapOfString_Byte24;
-  public Map MapOfString_Byte25;
-  public Map MapOfString_Byte26;
-  public Map MapOfString_Double27;
-  public Map MapOfString_Double28;
-  public Map MapOfString_Double29;
-  public Map MapOfString_Float30;
-  public Map MapOfString_Float31;
-  public Map MapOfString_Float32;
-  public Map MapOfString_Integer33;
-  public Map MapOfString_Integer34;
-  public Map MapOfString_Integer35;
-  public Map MapOfString_Long36;
-  public Map MapOfString_Long37;
-  public Map MapOfString_Long38;
-  public Map MapOfString_Short39;
-  public Map MapOfString_Short40;
-  public Map MapOfString_Short41;
-  public Map MapOfString_Object42;
-  public Map MapOfString_Object43;
-  public Map MapOfString_SimpleClass45;
-  public Map MapOfString_SimpleClass46;
-  public Map MapOfString_SimpleInterface48;
-  public Map MapOfString_SimpleInterface49;
-  public Map MapOfString_String51;
-  public Map MapOfString_String52;
-  public Map MapOfString_Date54;
-  public Map MapOfString_Date55;
-  public Map MapOfString_Locale57;
-  public Map MapOfString_Locale58;
-  public Map MapOfString_BigDecimal60;
-  public Map MapOfString_BigDecimal61;
-  public Map MapOfString_BigInteger63;
-  public Map MapOfString_BigInteger64;
-  public Map MapOfString_Byte66;
-  public Map MapOfString_Byte67;
-  public Map MapOfString_Double69;
-  public Map MapOfString_Double70;
-  public Map MapOfString_Float72;
-  public Map MapOfString_Float73;
-  public Map MapOfString_Integer75;
-  public Map MapOfString_Integer76;
-  public Map MapOfString_Long78;
-  public Map MapOfString_Long79;
-  public Map MapOfString_Short81;
-  public Map MapOfString_Short82;
-  public Map MapOfString_Object84;
-  public Map MapOfString_Object86;
-  public Map MapOfString_SimpleClass87;
-  public Map MapOfString_SimpleClass89;
-  public Map MapOfString_SimpleInterface90;
-  public Map MapOfString_SimpleInterface92;
-  public Map MapOfString_String93;
-  public Map MapOfString_String95;
-  public Map MapOfString_Date96;
-  public Map MapOfString_Date98;
-  public Map MapOfString_Locale99;
-  public Map MapOfString_Locale101;
-  public Map MapOfString_BigDecimal102;
-  public Map MapOfString_BigDecimal104;
-  public Map MapOfString_BigInteger105;
-  public Map MapOfString_BigInteger107;
-  public Map MapOfString_Byte108;
-  public Map MapOfString_Byte110;
-  public Map MapOfString_Double111;
-  public Map MapOfString_Double113;
-  public Map MapOfString_Float114;
-  public Map MapOfString_Float116;
-  public Map MapOfString_Integer117;
-  public Map MapOfString_Integer119;
-  public Map MapOfString_Long120;
-  public Map MapOfString_Long122;
-  public Map MapOfString_Short123;
-  public Map MapOfString_Short125;
-  public Map MapOfString_SimpleEnum126;
-  public Map MapOfString_SimpleEnum127;
-  public Map MapOfString_SimpleEnum128;
-  public Map MapOfString_SimpleEnum129;
-  public Map MapOfString_SimpleEnum130;
-  public Map MapOfString_SimpleEnum131;
-  public Map MapOfString_SimpleEnum132;
-  public Map MapOfString_SimpleEnum133;
-  public Map MapOfString_SimpleEnum134;
-  public Map MapOfString_SimpleEnum135;
-  public Map MapOfString_SimpleEnum136;
-  public Map MapOfString_SimpleEnum137;
-  public Map MapOfString_SimpleEnum138;
+  public Map<String, Object> MapOfString_Object0;
+  public Map<String, Object> MapOfString_Object1;
+  public Map<String, Object> MapOfString_Object2;
+  public Map<String, SimpleClass> MapOfString_SimpleClass3;
+  public Map<String, SimpleClass> MapOfString_SimpleClass4;
+  public Map<String, SimpleClass> MapOfString_SimpleClass5;
+  public Map<String, SimpleInterface> MapOfString_SimpleInterface6;
+  public Map<String, SimpleInterface> MapOfString_SimpleInterface7;
+  public Map<String, SimpleInterface> MapOfString_SimpleInterface8;
+  public Map<String, String> MapOfString_String9;
+  public Map<String, String> MapOfString_String10;
+  public Map<String, String> MapOfString_String11;
+  public Map<String, Date> MapOfString_Date12;
+  public Map<String, Date> MapOfString_Date13;
+  public Map<String, Date> MapOfString_Date14;
+  public Map<String, Locale> MapOfString_Locale15;
+  public Map<String, Locale> MapOfString_Locale16;
+  public Map<String, Locale> MapOfString_Locale17;
+  public Map<String, BigDecimal> MapOfString_BigDecimal18;
+  public Map<String, BigDecimal> MapOfString_BigDecimal19;
+  public Map<String, BigDecimal> MapOfString_BigDecimal20;
+  public Map<String, BigInteger> MapOfString_BigInteger21;
+  public Map<String, BigInteger> MapOfString_BigInteger22;
+  public Map<String, BigInteger> MapOfString_BigInteger23;
+  public Map<String, Byte> MapOfString_Byte24;
+  public Map<String, Byte> MapOfString_Byte25;
+  public Map<String, Byte> MapOfString_Byte26;
+  public Map<String, Double> MapOfString_Double27;
+  public Map<String, Double> MapOfString_Double28;
+  public Map<String, Double> MapOfString_Double29;
+  public Map<String, Float> MapOfString_Float30;
+  public Map<String, Float> MapOfString_Float31;
+  public Map<String, Float> MapOfString_Float32;
+  public Map<String, Integer> MapOfString_Integer33;
+  public Map<String, Integer> MapOfString_Integer34;
+  public Map<String, Integer> MapOfString_Integer35;
+  public Map<String, Long> MapOfString_Long36;
+  public Map<String, Long> MapOfString_Long37;
+  public Map<String, Long> MapOfString_Long38;
+  public Map<String, Short> MapOfString_Short39;
+  public Map<String, Short> MapOfString_Short40;
+  public Map<String, Short> MapOfString_Short41;
+  public Map<String, Object> MapOfString_Object42;
+  public Map<String, Object> MapOfString_Object43;
+  public Map<String, SimpleClass> MapOfString_SimpleClass45;
+  public Map<String, SimpleClass> MapOfString_SimpleClass46;
+  public Map<String, SimpleInterface> MapOfString_SimpleInterface48;
+  public Map<String, SimpleInterface> MapOfString_SimpleInterface49;
+  public Map<String, String> MapOfString_String51;
+  public Map<String, String> MapOfString_String52;
+  public Map<String, Date> MapOfString_Date54;
+  public Map<String, Date> MapOfString_Date55;
+  public Map<String, Locale> MapOfString_Locale57;
+  public Map<String, Locale> MapOfString_Locale58;
+  public Map<String, BigDecimal> MapOfString_BigDecimal60;
+  public Map<String, BigDecimal> MapOfString_BigDecimal61;
+  public Map<String, BigInteger> MapOfString_BigInteger63;
+  public Map<String, BigInteger> MapOfString_BigInteger64;
+  public Map<String, Byte> MapOfString_Byte66;
+  public Map<String, Byte> MapOfString_Byte67;
+  public Map<String, Double> MapOfString_Double69;
+  public Map<String, Double> MapOfString_Double70;
+  public Map<String, Float> MapOfString_Float72;
+  public Map<String, Float> MapOfString_Float73;
+  public Map<String, Integer> MapOfString_Integer75;
+  public Map<String, Integer> MapOfString_Integer76;
+  public Map<String, Long> MapOfString_Long78;
+  public Map<String, Long> MapOfString_Long79;
+  public Map<String, Short> MapOfString_Short81;
+  public Map<String, Short> MapOfString_Short82;
+  public Map<String, Object> MapOfString_Object84;
+  public Map<String, Object> MapOfString_Object86;
+  public Map<String, SimpleClass> MapOfString_SimpleClass87;
+  public Map<String, SimpleClass> MapOfString_SimpleClass89;
+  public Map<String, SimpleInterface> MapOfString_SimpleInterface90;
+  public Map<String, SimpleInterface> MapOfString_SimpleInterface92;
+  public Map<String, String> MapOfString_String93;
+  public Map<String, String> MapOfString_String95;
+  public Map<String, Date> MapOfString_Date96;
+  public Map<String, Date> MapOfString_Date98;
+  public Map<String, Locale> MapOfString_Locale99;
+  public Map<String, Locale> MapOfString_Locale101;
+  public Map<String, BigDecimal> MapOfString_BigDecimal102;
+  public Map<String, BigDecimal> MapOfString_BigDecimal104;
+  public Map<String, BigInteger> MapOfString_BigInteger105;
+  public Map<String, BigInteger> MapOfString_BigInteger107;
+  public Map<String, Byte> MapOfString_Byte108;
+  public Map<String, Byte> MapOfString_Byte110;
+  public Map<String, Double> MapOfString_Double111;
+  public Map<String, Double> MapOfString_Double113;
+  public Map<String, Float> MapOfString_Float114;
+  public Map<String, Float> MapOfString_Float116;
+  public Map<String, Integer> MapOfString_Integer117;
+  public Map<String, Integer> MapOfString_Integer119;
+  public Map<String, Long> MapOfString_Long120;
+  public Map<String, Long> MapOfString_Long122;
+  public Map<String, Short> MapOfString_Short123;
+  public Map<String, Short> MapOfString_Short125;
+  public Map<String, SimpleEnum> MapOfString_SimpleEnum126;
+  public Map<String, SimpleEnum> MapOfString_SimpleEnum127;
+  public Map<String, SimpleEnum> MapOfString_SimpleEnum128;
+  public Map<String, SimpleEnum> MapOfString_SimpleEnum129;
+  public Map<String, SimpleEnum> MapOfString_SimpleEnum130;
+  public Map<String, SimpleEnum> MapOfString_SimpleEnum131;
+  public Map<String, SimpleEnum> MapOfString_SimpleEnum132;
+  public Map<String, SimpleEnum> MapOfString_SimpleEnum133;
+  public Map<String, SimpleEnum> MapOfString_SimpleEnum134;
+  public Map<String, SimpleEnum> MapOfString_SimpleEnum135;
+  public Map<String, SimpleEnum> MapOfString_SimpleEnum136;
+  public Map<String, SimpleEnum> MapOfString_SimpleEnum137;
+  public Map<String, SimpleEnum> MapOfString_SimpleEnum138;
 
   public static final String [] fieldSpecs = { 
   "public Map MapOfString_Object0",
@@ -251,7 +255,7 @@ public class MapStringKeyCollections {
   {
     return fieldSpecs.length;
   }
-  public Map get(int index)
+  public Map<?, ?> get(int index)
   {
     switch (index)
     {
diff --git a/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/MapStringValueCollections.java b/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/MapStringValueCollections.java
index d715a231..fa1cb0b7 100644
--- a/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/MapStringValueCollections.java
+++ b/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/MapStringValueCollections.java
@@ -18,114 +18,117 @@
 package org.apache.jdo.tck.pc.fieldtypes;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Date;
 import java.util.Map;
 
 public class MapStringValueCollections { 
   public int identifier;
-  public Map MapOfObject_String0;
-  public Map MapOfObject_String1;
-  public Map MapOfObject_String2;
-  public Map MapOfObject_String3;
-  public Map MapOfObject_String4;
-  public Map MapOfObject_String6;
-  public Map MapOfObject_String8;
-  public Map MapOfSimpleClass_String9;
-  public Map MapOfSimpleClass_String10;
-  public Map MapOfSimpleClass_String11;
-  public Map MapOfSimpleClass_String12;
-  public Map MapOfSimpleClass_String13;
-  public Map MapOfSimpleClass_String15;
-  public Map MapOfSimpleClass_String17;
-  public Map MapOfSimpleInterface_String18;
-  public Map MapOfSimpleInterface_String19;
-  public Map MapOfSimpleInterface_String20;
-  public Map MapOfSimpleInterface_String21;
-  public Map MapOfSimpleInterface_String22;
-  public Map MapOfSimpleInterface_String24;
-  public Map MapOfSimpleInterface_String26;
-  public Map MapOfString_String27;
-  public Map MapOfString_String28;
-  public Map MapOfString_String29;
-  public Map MapOfString_String30;
-  public Map MapOfString_String31;
-  public Map MapOfString_String33;
-  public Map MapOfString_String35;
-  public Map MapOfDate_String36;
-  public Map MapOfDate_String37;
-  public Map MapOfDate_String38;
-  public Map MapOfDate_String39;
-  public Map MapOfDate_String40;
-  public Map MapOfDate_String42;
-  public Map MapOfDate_String44;
-  public Map MapOfBigDecimal_String45;
-  public Map MapOfBigDecimal_String46;
-  public Map MapOfBigDecimal_String47;
-  public Map MapOfBigDecimal_String48;
-  public Map MapOfBigDecimal_String49;
-  public Map MapOfBigDecimal_String51;
-  public Map MapOfBigDecimal_String53;
-  public Map MapOfBigInteger_String54;
-  public Map MapOfBigInteger_String55;
-  public Map MapOfBigInteger_String56;
-  public Map MapOfBigInteger_String57;
-  public Map MapOfBigInteger_String58;
-  public Map MapOfBigInteger_String60;
-  public Map MapOfBigInteger_String62;
-  public Map MapOfByte_String63;
-  public Map MapOfByte_String64;
-  public Map MapOfByte_String65;
-  public Map MapOfByte_String66;
-  public Map MapOfByte_String67;
-  public Map MapOfByte_String69;
-  public Map MapOfByte_String71;
-  public Map MapOfDouble_String72;
-  public Map MapOfDouble_String73;
-  public Map MapOfDouble_String74;
-  public Map MapOfDouble_String75;
-  public Map MapOfDouble_String76;
-  public Map MapOfDouble_String78;
-  public Map MapOfDouble_String80;
-  public Map MapOfFloat_String81;
-  public Map MapOfFloat_String82;
-  public Map MapOfFloat_String83;
-  public Map MapOfFloat_String84;
-  public Map MapOfFloat_String85;
-  public Map MapOfFloat_String87;
-  public Map MapOfFloat_String89;
-  public Map MapOfInteger_String90;
-  public Map MapOfInteger_String91;
-  public Map MapOfInteger_String92;
-  public Map MapOfInteger_String93;
-  public Map MapOfInteger_String94;
-  public Map MapOfInteger_String96;
-  public Map MapOfInteger_String98;
-  public Map MapOfLong_String99;
-  public Map MapOfLong_String100;
-  public Map MapOfLong_String101;
-  public Map MapOfLong_String102;
-  public Map MapOfLong_String103;
-  public Map MapOfLong_String105;
-  public Map MapOfLong_String107;
-  public Map MapOfShort_String108;
-  public Map MapOfShort_String109;
-  public Map MapOfShort_String110;
-  public Map MapOfShort_String111;
-  public Map MapOfShort_String112;
-  public Map MapOfShort_String114;
-  public Map MapOfShort_String116;
-  public Map MapOfSimpleEnum_String117;
-  public Map MapOfSimpleEnum_String118;
-  public Map MapOfSimpleEnum_String119;
-  public Map MapOfSimpleEnum_String120;
-  public Map MapOfSimpleEnum_String121;
-  public Map MapOfSimpleEnum_String122;
-  public Map MapOfSimpleEnum_String123;
-  public Map MapOfSimpleEnum_String124;
-  public Map MapOfSimpleEnum_String125;
-  public Map MapOfSimpleEnum_String126;
-  public Map MapOfSimpleEnum_String127;
-  public Map MapOfSimpleEnum_String128;
-  public Map MapOfSimpleEnum_String129;
+  public Map<Object, String> MapOfObject_String0;
+  public Map<Object, String> MapOfObject_String1;
+  public Map<Object, String> MapOfObject_String2;
+  public Map<Object, String> MapOfObject_String3;
+  public Map<Object, String> MapOfObject_String4;
+  public Map<Object, String> MapOfObject_String6;
+  public Map<Object, String> MapOfObject_String8;
+  public Map<SimpleClass, String> MapOfSimpleClass_String9;
+  public Map<SimpleClass, String> MapOfSimpleClass_String10;
+  public Map<SimpleClass, String> MapOfSimpleClass_String11;
+  public Map<SimpleClass, String> MapOfSimpleClass_String12;
+  public Map<SimpleClass, String> MapOfSimpleClass_String13;
+  public Map<SimpleClass, String> MapOfSimpleClass_String15;
+  public Map<SimpleClass, String> MapOfSimpleClass_String17;
+  public Map<SimpleInterface, String> MapOfSimpleInterface_String18;
+  public Map<SimpleInterface, String> MapOfSimpleInterface_String19;
+  public Map<SimpleInterface, String> MapOfSimpleInterface_String20;
+  public Map<SimpleInterface, String> MapOfSimpleInterface_String21;
+  public Map<SimpleInterface, String> MapOfSimpleInterface_String22;
+  public Map<SimpleInterface, String> MapOfSimpleInterface_String24;
+  public Map<SimpleInterface, String> MapOfSimpleInterface_String26;
+  public Map<String, String> MapOfString_String27;
+  public Map<String, String> MapOfString_String28;
+  public Map<String, String> MapOfString_String29;
+  public Map<String, String> MapOfString_String30;
+  public Map<String, String> MapOfString_String31;
+  public Map<String, String> MapOfString_String33;
+  public Map<String, String> MapOfString_String35;
+  public Map<Date, String> MapOfDate_String36;
+  public Map<Date, String> MapOfDate_String37;
+  public Map<Date, String> MapOfDate_String38;
+  public Map<Date, String> MapOfDate_String39;
+  public Map<Date, String> MapOfDate_String40;
+  public Map<Date, String> MapOfDate_String42;
+  public Map<Date, String> MapOfDate_String44;
+  public Map<BigDecimal, String> MapOfBigDecimal_String45;
+  public Map<BigDecimal, String> MapOfBigDecimal_String46;
+  public Map<BigDecimal, String> MapOfBigDecimal_String47;
+  public Map<BigDecimal, String> MapOfBigDecimal_String48;
+  public Map<BigDecimal, String> MapOfBigDecimal_String49;
+  public Map<BigDecimal, String> MapOfBigDecimal_String51;
+  public Map<BigDecimal, String> MapOfBigDecimal_String53;
+  public Map<BigInteger, String> MapOfBigInteger_String54;
+  public Map<BigInteger, String> MapOfBigInteger_String55;
+  public Map<BigInteger, String> MapOfBigInteger_String56;
+  public Map<BigInteger, String> MapOfBigInteger_String57;
+  public Map<BigInteger, String> MapOfBigInteger_String58;
+  public Map<BigInteger, String> MapOfBigInteger_String60;
+  public Map<BigInteger, String> MapOfBigInteger_String62;
+  public Map<Byte, String> MapOfByte_String63;
+  public Map<Byte, String> MapOfByte_String64;
+  public Map<Byte, String> MapOfByte_String65;
+  public Map<Byte, String> MapOfByte_String66;
+  public Map<Byte, String> MapOfByte_String67;
+  public Map<Byte, String> MapOfByte_String69;
+  public Map<Byte, String> MapOfByte_String71;
+  public Map<Double, String> MapOfDouble_String72;
+  public Map<Double, String> MapOfDouble_String73;
+  public Map<Double, String> MapOfDouble_String74;
+  public Map<Double, String> MapOfDouble_String75;
+  public Map<Double, String> MapOfDouble_String76;
+  public Map<Double, String> MapOfDouble_String78;
+  public Map<Double, String> MapOfDouble_String80;
+  public Map<Float, String> MapOfFloat_String81;
+  public Map<Float, String> MapOfFloat_String82;
+  public Map<Float, String> MapOfFloat_String83;
+  public Map<Float, String> MapOfFloat_String84;
+  public Map<Float, String> MapOfFloat_String85;
+  public Map<Float, String> MapOfFloat_String87;
+  public Map<Float, String> MapOfFloat_String89;
+  public Map<Integer, String> MapOfInteger_String90;
+  public Map<Integer, String> MapOfInteger_String91;
+  public Map<Integer, String> MapOfInteger_String92;
+  public Map<Integer, String> MapOfInteger_String93;
+  public Map<Integer, String> MapOfInteger_String94;
+  public Map<Integer, String> MapOfInteger_String96;
+  public Map<Integer, String> MapOfInteger_String98;
+  public Map<Long, String> MapOfLong_String99;
+  public Map<Long, String> MapOfLong_String100;
+  public Map<Long, String> MapOfLong_String101;
+  public Map<Long, String> MapOfLong_String102;
+  public Map<Long, String> MapOfLong_String103;
+  public Map<Long, String> MapOfLong_String105;
+  public Map<Long, String> MapOfLong_String107;
+  public Map<Short, String> MapOfShort_String108;
+  public Map<Short, String> MapOfShort_String109;
+  public Map<Short, String> MapOfShort_String110;
+  public Map<Short, String> MapOfShort_String111;
+  public Map<Short, String> MapOfShort_String112;
+  public Map<Short, String> MapOfShort_String114;
+  public Map<Short, String> MapOfShort_String116;
+  public Map<SimpleEnum, String> MapOfSimpleEnum_String117;
+  public Map<SimpleEnum, String> MapOfSimpleEnum_String118;
+  public Map<SimpleEnum, String> MapOfSimpleEnum_String119;
+  public Map<SimpleEnum, String> MapOfSimpleEnum_String120;
+  public Map<SimpleEnum, String> MapOfSimpleEnum_String121;
+  public Map<SimpleEnum, String> MapOfSimpleEnum_String122;
+  public Map<SimpleEnum, String> MapOfSimpleEnum_String123;
+  public Map<SimpleEnum, String> MapOfSimpleEnum_String124;
+  public Map<SimpleEnum, String> MapOfSimpleEnum_String125;
+  public Map<SimpleEnum, String> MapOfSimpleEnum_String126;
+  public Map<SimpleEnum, String> MapOfSimpleEnum_String127;
+  public Map<SimpleEnum, String> MapOfSimpleEnum_String128;
+  public Map<SimpleEnum, String> MapOfSimpleEnum_String129;
 
   public static final String [] fieldSpecs = { 
   "public Map MapOfObject_String0",
@@ -237,7 +240,7 @@ public class MapStringValueCollections {
   {
     return fieldSpecs.length;
   }
-  public Map get(int index)
+  public Map<?, ?> get(int index)
   {
     switch (index)
     {
diff --git a/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/SetCollections.java b/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/SetCollections.java
index 6cd2e2f9..79a074d7 100644
--- a/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/SetCollections.java
+++ b/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/SetCollections.java
@@ -18,53 +18,57 @@
 package org.apache.jdo.tck.pc.fieldtypes;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Date;
+import java.util.Locale;
 import java.util.Set;
 
 public class SetCollections { 
   public int identifier;
-  public Set SetOfObject0;
-  public Set SetOfObject1;
-  public Set SetOfObject2;
-  public Set SetOfSimpleClass3;
-  public Set SetOfSimpleClass4;
-  public Set SetOfSimpleClass5;
-  public Set SetOfSimpleInterface6;
-  public Set SetOfSimpleInterface7;
-  public Set SetOfSimpleInterface8;
-  public Set SetOfString9;
-  public Set SetOfString10;
-  public Set SetOfString11;
-  public Set SetOfDate12;
-  public Set SetOfDate13;
-  public Set SetOfDate14;
-  public Set SetOfLocale15;
-  public Set SetOfLocale16;
-  public Set SetOfLocale17;
-  public Set SetOfBigDecimal18;
-  public Set SetOfBigDecimal19;
-  public Set SetOfBigDecimal20;
-  public Set SetOfBigInteger21;
-  public Set SetOfBigInteger22;
-  public Set SetOfBigInteger23;
-  public Set SetOfByte24;
-  public Set SetOfByte25;
-  public Set SetOfByte26;
-  public Set SetOfDouble27;
-  public Set SetOfDouble28;
-  public Set SetOfDouble29;
-  public Set SetOfFloat30;
-  public Set SetOfFloat31;
-  public Set SetOfFloat32;
-  public Set SetOfInteger33;
-  public Set SetOfInteger34;
-  public Set SetOfInteger35;
-  public Set SetOfLong36;
-  public Set SetOfLong37;
-  public Set SetOfLong38;
-  public Set SetOfShort39;
-  public Set SetOfShort40;
-  public Set SetOfShort41;
-  public Set SetOfSimpleClass42;
+  public Set<Object> SetOfObject0;
+  public Set<Object> SetOfObject1;
+  public Set<Object> SetOfObject2;
+  public Set<SimpleClass> SetOfSimpleClass3;
+  public Set<SimpleClass> SetOfSimpleClass4;
+  public Set<SimpleClass> SetOfSimpleClass5;
+  public Set<SimpleInterface> SetOfSimpleInterface6;
+  public Set<SimpleInterface> SetOfSimpleInterface7;
+  public Set<SimpleInterface> SetOfSimpleInterface8;
+  public Set<String> SetOfString9;
+  public Set<String> SetOfString10;
+  public Set<String> SetOfString11;
+  public Set<Date> SetOfDate12;
+  public Set<Date> SetOfDate13;
+  public Set<Date> SetOfDate14;
+  public Set<Locale> SetOfLocale15;
+  public Set<Locale> SetOfLocale16;
+  public Set<Locale> SetOfLocale17;
+  public Set<BigDecimal> SetOfBigDecimal18;
+  public Set<BigDecimal> SetOfBigDecimal19;
+  public Set<BigDecimal> SetOfBigDecimal20;
+  public Set<BigInteger> SetOfBigInteger21;
+  public Set<BigInteger> SetOfBigInteger22;
+  public Set<BigInteger> SetOfBigInteger23;
+  public Set<Byte> SetOfByte24;
+  public Set<Byte> SetOfByte25;
+  public Set<Byte> SetOfByte26;
+  public Set<Double> SetOfDouble27;
+  public Set<Double> SetOfDouble28;
+  public Set<Double> SetOfDouble29;
+  public Set<Float> SetOfFloat30;
+  public Set<Float> SetOfFloat31;
+  public Set<Float> SetOfFloat32;
+  public Set<Integer> SetOfInteger33;
+  public Set<Integer> SetOfInteger34;
+  public Set<Integer> SetOfInteger35;
+  public Set<Long> SetOfLong36;
+  public Set<Long> SetOfLong37;
+  public Set<Long> SetOfLong38;
+  public Set<Short> SetOfShort39;
+  public Set<Short> SetOfShort40;
+  public Set<Short> SetOfShort41;
+  public Set<SimpleClass> SetOfSimpleClass42;
 
   public static final String [] fieldSpecs = { 
   "public Set SetOfObject0",
@@ -115,7 +119,7 @@ public class SetCollections {
   {
     return fieldSpecs.length;
   }
-  public Set get(int index)
+  public Set<?> get(int index)
   {
     switch (index)
     {
diff --git a/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/TreeMapStringKeyCollections.java b/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/TreeMapStringKeyCollections.java
index 219df74a..74cb91a0 100644
--- a/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/TreeMapStringKeyCollections.java
+++ b/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/TreeMapStringKeyCollections.java
@@ -18,108 +18,112 @@
 package org.apache.jdo.tck.pc.fieldtypes;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Date;
+import java.util.Locale;
 import java.util.TreeMap;
 
 public class TreeMapStringKeyCollections { 
   public int identifier;
-  public TreeMap TreeMapOfString_Object0;
-  public TreeMap TreeMapOfString_Object1;
-  public TreeMap TreeMapOfString_Object2;
-  public TreeMap TreeMapOfString_SimpleClass3;
-  public TreeMap TreeMapOfString_SimpleClass4;
-  public TreeMap TreeMapOfString_SimpleClass5;
-  public TreeMap TreeMapOfString_SimpleInterface6;
-  public TreeMap TreeMapOfString_SimpleInterface7;
-  public TreeMap TreeMapOfString_SimpleInterface8;
-  public TreeMap TreeMapOfString_String9;
-  public TreeMap TreeMapOfString_String10;
-  public TreeMap TreeMapOfString_String11;
-  public TreeMap TreeMapOfString_Date12;
-  public TreeMap TreeMapOfString_Date13;
-  public TreeMap TreeMapOfString_Date14;
-  public TreeMap TreeMapOfString_Locale15;
-  public TreeMap TreeMapOfString_Locale16;
-  public TreeMap TreeMapOfString_Locale17;
-  public TreeMap TreeMapOfString_BigDecimal18;
-  public TreeMap TreeMapOfString_BigDecimal19;
-  public TreeMap TreeMapOfString_BigDecimal20;
-  public TreeMap TreeMapOfString_BigInteger21;
-  public TreeMap TreeMapOfString_BigInteger22;
-  public TreeMap TreeMapOfString_BigInteger23;
-  public TreeMap TreeMapOfString_Byte24;
-  public TreeMap TreeMapOfString_Byte25;
-  public TreeMap TreeMapOfString_Byte26;
-  public TreeMap TreeMapOfString_Double27;
-  public TreeMap TreeMapOfString_Double28;
-  public TreeMap TreeMapOfString_Double29;
-  public TreeMap TreeMapOfString_Float30;
-  public TreeMap TreeMapOfString_Float31;
-  public TreeMap TreeMapOfString_Float32;
-  public TreeMap TreeMapOfString_Integer33;
-  public TreeMap TreeMapOfString_Integer34;
-  public TreeMap TreeMapOfString_Integer35;
-  public TreeMap TreeMapOfString_Long36;
-  public TreeMap TreeMapOfString_Long37;
-  public TreeMap TreeMapOfString_Long38;
-  public TreeMap TreeMapOfString_Short39;
-  public TreeMap TreeMapOfString_Short40;
-  public TreeMap TreeMapOfString_Short41;
-  public TreeMap TreeMapOfString_Object42;
-  public TreeMap TreeMapOfString_Object43;
-  public TreeMap TreeMapOfString_SimpleClass45;
-  public TreeMap TreeMapOfString_SimpleClass46;
-  public TreeMap TreeMapOfString_SimpleInterface48;
-  public TreeMap TreeMapOfString_SimpleInterface49;
-  public TreeMap TreeMapOfString_String51;
-  public TreeMap TreeMapOfString_String52;
-  public TreeMap TreeMapOfString_Date54;
-  public TreeMap TreeMapOfString_Date55;
-  public TreeMap TreeMapOfString_Locale57;
-  public TreeMap TreeMapOfString_Locale58;
-  public TreeMap TreeMapOfString_BigDecimal60;
-  public TreeMap TreeMapOfString_BigDecimal61;
-  public TreeMap TreeMapOfString_BigInteger63;
-  public TreeMap TreeMapOfString_BigInteger64;
-  public TreeMap TreeMapOfString_Byte66;
-  public TreeMap TreeMapOfString_Byte67;
-  public TreeMap TreeMapOfString_Double69;
-  public TreeMap TreeMapOfString_Double70;
-  public TreeMap TreeMapOfString_Float72;
-  public TreeMap TreeMapOfString_Float73;
-  public TreeMap TreeMapOfString_Integer75;
-  public TreeMap TreeMapOfString_Integer76;
-  public TreeMap TreeMapOfString_Long78;
-  public TreeMap TreeMapOfString_Long79;
-  public TreeMap TreeMapOfString_Short81;
-  public TreeMap TreeMapOfString_Short82;
-  public TreeMap TreeMapOfString_Object84;
-  public TreeMap TreeMapOfString_Object86;
-  public TreeMap TreeMapOfString_SimpleClass87;
-  public TreeMap TreeMapOfString_SimpleClass89;
-  public TreeMap TreeMapOfString_SimpleInterface90;
-  public TreeMap TreeMapOfString_SimpleInterface92;
-  public TreeMap TreeMapOfString_String93;
-  public TreeMap TreeMapOfString_String95;
-  public TreeMap TreeMapOfString_Date96;
-  public TreeMap TreeMapOfString_Date98;
-  public TreeMap TreeMapOfString_Locale99;
-  public TreeMap TreeMapOfString_Locale101;
-  public TreeMap TreeMapOfString_BigDecimal102;
-  public TreeMap TreeMapOfString_BigDecimal104;
-  public TreeMap TreeMapOfString_BigInteger105;
-  public TreeMap TreeMapOfString_BigInteger107;
-  public TreeMap TreeMapOfString_Byte108;
-  public TreeMap TreeMapOfString_Byte110;
-  public TreeMap TreeMapOfString_Double111;
-  public TreeMap TreeMapOfString_Double113;
-  public TreeMap TreeMapOfString_Float114;
-  public TreeMap TreeMapOfString_Float116;
-  public TreeMap TreeMapOfString_Integer117;
-  public TreeMap TreeMapOfString_Integer119;
-  public TreeMap TreeMapOfString_Long120;
-  public TreeMap TreeMapOfString_Long122;
-  public TreeMap TreeMapOfString_Short123;
-  public TreeMap TreeMapOfString_Short125;
+  public TreeMap<String, Object> TreeMapOfString_Object0;
+  public TreeMap<String, Object> TreeMapOfString_Object1;
+  public TreeMap<String, Object> TreeMapOfString_Object2;
+  public TreeMap<String, SimpleClass> TreeMapOfString_SimpleClass3;
+  public TreeMap<String, SimpleClass> TreeMapOfString_SimpleClass4;
+  public TreeMap<String, SimpleClass> TreeMapOfString_SimpleClass5;
+  public TreeMap<String, SimpleInterface> TreeMapOfString_SimpleInterface6;
+  public TreeMap<String, SimpleInterface> TreeMapOfString_SimpleInterface7;
+  public TreeMap<String, SimpleInterface> TreeMapOfString_SimpleInterface8;
+  public TreeMap<String, String> TreeMapOfString_String9;
+  public TreeMap<String, String> TreeMapOfString_String10;
+  public TreeMap<String, String> TreeMapOfString_String11;
+  public TreeMap<String, Date> TreeMapOfString_Date12;
+  public TreeMap<String, Date> TreeMapOfString_Date13;
+  public TreeMap<String, Date> TreeMapOfString_Date14;
+  public TreeMap<String, Locale> TreeMapOfString_Locale15;
+  public TreeMap<String, Locale> TreeMapOfString_Locale16;
+  public TreeMap<String, Locale> TreeMapOfString_Locale17;
+  public TreeMap<String, BigDecimal> TreeMapOfString_BigDecimal18;
+  public TreeMap<String, BigDecimal> TreeMapOfString_BigDecimal19;
+  public TreeMap<String, BigDecimal> TreeMapOfString_BigDecimal20;
+  public TreeMap<String, BigInteger> TreeMapOfString_BigInteger21;
+  public TreeMap<String, BigInteger> TreeMapOfString_BigInteger22;
+  public TreeMap<String, BigInteger> TreeMapOfString_BigInteger23;
+  public TreeMap<String, Byte> TreeMapOfString_Byte24;
+  public TreeMap<String, Byte> TreeMapOfString_Byte25;
+  public TreeMap<String, Byte> TreeMapOfString_Byte26;
+  public TreeMap<String, Double> TreeMapOfString_Double27;
+  public TreeMap<String, Double> TreeMapOfString_Double28;
+  public TreeMap<String, Double> TreeMapOfString_Double29;
+  public TreeMap<String, Float> TreeMapOfString_Float30;
+  public TreeMap<String, Float> TreeMapOfString_Float31;
+  public TreeMap<String, Float> TreeMapOfString_Float32;
+  public TreeMap<String, Integer> TreeMapOfString_Integer33;
+  public TreeMap<String, Integer> TreeMapOfString_Integer34;
+  public TreeMap<String, Integer> TreeMapOfString_Integer35;
+  public TreeMap<String, Long> TreeMapOfString_Long36;
+  public TreeMap<String, Long> TreeMapOfString_Long37;
+  public TreeMap<String, Long> TreeMapOfString_Long38;
+  public TreeMap<String, Short> TreeMapOfString_Short39;
+  public TreeMap<String, Short> TreeMapOfString_Short40;
+  public TreeMap<String, Short> TreeMapOfString_Short41;
+  public TreeMap<String, Object> TreeMapOfString_Object42;
+  public TreeMap<String, Object> TreeMapOfString_Object43;
+  public TreeMap<String, SimpleClass> TreeMapOfString_SimpleClass45;
+  public TreeMap<String, SimpleClass> TreeMapOfString_SimpleClass46;
+  public TreeMap<String, SimpleInterface> TreeMapOfString_SimpleInterface48;
+  public TreeMap<String, SimpleInterface> TreeMapOfString_SimpleInterface49;
+  public TreeMap<String, String> TreeMapOfString_String51;
+  public TreeMap<String, String> TreeMapOfString_String52;
+  public TreeMap<String, Date> TreeMapOfString_Date54;
+  public TreeMap<String, Date> TreeMapOfString_Date55;
+  public TreeMap<String, Locale> TreeMapOfString_Locale57;
+  public TreeMap<String, Locale> TreeMapOfString_Locale58;
+  public TreeMap<String, BigDecimal> TreeMapOfString_BigDecimal60;
+  public TreeMap<String, BigDecimal> TreeMapOfString_BigDecimal61;
+  public TreeMap<String, BigInteger> TreeMapOfString_BigInteger63;
+  public TreeMap<String, BigInteger> TreeMapOfString_BigInteger64;
+  public TreeMap<String, Byte> TreeMapOfString_Byte66;
+  public TreeMap<String, Byte> TreeMapOfString_Byte67;
+  public TreeMap<String, Double> TreeMapOfString_Double69;
+  public TreeMap<String, Double> TreeMapOfString_Double70;
+  public TreeMap<String, Float> TreeMapOfString_Float72;
+  public TreeMap<String, Float> TreeMapOfString_Float73;
+  public TreeMap<String, Integer> TreeMapOfString_Integer75;
+  public TreeMap<String, Integer> TreeMapOfString_Integer76;
+  public TreeMap<String, Long> TreeMapOfString_Long78;
+  public TreeMap<String, Long> TreeMapOfString_Long79;
+  public TreeMap<String, Short> TreeMapOfString_Short81;
+  public TreeMap<String, Short> TreeMapOfString_Short82;
+  public TreeMap<String, Object> TreeMapOfString_Object84;
+  public TreeMap<String, Object> TreeMapOfString_Object86;
+  public TreeMap<String, SimpleClass> TreeMapOfString_SimpleClass87;
+  public TreeMap<String, SimpleClass> TreeMapOfString_SimpleClass89;
+  public TreeMap<String, SimpleInterface> TreeMapOfString_SimpleInterface90;
+  public TreeMap<String, SimpleInterface> TreeMapOfString_SimpleInterface92;
+  public TreeMap<String, String> TreeMapOfString_String93;
+  public TreeMap<String, String> TreeMapOfString_String95;
+  public TreeMap<String, Date> TreeMapOfString_Date96;
+  public TreeMap<String, Date> TreeMapOfString_Date98;
+  public TreeMap<String, Locale> TreeMapOfString_Locale99;
+  public TreeMap<String, Locale> TreeMapOfString_Locale101;
+  public TreeMap<String, BigDecimal> TreeMapOfString_BigDecimal102;
+  public TreeMap<String, BigDecimal> TreeMapOfString_BigDecimal104;
+  public TreeMap<String, BigInteger> TreeMapOfString_BigInteger105;
+  public TreeMap<String, BigInteger> TreeMapOfString_BigInteger107;
+  public TreeMap<String, Byte> TreeMapOfString_Byte108;
+  public TreeMap<String, Byte> TreeMapOfString_Byte110;
+  public TreeMap<String, Double> TreeMapOfString_Double111;
+  public TreeMap<String, Double> TreeMapOfString_Double113;
+  public TreeMap<String, Float> TreeMapOfString_Float114;
+  public TreeMap<String, Float> TreeMapOfString_Float116;
+  public TreeMap<String, Integer> TreeMapOfString_Integer117;
+  public TreeMap<String, Integer> TreeMapOfString_Integer119;
+  public TreeMap<String, Long> TreeMapOfString_Long120;
+  public TreeMap<String, Long> TreeMapOfString_Long122;
+  public TreeMap<String, Short> TreeMapOfString_Short123;
+  public TreeMap<String, Short> TreeMapOfString_Short125;
 
   public static final String [] fieldSpecs = { 
   "public TreeMap TreeMapOfString_Object0",
@@ -225,7 +229,7 @@ public class TreeMapStringKeyCollections {
   {
     return fieldSpecs.length;
   }
-  public TreeMap get(int index)
+  public TreeMap<?, ?> get(int index)
   {
     switch (index)
     {
diff --git a/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/TreeMapStringValueCollections.java b/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/TreeMapStringValueCollections.java
index ab168b6c..bb1f4e81 100644
--- a/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/TreeMapStringValueCollections.java
+++ b/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/TreeMapStringValueCollections.java
@@ -18,101 +18,104 @@
 package org.apache.jdo.tck.pc.fieldtypes;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Date;
 import java.util.TreeMap;
 
 public class TreeMapStringValueCollections { 
   public int identifier;
-  public TreeMap TreeMapOfObject_String0;
-  public TreeMap TreeMapOfObject_String1;
-  public TreeMap TreeMapOfObject_String2;
-  public TreeMap TreeMapOfObject_String3;
-  public TreeMap TreeMapOfObject_String4;
-  public TreeMap TreeMapOfObject_String6;
-  public TreeMap TreeMapOfObject_String8;
-  public TreeMap TreeMapOfSimpleClass_String9;
-  public TreeMap TreeMapOfSimpleClass_String10;
-  public TreeMap TreeMapOfSimpleClass_String11;
-  public TreeMap TreeMapOfSimpleClass_String12;
-  public TreeMap TreeMapOfSimpleClass_String13;
-  public TreeMap TreeMapOfSimpleClass_String15;
-  public TreeMap TreeMapOfSimpleClass_String17;
-  public TreeMap TreeMapOfSimpleInterface_String18;
-  public TreeMap TreeMapOfSimpleInterface_String19;
-  public TreeMap TreeMapOfSimpleInterface_String20;
-  public TreeMap TreeMapOfSimpleInterface_String21;
-  public TreeMap TreeMapOfSimpleInterface_String22;
-  public TreeMap TreeMapOfSimpleInterface_String24;
-  public TreeMap TreeMapOfSimpleInterface_String26;
-  public TreeMap TreeMapOfString_String27;
-  public TreeMap TreeMapOfString_String28;
-  public TreeMap TreeMapOfString_String29;
-  public TreeMap TreeMapOfString_String30;
-  public TreeMap TreeMapOfString_String31;
-  public TreeMap TreeMapOfString_String33;
-  public TreeMap TreeMapOfString_String35;
-  public TreeMap TreeMapOfDate_String36;
-  public TreeMap TreeMapOfDate_String37;
-  public TreeMap TreeMapOfDate_String38;
-  public TreeMap TreeMapOfDate_String39;
-  public TreeMap TreeMapOfDate_String40;
-  public TreeMap TreeMapOfDate_String42;
-  public TreeMap TreeMapOfDate_String44;
-  public TreeMap TreeMapOfBigDecimal_String45;
-  public TreeMap TreeMapOfBigDecimal_String46;
-  public TreeMap TreeMapOfBigDecimal_String47;
-  public TreeMap TreeMapOfBigDecimal_String48;
-  public TreeMap TreeMapOfBigDecimal_String49;
-  public TreeMap TreeMapOfBigDecimal_String51;
-  public TreeMap TreeMapOfBigDecimal_String53;
-  public TreeMap TreeMapOfBigInteger_String54;
-  public TreeMap TreeMapOfBigInteger_String55;
-  public TreeMap TreeMapOfBigInteger_String56;
-  public TreeMap TreeMapOfBigInteger_String57;
-  public TreeMap TreeMapOfBigInteger_String58;
-  public TreeMap TreeMapOfBigInteger_String60;
-  public TreeMap TreeMapOfBigInteger_String62;
-  public TreeMap TreeMapOfByte_String63;
-  public TreeMap TreeMapOfByte_String64;
-  public TreeMap TreeMapOfByte_String65;
-  public TreeMap TreeMapOfByte_String66;
-  public TreeMap TreeMapOfByte_String67;
-  public TreeMap TreeMapOfByte_String69;
-  public TreeMap TreeMapOfByte_String71;
-  public TreeMap TreeMapOfDouble_String72;
-  public TreeMap TreeMapOfDouble_String73;
-  public TreeMap TreeMapOfDouble_String74;
-  public TreeMap TreeMapOfDouble_String75;
-  public TreeMap TreeMapOfDouble_String76;
-  public TreeMap TreeMapOfDouble_String78;
-  public TreeMap TreeMapOfDouble_String80;
-  public TreeMap TreeMapOfFloat_String81;
-  public TreeMap TreeMapOfFloat_String82;
-  public TreeMap TreeMapOfFloat_String83;
-  public TreeMap TreeMapOfFloat_String84;
-  public TreeMap TreeMapOfFloat_String85;
-  public TreeMap TreeMapOfFloat_String87;
-  public TreeMap TreeMapOfFloat_String89;
-  public TreeMap TreeMapOfInteger_String90;
-  public TreeMap TreeMapOfInteger_String91;
-  public TreeMap TreeMapOfInteger_String92;
-  public TreeMap TreeMapOfInteger_String93;
-  public TreeMap TreeMapOfInteger_String94;
-  public TreeMap TreeMapOfInteger_String96;
-  public TreeMap TreeMapOfInteger_String98;
-  public TreeMap TreeMapOfLong_String99;
-  public TreeMap TreeMapOfLong_String100;
-  public TreeMap TreeMapOfLong_String101;
-  public TreeMap TreeMapOfLong_String102;
-  public TreeMap TreeMapOfLong_String103;
-  public TreeMap TreeMapOfLong_String105;
-  public TreeMap TreeMapOfLong_String107;
-  public TreeMap TreeMapOfShort_String108;
-  public TreeMap TreeMapOfShort_String109;
-  public TreeMap TreeMapOfShort_String110;
-  public TreeMap TreeMapOfShort_String111;
-  public TreeMap TreeMapOfShort_String112;
-  public TreeMap TreeMapOfShort_String114;
-  public TreeMap TreeMapOfShort_String116;
+  public TreeMap<Object, String> TreeMapOfObject_String0;
+  public TreeMap<Object, String> TreeMapOfObject_String1;
+  public TreeMap<Object, String> TreeMapOfObject_String2;
+  public TreeMap<Object, String> TreeMapOfObject_String3;
+  public TreeMap<Object, String> TreeMapOfObject_String4;
+  public TreeMap<Object, String> TreeMapOfObject_String6;
+  public TreeMap<Object, String> TreeMapOfObject_String8;
+  public TreeMap<SimpleClass, String> TreeMapOfSimpleClass_String9;
+  public TreeMap<SimpleClass, String> TreeMapOfSimpleClass_String10;
+  public TreeMap<SimpleClass, String> TreeMapOfSimpleClass_String11;
+  public TreeMap<SimpleClass, String> TreeMapOfSimpleClass_String12;
+  public TreeMap<SimpleClass, String> TreeMapOfSimpleClass_String13;
+  public TreeMap<SimpleClass, String> TreeMapOfSimpleClass_String15;
+  public TreeMap<SimpleClass, String> TreeMapOfSimpleClass_String17;
+  public TreeMap<SimpleInterface, String> TreeMapOfSimpleInterface_String18;
+  public TreeMap<SimpleInterface, String> TreeMapOfSimpleInterface_String19;
+  public TreeMap<SimpleInterface, String> TreeMapOfSimpleInterface_String20;
+  public TreeMap<SimpleInterface, String> TreeMapOfSimpleInterface_String21;
+  public TreeMap<SimpleInterface, String> TreeMapOfSimpleInterface_String22;
+  public TreeMap<SimpleInterface, String> TreeMapOfSimpleInterface_String24;
+  public TreeMap<SimpleInterface, String> TreeMapOfSimpleInterface_String26;
+  public TreeMap<String, String> TreeMapOfString_String27;
+  public TreeMap<String, String> TreeMapOfString_String28;
+  public TreeMap<String, String> TreeMapOfString_String29;
+  public TreeMap<String, String> TreeMapOfString_String30;
+  public TreeMap<String, String> TreeMapOfString_String31;
+  public TreeMap<String, String> TreeMapOfString_String33;
+  public TreeMap<String, String> TreeMapOfString_String35;
+  public TreeMap<Date, String> TreeMapOfDate_String36;
+  public TreeMap<Date, String> TreeMapOfDate_String37;
+  public TreeMap<Date, String> TreeMapOfDate_String38;
+  public TreeMap<Date, String> TreeMapOfDate_String39;
+  public TreeMap<Date, String> TreeMapOfDate_String40;
+  public TreeMap<Date, String> TreeMapOfDate_String42;
+  public TreeMap<Date, String> TreeMapOfDate_String44;
+  public TreeMap<BigDecimal, String> TreeMapOfBigDecimal_String45;
+  public TreeMap<BigDecimal, String> TreeMapOfBigDecimal_String46;
+  public TreeMap<BigDecimal, String> TreeMapOfBigDecimal_String47;
+  public TreeMap<BigDecimal, String> TreeMapOfBigDecimal_String48;
+  public TreeMap<BigDecimal, String> TreeMapOfBigDecimal_String49;
+  public TreeMap<BigDecimal, String> TreeMapOfBigDecimal_String51;
+  public TreeMap<BigDecimal, String> TreeMapOfBigDecimal_String53;
+  public TreeMap<BigInteger, String> TreeMapOfBigInteger_String54;
+  public TreeMap<BigInteger, String> TreeMapOfBigInteger_String55;
+  public TreeMap<BigInteger, String> TreeMapOfBigInteger_String56;
+  public TreeMap<BigInteger, String> TreeMapOfBigInteger_String57;
+  public TreeMap<BigInteger, String> TreeMapOfBigInteger_String58;
+  public TreeMap<BigInteger, String> TreeMapOfBigInteger_String60;
+  public TreeMap<BigInteger, String> TreeMapOfBigInteger_String62;
+  public TreeMap<Byte, String> TreeMapOfByte_String63;
+  public TreeMap<Byte, String> TreeMapOfByte_String64;
+  public TreeMap<Byte, String> TreeMapOfByte_String65;
+  public TreeMap<Byte, String> TreeMapOfByte_String66;
+  public TreeMap<Byte, String> TreeMapOfByte_String67;
+  public TreeMap<Byte, String> TreeMapOfByte_String69;
+  public TreeMap<Byte, String> TreeMapOfByte_String71;
+  public TreeMap<Double, String> TreeMapOfDouble_String72;
+  public TreeMap<Double, String> TreeMapOfDouble_String73;
+  public TreeMap<Double, String> TreeMapOfDouble_String74;
+  public TreeMap<Double, String> TreeMapOfDouble_String75;
+  public TreeMap<Double, String> TreeMapOfDouble_String76;
+  public TreeMap<Double, String> TreeMapOfDouble_String78;
+  public TreeMap<Double, String> TreeMapOfDouble_String80;
+  public TreeMap<Float, String> TreeMapOfFloat_String81;
+  public TreeMap<Float, String> TreeMapOfFloat_String82;
+  public TreeMap<Float, String> TreeMapOfFloat_String83;
+  public TreeMap<Float, String> TreeMapOfFloat_String84;
+  public TreeMap<Float, String> TreeMapOfFloat_String85;
+  public TreeMap<Float, String> TreeMapOfFloat_String87;
+  public TreeMap<Float, String> TreeMapOfFloat_String89;
+  public TreeMap<Integer, String> TreeMapOfInteger_String90;
+  public TreeMap<Integer, String> TreeMapOfInteger_String91;
+  public TreeMap<Integer, String> TreeMapOfInteger_String92;
+  public TreeMap<Integer, String> TreeMapOfInteger_String93;
+  public TreeMap<Integer, String> TreeMapOfInteger_String94;
+  public TreeMap<Integer, String> TreeMapOfInteger_String96;
+  public TreeMap<Integer, String> TreeMapOfInteger_String98;
+  public TreeMap<Long, String> TreeMapOfLong_String99;
+  public TreeMap<Long, String> TreeMapOfLong_String100;
+  public TreeMap<Long, String> TreeMapOfLong_String101;
+  public TreeMap<Long, String> TreeMapOfLong_String102;
+  public TreeMap<Long, String> TreeMapOfLong_String103;
+  public TreeMap<Long, String> TreeMapOfLong_String105;
+  public TreeMap<Long, String> TreeMapOfLong_String107;
+  public TreeMap<Short, String> TreeMapOfShort_String108;
+  public TreeMap<Short, String> TreeMapOfShort_String109;
+  public TreeMap<Short, String> TreeMapOfShort_String110;
+  public TreeMap<Short, String> TreeMapOfShort_String111;
+  public TreeMap<Short, String> TreeMapOfShort_String112;
+  public TreeMap<Short, String> TreeMapOfShort_String114;
+  public TreeMap<Short, String> TreeMapOfShort_String116;
 
   public static final String [] fieldSpecs = { 
   "public TreeMap TreeMapOfObject_String0",
@@ -211,7 +214,7 @@ public class TreeMapStringValueCollections {
   {
     return fieldSpecs.length;
   }
-  public TreeMap get(int index)
+  public TreeMap<?, ?> get(int index)
   {
     switch (index)
     {
diff --git a/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/TreeSetCollections.java b/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/TreeSetCollections.java
index e4b5eb21..b436cff8 100644
--- a/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/TreeSetCollections.java
+++ b/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/TreeSetCollections.java
@@ -18,49 +18,52 @@
 package org.apache.jdo.tck.pc.fieldtypes;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Date;
 import java.util.TreeSet;
 
 public class TreeSetCollections { 
   public int identifier;
-  public TreeSet TreeSetOfObject0;
-  public TreeSet TreeSetOfObject1;
-  public TreeSet TreeSetOfObject2;
-  public TreeSet TreeSetOfSimpleClass3;
-  public TreeSet TreeSetOfSimpleClass4;
-  public TreeSet TreeSetOfSimpleClass5;
-  public TreeSet TreeSetOfSimpleInterface6;
-  public TreeSet TreeSetOfSimpleInterface7;
-  public TreeSet TreeSetOfSimpleInterface8;
-  public TreeSet TreeSetOfString9;
-  public TreeSet TreeSetOfString10;
-  public TreeSet TreeSetOfString11;
-  public TreeSet TreeSetOfDate12;
-  public TreeSet TreeSetOfDate13;
-  public TreeSet TreeSetOfDate14;
-  public TreeSet TreeSetOfBigDecimal15;
-  public TreeSet TreeSetOfBigDecimal16;
-  public TreeSet TreeSetOfBigDecimal17;
-  public TreeSet TreeSetOfBigInteger18;
-  public TreeSet TreeSetOfBigInteger19;
-  public TreeSet TreeSetOfBigInteger20;
-  public TreeSet TreeSetOfByte21;
-  public TreeSet TreeSetOfByte22;
-  public TreeSet TreeSetOfByte23;
-  public TreeSet TreeSetOfDouble24;
-  public TreeSet TreeSetOfDouble25;
-  public TreeSet TreeSetOfDouble26;
-  public TreeSet TreeSetOfFloat27;
-  public TreeSet TreeSetOfFloat28;
-  public TreeSet TreeSetOfFloat29;
-  public TreeSet TreeSetOfInteger30;
-  public TreeSet TreeSetOfInteger31;
-  public TreeSet TreeSetOfInteger32;
-  public TreeSet TreeSetOfLong33;
-  public TreeSet TreeSetOfLong34;
-  public TreeSet TreeSetOfLong35;
-  public TreeSet TreeSetOfShort36;
-  public TreeSet TreeSetOfShort37;
-  public TreeSet TreeSetOfShort38;
+  public TreeSet<Object> TreeSetOfObject0;
+  public TreeSet<Object> TreeSetOfObject1;
+  public TreeSet<Object> TreeSetOfObject2;
+  public TreeSet<SimpleClass> TreeSetOfSimpleClass3;
+  public TreeSet<SimpleClass> TreeSetOfSimpleClass4;
+  public TreeSet<SimpleClass> TreeSetOfSimpleClass5;
+  public TreeSet<SimpleInterface> TreeSetOfSimpleInterface6;
+  public TreeSet<SimpleInterface> TreeSetOfSimpleInterface7;
+  public TreeSet<SimpleInterface> TreeSetOfSimpleInterface8;
+  public TreeSet<String> TreeSetOfString9;
+  public TreeSet<String> TreeSetOfString10;
+  public TreeSet<String> TreeSetOfString11;
+  public TreeSet<Date> TreeSetOfDate12;
+  public TreeSet<Date> TreeSetOfDate13;
+  public TreeSet<Date> TreeSetOfDate14;
+  public TreeSet<BigDecimal> TreeSetOfBigDecimal15;
+  public TreeSet<BigDecimal> TreeSetOfBigDecimal16;
+  public TreeSet<BigDecimal> TreeSetOfBigDecimal17;
+  public TreeSet<BigInteger> TreeSetOfBigInteger18;
+  public TreeSet<BigInteger> TreeSetOfBigInteger19;
+  public TreeSet<BigInteger> TreeSetOfBigInteger20;
+  public TreeSet<Byte> TreeSetOfByte21;
+  public TreeSet<Byte> TreeSetOfByte22;
+  public TreeSet<Byte> TreeSetOfByte23;
+  public TreeSet<Double> TreeSetOfDouble24;
+  public TreeSet<Double> TreeSetOfDouble25;
+  public TreeSet<Double> TreeSetOfDouble26;
+  public TreeSet<Float> TreeSetOfFloat27;
+  public TreeSet<Float> TreeSetOfFloat28;
+  public TreeSet<Float> TreeSetOfFloat29;
+  public TreeSet<Integer> TreeSetOfInteger30;
+  public TreeSet<Integer> TreeSetOfInteger31;
+  public TreeSet<Integer> TreeSetOfInteger32;
+  public TreeSet<Long> TreeSetOfLong33;
+  public TreeSet<Long> TreeSetOfLong34;
+  public TreeSet<Long> TreeSetOfLong35;
+  public TreeSet<Short> TreeSetOfShort36;
+  public TreeSet<Short> TreeSetOfShort37;
+  public TreeSet<Short> TreeSetOfShort38;
 
   public static final String [] fieldSpecs = { 
   "public TreeSet TreeSetOfObject0",
diff --git a/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/VectorCollections.java b/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/VectorCollections.java
index e8973a34..90405442 100644
--- a/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/VectorCollections.java
+++ b/tck/src/main/java/org/apache/jdo/tck/pc/fieldtypes/VectorCollections.java
@@ -18,53 +18,57 @@
 package org.apache.jdo.tck.pc.fieldtypes;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Date;
+import java.util.Locale;
 import java.util.Vector;
 
 public class VectorCollections { 
   public int identifier;
-  public Vector VectorOfObject0;
-  public Vector VectorOfObject1;
-  public Vector VectorOfObject2;
-  public Vector VectorOfSimpleClass3;
-  public Vector VectorOfSimpleClass4;
-  public Vector VectorOfSimpleClass5;
-  public Vector VectorOfSimpleInterface6;
-  public Vector VectorOfSimpleInterface7;
-  public Vector VectorOfSimpleInterface8;
-  public Vector VectorOfString9;
-  public Vector VectorOfString10;
-  public Vector VectorOfString11;
-  public Vector VectorOfDate12;
-  public Vector VectorOfDate13;
-  public Vector VectorOfDate14;
-  public Vector VectorOfLocale15;
-  public Vector VectorOfLocale16;
-  public Vector VectorOfLocale17;
-  public Vector VectorOfBigDecimal18;
-  public Vector VectorOfBigDecimal19;
-  public Vector VectorOfBigDecimal20;
-  public Vector VectorOfBigInteger21;
-  public Vector VectorOfBigInteger22;
-  public Vector VectorOfBigInteger23;
-  public Vector VectorOfByte24;
-  public Vector VectorOfByte25;
-  public Vector VectorOfByte26;
-  public Vector VectorOfDouble27;
-  public Vector VectorOfDouble28;
-  public Vector VectorOfDouble29;
-  public Vector VectorOfFloat30;
-  public Vector VectorOfFloat31;
-  public Vector VectorOfFloat32;
-  public Vector VectorOfInteger33;
-  public Vector VectorOfInteger34;
-  public Vector VectorOfInteger35;
-  public Vector VectorOfLong36;
-  public Vector VectorOfLong37;
-  public Vector VectorOfLong38;
-  public Vector VectorOfShort39;
-  public Vector VectorOfShort40;
-  public Vector VectorOfShort41;
-  public Vector VectorOfSimpleClass42;
+  public Vector<Object> VectorOfObject0;
+  public Vector<Object> VectorOfObject1;
+  public Vector<Object> VectorOfObject2;
+  public Vector<SimpleClass> VectorOfSimpleClass3;
+  public Vector<SimpleClass> VectorOfSimpleClass4;
+  public Vector<SimpleClass> VectorOfSimpleClass5;
+  public Vector<SimpleInterface> VectorOfSimpleInterface6;
+  public Vector<SimpleInterface> VectorOfSimpleInterface7;
+  public Vector<SimpleInterface> VectorOfSimpleInterface8;
+  public Vector<String> VectorOfString9;
+  public Vector<String> VectorOfString10;
+  public Vector<String> VectorOfString11;
+  public Vector<Date> VectorOfDate12;
+  public Vector<Date> VectorOfDate13;
+  public Vector<Date> VectorOfDate14;
+  public Vector<Locale> VectorOfLocale15;
+  public Vector<Locale> VectorOfLocale16;
+  public Vector<Locale> VectorOfLocale17;
+  public Vector<BigDecimal> VectorOfBigDecimal18;
+  public Vector<BigDecimal> VectorOfBigDecimal19;
+  public Vector<BigDecimal> VectorOfBigDecimal20;
+  public Vector<BigInteger> VectorOfBigInteger21;
+  public Vector<BigInteger> VectorOfBigInteger22;
+  public Vector<BigInteger> VectorOfBigInteger23;
+  public Vector<Byte> VectorOfByte24;
+  public Vector<Byte> VectorOfByte25;
+  public Vector<Byte> VectorOfByte26;
+  public Vector<Double> VectorOfDouble27;
+  public Vector<Double> VectorOfDouble28;
+  public Vector<Double> VectorOfDouble29;
+  public Vector<Float> VectorOfFloat30;
+  public Vector<Float> VectorOfFloat31;
+  public Vector<Float> VectorOfFloat32;
+  public Vector<Integer> VectorOfInteger33;
+  public Vector<Integer> VectorOfInteger34;
+  public Vector<Integer> VectorOfInteger35;
+  public Vector<Long> VectorOfLong36;
+  public Vector<Long> VectorOfLong37;
+  public Vector<Long> VectorOfLong38;
+  public Vector<Short> VectorOfShort39;
+  public Vector<Short> VectorOfShort40;
+  public Vector<Short> VectorOfShort41;
+  public Vector<SimpleClass> VectorOfSimpleClass42;
 
   public static final String [] fieldSpecs = { 
   "public Vector VectorOfObject0",
@@ -115,7 +119,7 @@ public class VectorCollections {
   {
     return fieldSpecs.length;
   }
-  public Vector get(int index)
+  public Vector<?> get(int index)
   {
     switch (index)
     {
diff --git a/tck/src/main/java/org/apache/jdo/tck/util/EqualityHelper.java b/tck/src/main/java/org/apache/jdo/tck/util/EqualityHelper.java
index 5622f953..01376846 100644
--- a/tck/src/main/java/org/apache/jdo/tck/util/EqualityHelper.java
+++ b/tck/src/main/java/org/apache/jdo/tck/util/EqualityHelper.java
@@ -279,7 +279,7 @@ public class EqualityHelper {
         Comparator<K> comparator =
                 (Comparator<K>)((Map.Entry<V, K>)myList.get(0)).getKey();
         Collections.sort(otherList, 
-                new DeepEqualityEntryKeyComparator(comparator));
+                new DeepEqualityEntryKeyComparator<>(comparator));
 
         for (int i = 0; i < myList.size(); i++) {
             Map.Entry<K,V> entry1 = myList.get(i);
@@ -543,7 +543,7 @@ public class EqualityHelper {
         // Use the natural ordering of me; must implement Comparable
         Collections.sort(myList, entryKeyComparator);
         List<Map.Entry<K,V>> otherList = new ArrayList<>(other.entrySet());
-        Comparator comparator = entryKeyComparator;
+        Comparator<Map.Entry<?, ?>> comparator = entryKeyComparator;
         // Use the Comparator to avoid the other side implementing Comparable
         Object key = myList.get(0).getKey();
         if (key instanceof Comparator) {