gwt compatible @Immutable