&gt; the outermost pointer can still be null, so you are still vulnerable to a NullPointerException<p>This is true, but there is a distinction: if your Optional value is null, for <i>any</i> reason, then it&#x27;s a programming error and should be fixed. If a non-Optional value is null, there&#x27;s no telling whether it&#x27;s &quot;allowed&quot; to be null or not. So I never null-check my Optionals in Java -- I&#x27;d rather they fail so I can be alerted to them.