| `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. |