if (Character.isLetter(thisChar)) {
if ((thisChar >= 'A' && thisChar <= 'Z') || (thisChar >= 'a' && thisChar <= 'z')) {
  private void compileFormat(String pattern)   {    // Any alphabetical characters are treated as pattern characters    // unless enclosed in single quotes.    char thisChar;    int pos;    int field;    FieldSizePair current = null;    for (int i=0; i<pattern.length(); i++) {      thisChar = pattern.charAt(i);      field = formatData.getLocalPatternChars().indexOf(thisChar);      if (field == -1) {	current = null;	if (Character.isLetter(thisChar)) {	  // Not a valid letter	  tokens.addElement(new FieldSizePair(-1,0));	} else if (thisChar == '\'') {	  // Quoted text section; skip to next single quote	  pos = pattern.indexOf('\'',i+1);	  if (pos == -1) {	    // This ought to be an exception, but spec does not	    // let us throw one.	    tokens.addElement(new FieldSizePair(-1,0));	  }	  if ((pos+1 < pattern.length()) && (pattern.charAt(pos+1) == '\'')) {	    tokens.addElement(pattern.substring(i+1,pos+1));	  } else {	    tokens.addElement(pattern.substring(i+1,pos));	  }	  i = pos;	} else {	  // A special character	  tokens.addElement(new Character(thisChar));	}      } else {	// A valid field	if ((current != null) && (field == current.field)) {	  current.size++;	} else {	  current = new FieldSizePair(field,1);	  tokens.addElement(current);	}      }    }  }