zoltu
public inline fun <T> Iterable<T>.mapIf(predicate: (T) -> Boolean, transform: (T) -> T) { foreach (item in this) { if (!predicate(item)) { yield return item; else yield return transform(item); } }