public abstract StringBuffer format (Object obj, StringBuffer sb, FieldPosition pos) throws IllegalArgumentException;
public final String format(Object obj) throws IllegalArgumentException { StringBuffer sb = new StringBuffer (); format (obj, sb, new FieldPosition (0)); return sb.toString (); }
  public abstract StringBuffer format (Object obj, StringBuffer sb,				       FieldPosition pos)    throws IllegalArgumentException;