Thanks for the feedback. I'm in a good functional state, so I'm going to go ahead and commit this as-is, and add comments in a follow-up change.
http://gwt-code-reviews.appspot.com/831801/diff/7013/9009 File user/src/com/google/gwt/user/rebind/rpc/FieldSerializerCreator.java (right): http://gwt-code-reviews.appspot.com/831801/diff/7013/9009#newcode362 user/src/com/google/gwt/user/rebind/rpc/FieldSerializerCreator.java:362: + castType.getQualifiedSourceName() + ")object);"); Ah, good call. http://gwt-code-reviews.appspot.com/831801/diff/7013/9009#newcode521 user/src/com/google/gwt/user/rebind/rpc/FieldSerializerCreator.java:521: private void writeConcreteTypeMethod() { Will follow up with more comments. The existing code doesn't do such a hot job with this either. :) http://gwt-code-reviews.appspot.com/831801/diff/7013/9012 File user/src/com/google/gwt/user/rebind/rpc/Shared.java (right): http://gwt-code-reviews.appspot.com/831801/diff/7013/9012#newcode122 user/src/com/google/gwt/user/rebind/rpc/Shared.java:122: packageName = "com.google.gwt.user.client.rpc.core"; Actually, this is a cleanup of some existing broken code. I picked this package because this is the 'prefix' package for packages we're not allowed to use, such as the JRE, or in this case, the default package. Little-known fact: in Java there is no way to reference a file in the default package from any other package. But I do need to follow up and make sure the default package works in general. http://gwt-code-reviews.appspot.com/831801/diff/7013/9013 File user/src/com/google/gwt/user/rebind/rpc/TypeSerializerCreator.java (right): http://gwt-code-reviews.appspot.com/831801/diff/7013/9013#newcode429 user/src/com/google/gwt/user/rebind/rpc/TypeSerializerCreator.java:429: srcWriter.println("result.put(" + typeRef + ", \"" + typeString + "\");"); Yep. I was pretty much just copying the existing JS code. http://gwt-code-reviews.appspot.com/831801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors