¿Cómo selecciono qué sobrecarga de Java sobrescribir en una class derivada de Kotlin?

Estoy intentando implementar en Kotlin una MyIntList que MyIntList java.util.AbstractList<Int> . AbstractList<E> define tanto un E remove(int index) como un boolean remove(Object o) . Yo uso el siguiente código:

 class IntList() : AbstractList<Int>() { .... override fun remove(index: Int): Int { .... } } 

pero esto da un error: return type of 'remove' is not a subtype of the return type of the overridden member 'public open fun remove(element: kotlin.Int!): kotlin.Boolean defined in java.util.AbstractList' override fun remove(index: Int): Int {

¿Cómo le digo a Kotlin que estoy intentando anular E remove(int index) ? (¿Y de dónde remove(Int):Boolean esa remove(Int):Boolean sobrecarga remove(Int):Boolean ?)