@Override
	public void setValue(ELContext context, Object base, Object property, Object value) {
		if (context == null) {
			throw new NullPointerException("context is null");
		}
		if (isResolvable(base)) {
			if (readOnly) {
				throw new PropertyNotWritableException("resolver is read-only");
			}
			Array.set(base, toIndex(base, property), value);
			context.setPropertyResolved(true);
		}
	}
@ Override public void setValue ( ELContext context , Object base , Object property , Object value ) { if ( context == null ) { throw new NullPointerException ( "context is null" ) ; } if ( isResolvable ( base ) ) { if ( readOnly ) { throw new PropertyNotWritableException ( "resolver is read-only" ) ; } Array . set ( base , toIndex ( base , property ) , value ) ; context . setPropertyResolved ( true ) ; } }
If the base object is a Java language array, attempts to set the value at the given index
with the given value. The index is specified by the property argument, and coerced into an
integer. If the coercion could not be performed, an IllegalArgumentException is thrown. If
the index is out of bounds, a PropertyNotFoundException is thrown. If the base is a Java
language array, the propertyResolved property of the ELContext object must be set to true by
this resolver, before returning. If this property is not true after this method is called,
the caller can safely assume no value was set. If this resolver was constructed in read-only
mode, this method will always throw PropertyNotWritableException.

@param context
The context of this evaluation.
@param base
The array to analyze. Only bases that are a Java language array are handled by
this resolver.
@param property
The index of the element in the array to return the acceptable type for. Will be
coerced into an integer, but otherwise ignored by this resolver.
@param value
The value to be set at the given index.
@throws PropertyNotFoundException
if the given index is out of bounds for this array.
@throws ClassCastException
if the class of the specified element prevents it from being added to this array.
@throws NullPointerException
if context is null
@throws IllegalArgumentException
if the property could not be coerced into an integer, or if some aspect of the
specified element prevents it from being added to this array.
@throws PropertyNotWritableException
if this resolver was constructed in read-only mode.
@throws ELException
if an exception was thrown while performing the property or variable resolution.
The thrown exception must be included as the cause property of this exception, if
available.