code: @Override
  	public Object getValue(ELContext context, Object base, Object property) {
  		context.setPropertyResolved(false);
  		for (ELResolver resolver : resolvers) {
  			Object value = resolver.getValue(context, base, property);
  			if (context.isPropertyResolved()) {
  				return value;
  			}
  		}
  		return null;
  	}
docs: Attempts to resolve the given property object on the given base object by querying all
  component resolvers. If this resolver handles the given (base, property) pair, the
  propertyResolved property of the ELContext object must be set to true by the resolver, before
  returning. If this property is not true after this method is called, the caller should ignore
  the return value. First, propertyResolved is set to false on the provided ELContext. Next,
  for each component resolver in this composite:
  <ol>
  <li>The getValue() method is called, passing in the provided context, base and property.</li>
  <li>If the ELContext's propertyResolved flag is false then iteration continues.</li>
  <li>Otherwise, iteration stops and no more component resolvers are considered. The value
  returned by getValue() is returned by this method.</li>
  </ol>
  If none of the component resolvers were able to perform this operation, the value null is
  returned and the propertyResolved flag remains set to false. Any exception thrown by
  component resolvers during the iteration is propagated to the caller of this method.
  
  @param context
  The context of this evaluation.
  @param base
  The base object to return the most general property type for, or null to enumerate
  the set of top-level variables that this resolver can evaluate.
  @param property
  The property or variable to return the acceptable type for.
  @return If the propertyResolved property of ELContext was set to true, then the result of the
  variable or property resolution; otherwise undefined.
  @throws NullPointerException
  if context is null
  @throws PropertyNotFoundException
  if base is not null and the specified property does not exist or is not readable.
  @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.