code: static <T> Iterable<T> prepend(Collection<T> coll, Iterable<T> rest) {
          return (coll.size() == 0) ? rest : new CompoundIterable<T>(coll, rest);
      }
docs: Create a new Iterable<T> by adding the specified list contents to
  the front of an existing Iterable.
  @param <T>
  @param list
  @param rest
  @return