/guava/guava/src/com/google/common/collect/Iterables.java
: Iterators.get( iterable.iterator( ) , position) ;Iterators.advance( iterator, position) ;
Iterators.advance ( iterator, position ) ;
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(); <extra_id_0> return Iterators.getNext(iterator, defaultValue); } } @ParametricNullness public static <T extends @Nullable Object> T getFirst( Iterable<? extends T> iterable, @ParametricNullness T defaultValue) {