code: public static <T> T[] join(final T[] base, final T... add) {
          if (add == null) {
              return base;
          } else if (base == null) {
              return add;
          }
          if (add.length == 0) {
              return base;
          }
          final T[] result = Arrays.copyOf(base, base.length + add.length);
          System.arraycopy(add, 0, result, base.length, add.length);
          return result;
      }
docs: Joins two arrays.
  <p/>
  If the base array is null, the {@code add} parameter is returned. If the add array is null, the {@code base}
  array is returned.
  
  @param base the base array to add to
  @param add  the array to add
  @param <T>  the type of the array
  
  @return the joined array