public static void setConverterProperty(UIComponent component, String name, String value) {
if (value != null && component instanceof ValueHolder) {
final FacesContext facesContext = FacesContext.getCurrentInstance();
final Application application = facesContext.getApplication();
if (UIComponentTag.isValueReference(value)) {
ValueBinding valueBinding = application.createValueBinding(value);
component.setValueBinding(name, valueBinding);
} else {
Converter converter = application.createConverter(value);
((ValueHolder) component).setConverter(converter);
}