Implementing a Jenkins plugin, the “@Extension” annotation is used to define extension points. These work in Java, but do not work in Kotlin. I am unsure why. Here is a small snippet of the kotlin code:
Since I believe the idea of the extension is to declare things that need to be implemented, I assume you would want to declare the class as open (non-final in Java-speak) along with the methods to be overridden.