code: public static <T> Iterable<T> concat( final Iterable<T> a,
                                            final Iterable<T> b ) {
          assert (a != null);
          assert (b != null);
          return () -> Collections.concat(a.iterator(), b.iterator());
  
      }
docs: Concatenate two Iterable sources
  
  @param a a non-null Iterable value
  @param b a non-null Iterable value
  @return an Iterable that will iterate through all the values from 'a' and then all the values from 'b'
  @param <T> the value type