voddan
02/20/2016, 9:31 PMval (As, Bs) = list.mapIndexed { i, it -> Pair(it, i) }.partition { condition(it) }
val Cs = As. map {..}.filter{..}.sortBy{..}
return (As + Cs).sortedBy {it.second}.map {it.first}
I want a way to generalise it somehow