@Target(value={METHOD,PARAMETER,FIELD}) @Retention(value=RUNTIME) @Documented @Nonnull @TypeQualifierNickname public @interface NonNull
null. Leverages JSR 305 meta-annotations to indicate nullability in
 Java to common tools with JSR 305 support and used by Kotlin to infer nullability of
 Reactor API.
 Should be used at parameter, return value, and field level.
 Methods overrides should repeat parent @NonNull annotations unless they behave
 differently.
 
Use @NonNullApi (scope = parameters + return values) to set the default
 behavior to non-nullable in order to avoid annotating your whole codebase with
 @NonNull.
NonNullApi, 
Nullable