I can see that @Nullable
and @Nonnull
annotations could be helpful in preventing NullPointerException
s but they do not propag
Short answer: I guess these annotations are only useful for your IDE to warn you of potentially null pointer errors.
As said in the "Clean Code" book, you should check your public method's parameters and also avoid checking invariants.
Another good tip is never returning null values, but using Null Object Pattern instead.