Optional is a container object which may or may not contain a value. The
presence or absence of the contained value should be demonstrated by the
Optional object itself.
Using an Optional variable which is expected to possibly be null is discouraged.
An nullable Optional which uses
null to indicate the absence of the value will
lead to extra work for
null checking when using the object and even cause
exceptions such as
NullPointerException. It is best to indicate the absence of
the value by assigning it an empty optional.
Suppress false positives by adding the suppression annotation
@SuppressWarnings("NullableOptional") to the enclosing element.