Iterable<T> takeIfPossible(final int range) { if (range > length) return take(length); else return take(range); }