internal static Iterable <U> lazyFlatMap <T, U>(Iterable <T> iterable, Function <T, Iterable <U> > function) { var enumerable = FromJava.IterableToEnumerable(iterable) .SelectMany(element => FromJava.IterableToEnumerable(function.apply(element))); return(ToJava.EnumerableToIterable(enumerable)); }
internal static Iterable <T> lazyConcat <T>(Iterable <T> first, Iterable <T> second) { var enumerable = FromJava.IterableToEnumerable(first) .Concat(FromJava.IterableToEnumerable(second)); return(ToJava.EnumerableToIterable(enumerable)); }
internal static Iterable <U> lazyMap <T, U>(Iterable <T> iterable, Function <T, U> function) { var enumerable = FromJava.IterableToEnumerable(iterable) .Select(function.apply); return(ToJava.EnumerableToIterable(enumerable)); }
internal static Iterable <U> lazyFilter <T, U>(Iterable <T> iterable, System.Type type) { var enumerable = FromJava.IterableToEnumerable(iterable).OfType <U>(); return(ToJava.EnumerableToIterable(enumerable)); }
internal static Iterable <T> lazyFilter <T>(Iterable <T> iterable, Predicate <T> predicate) { var enumerable = FromJava.IterableToEnumerable(iterable).Where(predicate.test); return(ToJava.EnumerableToIterable(enumerable)); }