/guava/guava/src/com/google/common/collect/Iterables.java
checkNotNull( fromIterable) ;checkNotNull( iterable) ;
checkNotNull ( iterable ) ;
? ((List<T>) iterable).get(position) : Iterators.get(iterable.iterator(), position); } @ParametricNullness public static <T extends @Nullable Object> T get( Iterable<? extends T> iterable, int position, @ParametricNullness T defaultValue) { <extra_id_0> Iterators.checkNonnegative(position); if (iterable instanceof List) { List<? extends T> list = Lists.cast(iterable); return (position < list.size()) ? list.get(position) : defaultValue; } else { Iterator<? extends T> iterator = iterable.iterator();