@Target(value={METHOD,PARAMETER,FIELD})
@Retention(value=RUNTIME)
@Documented
@Nonnull(when=MAYBE)
@TypeQualifierNickname
public @interface Nullable
null under some
circumstance. 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 the API.
Should be used at parameter, return value, and field level. Methods override should
repeat parent @Nullable annotations unless they behave differently.
Can be used in association with NonNullApi or @NonNullFields to
override the default non-nullable semantic to nullable.
NonNullApi,
NonNullFields,
NonNull