My 2c.
http://gwt-code-reviews.appspot.com/1428809/diff/1/user/src/com/google/web/bindery/requestfactory/shared/ValueLocator.java File user/src/com/google/web/bindery/requestfactory/shared/ValueLocator.java (right): http://gwt-code-reviews.appspot.com/1428809/diff/1/user/src/com/google/web/bindery/requestfactory/shared/ValueLocator.java#newcode26 user/src/com/google/web/bindery/requestfactory/shared/ValueLocator.java:26: public abstract class ValueLocator<T> extends Locator<T, Void> { Shouldn't find() also be implemented? Also, getDomainType is never used, so it could be a good idea to implement it here too. (I believe it should be deprecated and made non-abstract at the Locator level, don't know if it should be done in this CL though) In other words, only create() is useful for a value object and should be kept abstract. http://gwt-code-reviews.appspot.com/1428809/diff/1/user/src/com/google/web/bindery/requestfactory/shared/ValueLocator.java#newcode33 user/src/com/google/web/bindery/requestfactory/shared/ValueLocator.java:33: return null; How about throw new UnsupportedOperationException() ? http://gwt-code-reviews.appspot.com/1428809/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors