code: @Override
  	@SuppressWarnings("unchecked")
  	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");
  			}
  			((Map) base).put(property, value);
  			context.setPropertyResolved(true);
  		}
  	}
docs: If the base object is a map, attempts to set the value associated with the given key, as
  specified by the property argument. If the base is a Map, 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. If a Map was created using
  java.util.Collections.unmodifiableMap(Map), this method must throw
  PropertyNotWritableException. Unfortunately, there is no Collections API method to detect
  this. However, an implementation can create a prototype unmodifiable Map and query its
  runtime type to see if it matches the runtime type of the base object as a workaround.
  
  @param context
  The context of this evaluation.
  @param base
  The map to analyze. Only bases of type Map are handled by this resolver.
  @param property
  The key to return the acceptable type for. Ignored by this resolver.
  @param value
  The value to be associated with the specified key.
  @throws ClassCastException
  if the class of the specified key or value prevents it from being stored in this
  map.
  @throws NullPointerException
  if context is null, or if this map does not permit null keys or values, and the
  specified key or value is null.
  @throws IllegalArgumentException
  if some aspect of this key or value prevents it from being stored in this map.
  @throws PropertyNotWritableException
  if this resolver was constructed in read-only mode, or if the put operation is
  not supported by the underlying map.
  @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.