void initializeState(String name) {
   assert !myBusy;
   myBusy = true;
   myNameLength = name.length();
   isAsciiName = IOUtil.isAscii(name);
   myTable.clear();
 }
 private int indexOfIgnoreCase(
     String name, int fromIndex, char p, int patternIndex, boolean isAsciiName) {
   if (isAsciiName && IOUtil.isAscii(p)) {
     char pUpper = toUpperCase[patternIndex];
     char pLower = toLowerCase[patternIndex];
     for (int i = fromIndex; i < name.length(); i++) {
       char c = name.charAt(i);
       if (c == p || toUpperAscii(c) == pUpper || toLowerAscii(c) == pLower) {
         return i;
       }
     }
     return -1;
   }
   return StringUtil.indexOfIgnoreCase(name, p, fromIndex);
 }