Мне показалось неудобным, что checkNotNull()
предусловие в guava не помечено @Nonull
аннотацией. Рассмотрим следующий пример:
State(Set<Model> models, Set<Variation> variations) {
this.models = checkNotNull(models);
this.variations = checkNotNull(variations);
if (this.variations == null) {
throw new IllegalArgumentException();
}
this.engine = createEngine();
}
Так IDE не смогла обнаружить, что variations == null
всегда ложно. Есть ли какие-либо конкретные причины, почему это предусловие не помечено @Nonull
(даже если его аргументы определены с помощью @Nullable
).