title: Processing Optional Value from Mono in Project Reactor
body: <p>I want to have a <code>Mono</code> that calls another async method that returns an <code>Optional</code> type to:</p>
  
  <ol>
  <li>have a value if the <code>Optional</code> is not empty,</li>
  <li>is <code>MonoEmpty</code> if the <code>Optional</code> value is empty.</li>
  </ol>
  
  <p>Here's what I do right now:</p>
  
  <p><code>
  Mono.fromCallable(() -&gt; someApi.asyncCall())
      .filter(Optional::isPresent)
      .map(Optional::get)
  </code></p>
  
  <p>Obviously, this is not ideal since it uses two operators after the callable completed. If possible, I'd like to have the <code>Mono.empty()</code> or mono value from inside <code>fromCallable</code>.</p>
  
  <p>What is the best way to achieve what I want?</p>