docs: public static Object[] cast(Class<?> type, Object arrayObj) throws NullPointerException, IllegalArgumentException {
  		if (null == arrayObj) {
  			throw new NullPointerException("Argument [arrayObj] is null !");
  		}
  		if (false == arrayObj.getClass().isArray()) {
  			throw new IllegalArgumentException("Argument [arrayObj] is not array !");
  		}
  		if (null == type) {
  			return (Object[]) arrayObj;
  		}
  
  		final Class<?> componentType = type.isArray() ? type.getComponentType() : type;
  		final Object[] array = (Object[]) arrayObj;
  		final Object[] result = ArrayUtil.newArray(componentType, array.length);
  		System.arraycopy(array, 0, result, 0, array.length);
  		return result;
  	}