code: public final <U extends Collection<? super T>> U into(U collection) {
          for (T v : this) {
              collection.add(v);
          }
          return collection;
      }
docs: Consumes the entire sequence and adds each element into the given collection
  that is also returned.
  @param <U> the collection of type accepting a (super)type of this element type
  @param collection the collection to collect into
  @return the collection itself
  @throws NullPointerException if collection is null
  @since 1.0