code: public String formatText(Object value) {
          if(value == null)
              return null;
  
          if(_formatters == null)
              return value.toString();
  
          Object formatted = value;
          for(int i = 0; i < _formatters.size(); i++) {
              assert _formatters.get(i) instanceof Formatter :
                      "Found invalid formatter type \"" +
                      (_formatters.get(i) != null ? _formatters.get(i).getClass().getName() : "null") + "\"";
  
              Formatter formatter = (Formatter)_formatters.get(i);
              assert formatter != null;
              try {
                  formatted = formatter.format(formatted);
              }
              catch(JspException e) {
                  /* todo: error reporting */
                  LOGGER.error(Bundle.getErrorString("CellModel_FormatterThrewException", new Object[]{formatter.getClass().getName(), e}), e);
              }
          }
  
          assert formatted != null;
          return formatted.toString();
      }
docs: Format an {@link Object} value.  This method is used to apply a chain of formatters to some
  value.  It will return <code>null</code> if the provided value is null; in this case, it
  is up to the caller to provide an appropriate default value.
  
  @param value the {@link Object} to format
  @return If the <code>value</code> is null, return <code>null</code>.   If there are no registered
  {@link Formatter} instances, return {@link Object#toString()} for the <code>value</code> parameter.
  Otherwisee, return the formatted value.