title: Is there a way to chain methods which return an Option-Type in a way like getOrElse does but keeps the option-type
body: <p>Given snippet composes of method calls, which return an option type. I'd like to call the next method if previous call returned None. I'm able to accomplish this with this snippet</p>
  
  <pre><code>def amountToPay : Option[TextBoxExtraction] =
    getMaxByFontsize(keywordAmountsWithCurrency) match {
      case None =&gt; getMaxByFontsize(keywordAmounts) match {
        case None  =&gt;  highestKeywordAmount match {
          case None =&gt; getMaxByFontsize(amountsWithCurrency) match {
            case None =&gt; highestAmount
            case some =&gt; some
          }
          case some =&gt; some
        }
        case some =&gt; some
      }
      case some =&gt; some
    }
  </code></pre>
  
  <p>but it looks quite messy. So I hope there is abetter way to do it.</p>