code: public static Object addAll(final Object array1, final Object array2) {
          Object joinedArray;
          if (array1 == null) {
              if (array2.getClass().isArray()) {
                  joinedArray = array2;
              } else {
                  joinedArray = Array.newInstance(array2.getClass(), 1);
                  Array.set(joinedArray, 0, array2);
              }
          } else if (array2 == null) {
              if (array1.getClass().isArray()) {
                  joinedArray = array1;
              } else {
                  joinedArray = Array.newInstance(array1.getClass(), 1);
                  Array.set(joinedArray, 0, array1);
              }
          } else {
              int length1 = 1;
              if (array1.getClass().isArray()) {
                  length1 = Array.getLength(array1);
              }
              int length2 = 1;
              if (array2.getClass().isArray()) {
                  length2 = Array.getLength(array2);
              }
              if (array1.getClass().isArray()) {
                  joinedArray = Array.newInstance(array1.getClass().getComponentType(), length1 + length2);
              } else {
                  joinedArray = Array.newInstance(array1.getClass(), length1 + length2);
              }
              if (array1.getClass().isArray()) {
                  System.arraycopy(array1, 0, joinedArray, 0, length1);
              } else {
                  Array.set(joinedArray, 0, array1);
              }
              if (array2.getClass().isArray()) {
                  System.arraycopy(array2, 0, joinedArray, length1, length2);
              } else {
                  Array.set(joinedArray, length1, array2);
              }
          }
          return joinedArray;
      }
docs: Add 2 arrays
  
  @param array1
  @param array2
  @return