Passagem indefinida para Nashorn Javascript em Scala / Java

Preciso avaliar essa função em Javascript do Scala / Java

function hello(a, b) {
    return a+b;
}

Eu fiz este código básico:

val factory = new ScriptEngineManager(null)
val engine = factory.getEngineByName("JavaScript")

val body =
  """
    |function hello(a, b) {
    |    return a+b;
    |}
  """.stripMargin
engine match {
  case engine: Invocable =>
    engine.eval(body)
    println(engine.invokeFunction("hello", null, 1: java.lang.Double))
}

Para o parâmetro a, estou passando um nulo e recebo um 1,0 como resultado. Se eu hackear meu javascript (NÃO FAÇO ISSO) e o fizer:

function hello(a, b) {
    if (a === null) {
        a = undefined;
    }
    return a+b;
}

Eu recebo o NaN esperado.

A solução correta seria passar um indefinido para o invokeFunction: como faço isso?

questionAnswers(1)

yourAnswerToTheQuestion