Isn’t abstract class too heavyweight for a simple conversion? At least a trait would allow for the lightweight Java 8 lambdas encoding. Or maybe Java 8 lambdas can work with abstract classes too?
abstract class
trait