=== GET /books/null-demo/jspecify/0 (expect 500, NPE despite @NullMarked non-null contract) === HTTP/1.1 500 Content-Type: application/json Transfer-Encoding: chunked Date: Thu, 08 Oct 2026 05:30:33 GMT Connection: close {"timestamp":"2026-10-08T05:30:33.758Z","status":500,"error":"Internal Server Error","path":"/books/null-demo/jspecify/0"} --- server log (stack trace) --- java.lang.NullPointerException: titleForId(...) must not be null at com.ankurm.kotlin.BookController.jspecifyNullDemo(BookController.kt:57) ~[!/:1.0.0]