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