public static <C extends Collection<? super T>, T> C collect(Iterable<? extends T> iterable, C acc) {
    if (iterable != null) {
      for (T t : iterable) {
        acc.add(t);
      }
    }
    return acc;
  }
public static <C extends Collection<? super T>, T> C collect(Iterable<? extends T> iterable, C acc)