code: @SuppressWarnings("unchecked")
      public static <T> Ix<T> concatArray(Iterable<? extends T>... sources) {
          int n = sources.length;
          if (n == 0) {
              return empty();
          }
          if (n == 1) {
              return from((Iterable<T>)sources[0]);
          }
          return new IxFlattenArrayIterable<T>((Iterable<T>[])sources);
      }
docs: Concatenates the elements of Iterable sources, provided as an array, sequentially.
  <p>
  The result's iterator() forwards the remove() calls to the current iterator.
  <p>
  Note that merge and concat operations are the same in the Iterable world.
  @param <T> the common base type
  @param sources the array of source Iterables
  @return the new Ix instance
  @throws NullPointerException if sources is null
  @since 1.0
  @see #mergeArray(Iterable...)