rocketraman
06/22/2016, 3:08 PM@Suppress("UNCHECKED_CAST")
fun <R> Iterable<*>.filterIsInstanceIndexed(clazz: Class<R>): List<IndexedValue<R>> =
mapIndexed {i, v -> IndexedValue(i, v)}
.filter { clazz.isInstance(it.value) } as List<IndexedValue<R>>