}
context.setPropertyResolved(true);
FacesContext fcontext = (FacesContext) context.getContext(FacesContext.class);
ELContext elContext = fcontext.getELContext();
PropertyResolver pr = fcontext.getApplication().getPropertyResolver();
if ((base instanceof List) || base.getClass().isArray()) {
Integer index = (Integer) fcontext.getApplication().getExpressionFactory().
coerceToType(property, Integer.class);
try {
pr.setValue(base, index.intValue(), value);
} catch (EvaluationException e) {
context.setPropertyResolved(false);
throw new ELException(e);
}
} else {
try {
pr.setValue(base, property, value);
} catch (EvaluationException e) {
context.setPropertyResolved(false);
throw new ELException(e);
}
}