thenDescending 
  Combines this comparator and the given comparator such that the latter is applied only when the former considered values equal.
Since Kotlin
1.0Samples
import kotlin.test.*
fun main() { 
   //sampleStart 
   val list = listOf("A", "aa", "b", "bb", "a")
val lengthThenCaseInsensitive = compareBy<String> { it.length }
    .thenDescending(String.CASE_INSENSITIVE_ORDER)
val sorted = list.sortedWith(lengthThenCaseInsensitive)
println(sorted) // [b, A, a, bb, aa] 
   //sampleEnd
}