jodd-bean/src/main/java/jodd/bean/BeanUtilUtil.java
protected Object arrayForcedGet(final BeanProperty bp, Object array, final int index) {
		Class componentType = array.getClass().getComponentType();
		if (!bp.last) {
			array = ensureArraySize(bp, array, componentType, index);
		}
		Object value = Array.get(array, index);
		if (value == null) {
			try {
				//noinspection unchecked
				value = ClassUtil.newInstance(componentType);
			} catch (Exception ex) {
				if (isSilent) {
					return null;
				}
				throw new BeanException("Invalid array element: " + bp.name + '[' + index + ']', bp, ex);
			}
			Array.set(array, index, value);
		}
		return value;
	}
protected Object arrayForcedGet(final BeanProperty bp, Object array, final int index) {
		Class componentType = array.getClass().getComponentType();
		if (!bp.last) {
			array = ensureArraySize(bp, array, componentType, index);
		}
		Object value = Array.get(array, index);
		if (value == null) {
			try {
				//noinspection unchecked
				value = ClassUtil.newInstance(componentType);
			} catch (Exception ex) {
				if (isSilent) {
					return null;
				}
				throw new BeanException("Invalid array element: " + bp.name + '[' + index + ']', bp, ex);
			}
			Array.set(array, index, value);
		}
		return value;
	}
Returns the element of an array forced. If value is <code>null</code>, it will be instantiated.
If not the last part of indexed bean property, array will be expanded to the index if necessary.