raulraja
fun <A> Iterable<A>.reverseIf(condition: Boolean): List<A> = if (condition) this.asReversed() else this