@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 Spring API.
Should be used at parameter, return value, and field level. Method overrides should
 repeat parent @NonNull annotations unless they behave differently.
 
Use @NonNullApi (scope = parameters + return values) and/or @NonNullFields
 (scope = fields) to set the default behavior to non-nullable in order to avoid annotating
 your whole codebase with @NonNull.
NonNullApi, 
NonNullFields, 
Nullable