StringBuffer buf = new StringBuffer ();
AttributedFormatBuffer buf = new AttributedFormatBuffer ();
  private final void applyPatternWithSymbols (String pattern,					      DecimalFormatSymbols syms)  {    // Initialize to the state the parser expects.    negativePrefix = "";    negativeSuffix = "";    positivePrefix = "";    positiveSuffix = "";    decimalSeparatorAlwaysShown = false;    groupingSize = 0;    minExponentDigits = 0;    multiplier = 1;    useExponentialNotation = false;    groupingUsed = false;    maximumFractionDigits = 0;    maximumIntegerDigits = 309;    minimumFractionDigits = 0;    minimumIntegerDigits = 1;    StringBuffer buf = new StringBuffer ();    String patChars = patternChars (syms);    int max = pattern.length();    int index = scanFix (pattern, 0, buf, patChars, syms, false);    positivePrefix = buf.toString();    index = scanFormat (pattern, index, patChars, syms, true);    index = scanFix (pattern, index, buf, patChars, syms, true);    positiveSuffix = buf.toString();    if (index == pattern.length())      {	// No negative info.	negativePrefix = null;	negativeSuffix = null;      }    else      {	if (pattern.charAt(index) != syms.getPatternSeparator())	  throw new IllegalArgumentException ("separator character " +					      "expected - index: " + index);	index = scanFix (pattern, index + 1, buf, patChars, syms, false);	negativePrefix = buf.toString();	// We parse the negative format for errors but we don't let	// it side-effect this object.	index = scanFormat (pattern, index, patChars, syms, false);	index = scanFix (pattern, index, buf, patChars, syms, true);	negativeSuffix = buf.toString();	if (index != pattern.length())	  throw new IllegalArgumentException ("end of pattern expected " +					      "- index: " + index);      }  }