int (@NotNull String name, int patternIndex, int startFrom, boolean isAsciiName) { final char p = myPattern[patternIndex]; if (startFrom >= name.length() || myHasHumps && isLowerCase[patternIndex] && !(patternIndex > 0 && isWordSeparator[patternIndex - 1])) { return -1; } int i = startFrom; boolean isSpecialSymbol = !Character.isLetterOrDigit(p); while (true) { i = indexOfIgnoreCase(name, i, p, patternIndex, isAsciiName); if (i < 0) return -1; if (isSpecialSymbol || NameUtilCore.isWordStart(name, i)) return i; i++; } }