code: static Object add(Object array, int index, Object element, Class<?> clss) {
          if (array == null) {
              if (index != 0) {
                  throw new IndexOutOfBoundsException("Index: " + index + ", Length: 0");
              }
              Object joinedArray = Array.newInstance(clss, 1);
              Array.set(joinedArray, 0, element);
              return joinedArray;
          }
          int length = Array.getLength(array);
          if (index > length || index < 0) {
              throw new IndexOutOfBoundsException("Index: " + index + ", Length: " + length);
          }
          Object result = Array.newInstance(clss, length + 1);
          System.arraycopy(array, 0, result, 0, index);
          Array.set(result, index, element);
          if (index < length) {
              System.arraycopy(array, index, result, index + 1, length - index);
          }
          return result;
      }
docs: Adds the element at the specified position from the specified array
  
  @param array
  @param index
  @param element
  @param clss
  @return