code: public static <E> Iterable<E> concat(Iterable<E> a, Iterable<E> b) {
      List<E> result = new ArrayList<>();
      for (E e : a) {
        result.add(e);
      }
      for (E e : b) {
        result.add(e);
      }
  
      return result;
    }
docs: Creates a new {@link Iterable} by concatenating two iterables.