code: public final <C extends Collection<? super T>> C toCollection(final C collection) {
          Preconditions.checkNotNull(collection);
          toHandler(new Handler<T>() {
  
              @Override
              public void handle(final T element) {
                  if (element != null) {
                      collection.add(element);
                  }
              }
          });
          return collection;
      }
docs: Terminal operation storing all the elements of this Stream in the supplied Collection. Call
  this method only if the target Collection can hold all the remaining elements.
  
  @param collection
  the Collection where to store elements, not null
  @param <C>
  the type of Collection
  @return the supplied Collection