or a subclass), and
 creates a formatted String according to the following algorithm:
 </p>
 <ul>
 <li>If the specified value is null, return a zero-length String.</li>
 <li>If the specified value is a String, return it unmodified.</li>
 <li>If the <code>locale</code> property is not null, use that <code>Locale</code> for managing formatting. Otherwise,
 use the <code>Locale</code> from the <code>FacesContext</code>.</li>
 <li>If a <code>pattern</code> has been specified, its syntax must conform the rules s