Actually, would be interested to hear from @adriancole on this too, since this seems to be related to the builder pattern we're using (i.e. so you can call the constructor via `builder.build()` at any time, even if some values are unset). And do we consider `@Nullable` to be important only for **public** methods/constructors?