package org.robobinding.util; import java.util.Collection; import java.util.Iterator; /** * Migrated from {@link com.google.common.collect.Iterators} * @since 1.0 * @author Cheng Wei * */ class Iterators { /** * Adds all elements in {@code iterator} to {@code collection}. The iterator * will be left exhausted: its {@code hasNext()} method will return * {@code false}. * * @return {@code true} if {@code collection} was modified as a result of this * operation */ public static <T> boolean addAll(Collection<T> addTo, Iterator<? extends T> iterator) { Preconditions.checkNotNull(addTo); Preconditions.checkNotNull(iterator); boolean wasModified = false; while (iterator.hasNext()) { wasModified |= addTo.add(iterator.next()); } return wasModified; } }