This book shows Java programmers how to gradually refactor their Java code using idiomatic Kotlin, while continuing to evolve the code's functionality. Authors Duncan McGregor and Nat Pryce break down the route from Java to Kotlin into legs like Optional to Nullable, Beans to Values, and Open to Sealed Classes.