private int indexOfIgnoreCase(int fromIndex, int patternIndex, @NotNull ErrorState errorState) {
      char p = charAt(patternIndex, errorState);
      if (isAsciiName && Strings.isAscii(p)) {
        int i = indexIgnoringCaseAscii(fromIndex, p);
        if (i != -1) return i;

        if (myAllowTypos) {
          int leftMiss = indexIgnoringCaseAscii(fromIndex, leftMiss(p));
          if (leftMiss != -1) return leftMiss;

          int rightMiss = indexIgnoringCaseAscii(fromIndex, rightMiss(p));
          if (rightMiss != -1) return rightMiss;
        }

        return -1;
      }
      return Strings.indexOfIgnoreCase(myName, p, fromIndex);
    }
private int indexOfIgnoreCase(int fromIndex, int patternIndex, @NotNull ErrorState errorState)