if (value instanceof String) { return (String) value; }  Converter converter = null; if (component instanceof IConvertValueHolder) { converter = ((IConvertValueHolder) component) .getConverter(facesContext);  } else if (component instanceof ValueHolder) { converter = ((ValueHolder) component).getConverter(); }  return valueToString(value, converter, component, facesContext);
return ValuesTools.valueToString(valueHolder.getValue(), (UIComponent) valueHolder, facesContext);
    public static String valueToString(Object value, UIComponent component,            FacesContext facesContext) {        if (value instanceof String) {            return (String) value;        }        Converter converter = null;        if (component instanceof IConvertValueHolder) {            converter = ((IConvertValueHolder) component)                    .getConverter(facesContext);        } else if (component instanceof ValueHolder) {            converter = ((ValueHolder) component).getConverter();        }        return valueToString(value, converter, component, facesContext);    }