code: public static <T> Iterable<T> concat(Iterable<? extends T> a,
        Iterable<? extends T> b, Iterable<? extends T> c,
        Iterable<? extends T> d) {
      return concat(ImmutableList.of(a, b, c, d));
    }
docs: Combines four iterables into a single iterable. The returned iterable has
  an iterator that traverses the elements in {@code a}, followed by the
  elements in {@code b}, followed by the elements in {@code c}, followed by
  the elements in {@code d}. The source iterators are not polled until
  necessary.
  
  <p>The returned iterable's iterator supports {@code remove()} when the
  corresponding input iterator supports it.