private FormatString[] parse(String s){
  ArrayList<FormatString> al=new ArrayList<>();
  Matcher m=fsPattern.matcher(s);
  for (int i=0, len=s.length(); i < len; ) {
    if (m.find(i)) {
      if (m.start() != i) {
        checkText(s,i,m.start());
        al.add(new FixedString(s.substring(i,m.start())));
      }
      al.add(new FormatSpecifier(m));
      i=m.end();
    }
 else {
      checkText(s,i,len);
      al.add(new FixedString(s.substring(i)));
      break;
    }
  }
  return al.toArray(new FormatString[al.size()]);
}

private FormatString [ ] parse ( String s ) { ArrayList < FormatString > al = new ArrayList < > ( ) ; Matcher m = fsPattern . matcher ( s ) ; for ( int i = 0 , len = s . length ( ) ; i < len ; ) { if ( m . find ( i ) ) { if ( m . start ( ) != i ) { checkText ( s , i , m . start ( ) ) ; al . add ( new FixedString ( s . substring ( i , m . start ( ) ) ) ) ; } al . add ( new FormatSpecifier ( m ) ) ; i = m . end ( ) ; } else { checkText ( s , i , len ) ; al . add ( new FixedString ( s . substring ( i ) ) ) ; break ; } } return al . toArray ( new FormatString [ al . size ( ) ] ) ; }
finds format specifiers in the format string .
