private final int scanFix (String pattern, int index, StringBuffer buf,
private final int scanFix (String pattern, int index, FormatBuffer buf,
  private final int scanFix (String pattern, int index, StringBuffer buf,			     String patChars, DecimalFormatSymbols syms,			     boolean is_suffix)  {    int len = pattern.length();    buf.setLength(0);    boolean multiplierSet = false;    while (index < len)      {	char c = pattern.charAt(index);	if (c == '\'' && index + 1 < len	    && pattern.charAt(index + 1) == '\'')	  {	    buf.append(c);	    ++index;	  }	else if (c == '\'' && index + 2 < len		 && pattern.charAt(index + 2) == '\'')	  {	    buf.append(pattern.charAt(index + 1));	    index += 2;	  }	else if (c == '\u00a4')	  {	    if (index + 1 < len && pattern.charAt(index + 1) == '\u00a4')	      {		buf.append(syms.getInternationalCurrencySymbol());		++index;	      }	    else	      buf.append(syms.getCurrencySymbol());	  }	else if (c == syms.getPercent())	  {	    if (multiplierSet)	      throw new IllegalArgumentException ("multiplier already set " +						  "- index: " + index);	    multiplierSet = true;	    multiplier = 100;	    buf.append(c);	  }	else if (c == syms.getPerMill())	  {	    if (multiplierSet)	      throw new IllegalArgumentException ("multiplier already set " +						  "- index: " + index);	    multiplierSet = true;	    multiplier = 1000;	    buf.append(c);	  }	else if (patChars.indexOf(c) != -1)	  {	    // This is a pattern character.	    break;	  }	else	  buf.append(c);	++index;      }    return index;  }