No puedo usar Kotlin para Serenity-bdd

Intento usar kotlin para mis testings con el marco de cama de serenidad, pero esto no funciona, por ejemplo

public class EndUserSteps { var dictionaryPage: DictionaryPage = null!! @Step fun enters(keyword: String) { dictionaryPage.enter_keywords(keyword) } @Step fun starts_search() { dictionaryPage.lookup_terms() } @Step fun should_see_definition(definition: String) { assertThat(dictionaryPage.definitions, hasItem(containsString(definition))) } @Step fun is_the_home_page() { dictionaryPage.open() } @Step fun looks_for(term: String) { enters(term) starts_search() } } 

¡Otro código ha escrito en Java!

salida: (net.serenitybdd.core.exceptions.StepInitialisationException: no se pudo crear la biblioteca de pasos para EndUserSteps: no se puede subclasificar la class de class final ru.tinkoff.atesting.steps.serenity.EndUserSteps)

¿me puedes ayudar? ¿Tienes alguna idea?

En las classs de Kotlin no se permite la creación de subclasss por defecto (equivalente al final de Java). Para permitir la creación de subclasss, debe marcarlos como open . ( open class X )

La anotación abierta en una class es lo opuesto a la final de Java: permite que otros henetworkingen de esta class. Por defecto, todas las classs en Kotlin son finales, lo que corresponde a Effective Java, Item 17: Design and document for inheritance o de lo contrario lo prohíben. – Documentos de Kotlin