code: public static <T> Source<T> join(Collection<Source<T>> collection) {
          return join(collection.iterator());
      }
docs: Gets a source that joins the given collection of sources end to end.
  <p>
  When closed, the returned source will ensure the wrapped sources are
  all closed.
  
  @param collection the collection of sources to join.
  @param <T> the type.
  @return the joined source.