code: @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);
  		}
  	}
docs: 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.