My preferred option, with one small adjustment to make it a non-breaking change.
https://codereview.appspot.com/6492092/diff/1/user/src/com/google/gwt/user/client/ui/SuggestBox.java File user/src/com/google/gwt/user/client/ui/SuggestBox.java (right): https://codereview.appspot.com/6492092/diff/1/user/src/com/google/gwt/user/client/ui/SuggestBox.java#newcode877 user/src/com/google/gwt/user/client/ui/SuggestBox.java:877: public ValueBoxBase<String> getTextBox() { How about adding a getValueBox() instead, and let this method throw a ClassCastException in case 'box' is not a TextBoxBase? (and deprecate it in favor of getValueBox) That way, we wouldn't even break anyone's code. https://codereview.appspot.com/6492092/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors