title: Overloaded method value with alternatives
body: <p>I have the following:</p>
  
  <pre><code>def calc(dir: File): Option[Group] = {
   calcModel(dir) match {
    case Some(model: Model) =&gt; calcUI(model, centerpane.getWidth, centerpane.getHeight, 5, MAX_LEVEL)
    case None =&gt;               None
   }
  }
  
  def calcUI(model: Model, availableWidth: Double, availableHeight: Double, maxLevel: Int): Option[Group] = {
  }
  
  def calcUI(model: Model, posX: Double, posY: Double, availableWidth: Double, availableHeight: Double, horizontally: Boolean, startLevel: Int, maxLevel: Int): Option[Group] = {
  }
  
  protected def calcUI(node: Node, posX: Double, posY: Double, availableWidth: Double, availableHeight: Double, horizontally: Boolean, level: Int, maxLevel: Int): Group = {
  }
  
  def calcModel(dir: File): Option[Model] = {
  }
  </code></pre>
  
  <p>(Remark: Model does NOT derive from Node)</p>
  
  <p>and get the following compiler error message:</p>
  
  <pre><code>Error:(88, 27) overloaded method value calcUI with alternatives:
    (node: org.rob.spaceview.modell.Node,posX: Double,posY: Double,availableWidth: Double,availableHeight: Double,horizontally: Boolean,level: Int,maxLevel: Int)javafx.scene.Group &lt;and&gt;
    (model: org.rob.spaceview.modell.Model,posX: Double,posY: Double,availableWidth: Double,availableHeight: Double,horizontally: Boolean,startLevel: Int,maxLevel: Int)Option[javafx.scene.Group] &lt;and&gt;
    (model: org.rob.spaceview.modell.Model,availableWidth: Double,availableHeight: Double,maxLevel: Int)Option[javafx.scene.Group]
   cannot be applied to (org.rob.spaceview.modell.Model, Double, Double, Int, Int)
        case Some(model) =&gt; calcUI(model, centerpane.getWidth, centerpane.getHeight, 5, MAX_LEVEL)
                        ^
  </code></pre>
  
  <p>I do not get it. All calcUI functions are different by parameters.</p>
  
  <p>I know this error and most of the time I get it and fix it. But here, no clue.</p>
  
  <p>Hopefully somebody enlights me. Thanks.</p>