Ordenar colección por múltiples campos en Kotlin [duplicar]

Esta pregunta ya tiene una respuesta aquí:

¿Cómo ordenar en base / comparar múltiples valores en Kotlin? 1 respuesta

Digamos que tengo una lista de personas que necesito ordenar por edad primero y luego por nombre.

Viniendo de un fondo C #, puedo lograr esto fácilmente en dicho lenguaje usando LINQ:

var list=new List<Person>();
list.Add(new Person(25, "Tom"));
list.Add(new Person(25, "Dave"));
list.Add(new Person(20, "Kate"));
list.Add(new Person(20, "Alice"));

//will produce: Alice, Kate, Dave, Tom
var sortedList=list.OrderBy(person => person.Age).ThenBy(person => person.Name).ToList(); 

¿Cómo se logra esto usando Kotlin?

Esto es lo que probé (obviamente es incorrecto ya que la salida de la primera cláusula "sortedBy" se anula por la segunda, lo que da como resultado una lista ordenada solo por Nombre)

val sortedList = ArrayList(list.sortedBy { it.age }.sortedBy { it.name })) //wrong

Respuestas a la pregunta(2)

Su respuesta a la pregunta