A função de cópia da classe de dados Kotlin não está funcionando

Talvez eu esteja interpretando mal comocopy função dedata classe funciona ou talvez haja um erro, mas a seguir é um exemplo docopy função não está funcionando conforme o esperado:

Kotlin:

data class A {
    public var x: String? = null
    public var y: String? = null
    public var z: B = B.ONE
}

enum class B {
    ONE
    TWO
    THREE
}

Java

A a1 = new A()
a1.setX("Hello")
a1.setY("World")
a1.setZ(B.TWO)

A a2 = a1.copy()
// a2.x is null
// a2.y is null
// a2.z is B.ONE

Parece quecopy está apenas fazendo uma nova instância deA e não copiar os valores. Se eu colocar as variáveis no construtor, os valores serão atribuídos, mas não será diferente de construir uma nova instância.

questionAnswers(3)

yourAnswerToTheQuestion