Last time we talked about Optional in Java as a way to express the concept of “no valid value”. However, sometimes there is a better choice: we can use the Null Object Pattern. The idea behind it is simple: rather than returning null (or a missing Optional) sometimes it is possible to return an object with an “empty” implementation. This object will generally do nothing when its methods are invoked.