code: public static Object deepUnbox(Class<?> type, final Object src) {
          Class<?> compType = type.getComponentType();
          if (compType.isArray()) {
              final Object[] src2 = (Object[]) src;
              final Object[] result = (Object[]) newArray(compType, src2.length);
              for (int i = 0; i < src2.length; i++) {
                  result[i] = deepUnbox(compType, src2[i]);
              }
              return result;
          } else {
              return unboxAll(compType, src, 0, -1);
          }
      }
docs: Returns any multidimensional array into an array of primitives.
  @param type target type
  @param src source array
  @return multidimensional array of primitives