ExpressionFactory expFactory = application.getExpressionFactory();
ELContext elContext = facesContext.getELContext();
for (Iterator<? extends MapEntry> iterator = mapEntries.getMapEntries(); iterator.hasNext();)
{
MapEntry entry = iterator.next();
Object key = entry.getKey();
if (ContainerUtils.isValueReference((String) key))
{
valueExpression = expFactory.createValueExpression(elContext, (String) key, Object.class);
key = valueExpression.getValue(elContext);
}
if (entry.isNullValue())
{
map.put(coerceToType(facesContext, key, keyClass), null);
}
else
{
Object value = entry.getValue();
if (ContainerUtils.isValueReference((String) value))
{
valueExpression = expFactory.createValueExpression(elContext, (String) value, Object.class);
value = valueExpression.getValue(elContext);
}