diff --git a/user/src/com/google/gwt/core/Core.gwt.xml b/user/src/com/google/gwt/core/Core.gwt.xml
index 9f35631..8a830ac 100644
--- a/user/src/com/google/gwt/core/Core.gwt.xml
+++ b/user/src/com/google/gwt/core/Core.gwt.xml
@@ -23,6 +23,8 @@
   <inherits name="com.google.gwt.xhr.XMLHttpRequest" />
   <inherits name="com.google.gwt.core.CompilerParameters" />
 
+  <super-source path="translatable" />
+
   <define-linker name="sso" class="com.google.gwt.core.linker.SingleScriptLinker" />
   <define-linker name="std" class="com.google.gwt.core.linker.IFrameLinker" />
   <define-linker name="xs" class="com.google.gwt.core.linker.XSLinker" />
diff --git a/user/src/com/google/gwt/core/client/impl/WeakMapping.java b/user/src/com/google/gwt/core/client/impl/WeakMapping.java
index ffe99b4..6afb310 100644
--- a/user/src/com/google/gwt/core/client/impl/WeakMapping.java
+++ b/user/src/com/google/gwt/core/client/impl/WeakMapping.java
@@ -41,14 +41,14 @@
    * reference is permanently set to the identity hash code of the referent at
    * construction time.
    */
-  static class IdentityWeakReference extends WeakReference {
+  static class IdentityWeakReference extends WeakReference<Object> {
 
     /**
      * The identity hash code of the referent, cached during construction.
      */
     private int hashCode;
 
-    public IdentityWeakReference(Object referent, ReferenceQueue queue) {
+    public IdentityWeakReference(Object referent, ReferenceQueue<Object> queue) {
       super(referent, queue);
       hashCode = System.identityHashCode(referent);
     }
@@ -99,7 +99,7 @@
    * A ReferenceQueue used to clean up the map as its keys are
    * garbage-collected.
    */
-  private static ReferenceQueue queue = new ReferenceQueue();
+  private static ReferenceQueue<Object> queue = new ReferenceQueue<Object>();
 
   /**
    * Returns the Object associated with the given key in the (key, value)
@@ -157,7 +157,7 @@
    * will be eligible for future garbage collection.
    */
   private static void cleanup() {
-    Reference ref;
+    Reference<? extends Object> ref;
     while ((ref = queue.poll()) != null) {
       /**
        * Note that we can still remove ref from the map even though its referent
diff --git a/user/super/com/google/gwt/user/translatable/com/google/gwt/core/client/impl/WeakMapping.java b/user/super/com/google/gwt/core/translatable/com/google/gwt/core/client/impl/WeakMapping.java
similarity index 100%
rename from user/super/com/google/gwt/user/translatable/com/google/gwt/core/client/impl/WeakMapping.java
rename to user/super/com/google/gwt/core/translatable/com/google/gwt/core/client/impl/WeakMapping.java
