&gt; And if “usable” has any additional meaning besides “is not null”, this entire machinery is useless because one STILL has to figure out the state of the data!<p>That&#x27;s inaccurate. In fact Optional makes this situation (having to check if data is not null and valid) even easier, because you can simply filter&#x2F;map the value without having to first check that it is non-null. For example:<p><pre><code>  possibleResult.filter(res -&gt; isValid(res))
                .ifPresent(res -&gt; doSomething(res));</code></pre>