Actually, <i>your</i> way is awfully more verbose, but you didn&#x27;t notice it because you ellipsized the verbosity.<p>If you actually take the time to translate OP&#x27;s code with your own, you will soon find yourself indented six levels with &quot;if (a != null) { ... if (b != null) { ... if (c != null) {...<p>You get the idea.<p>Monads (the type class that Optional belongs to) flatten all this boiler plate with a function called... flatMap! And you don&#x27;t even need to know about it, all you need to do is chain the calls like OP did:<p><pre><code>    Optional.ofNullable(paramater)
                       .filter(...)
                       .map(a -&gt; ...)
                       .map(b -&gt; ...)
                       .orElseGet(() -&gt; ...)
                       .orElse(defaultValue)
</code></pre>
without having to check against null every step along the way.