WebDataBinder binder = new WebRequestDataBinder(value);
WebRequest request = new FacesWebRequest(FacesContext.getCurrentInstance());
if (this.context.getWebBindingInitializer() != null) {
this.context.getWebBindingInitializer().initBinder(binder, request);
}
ReverseDataBinder reverseBinder = new ReverseDataBinder(binder);
PropertyValues propertyValues = reverseBinder.reverseBind();
for (PropertyValue propertyValue : propertyValues.getPropertyValues()) {
addIfNotContainsKey(model, propertyValue.getName(), propertyValue.getValue());
}
}
}