private int indexOfWordStart(int patternIndex, int startFrom, @NotNull ErrorState errorState) {
      if (startFrom >= myName.length() ||
          myHasHumps && isLowerCase(patternIndex, errorState) && !(patternIndex > 0 && isWordSeparator(patternIndex - 1, errorState))) {
        return -1;
      }
      int nextWordStart = startFrom;
      while (true) {
        nextWordStart = nextWord(myName, nextWordStart, isAsciiName);
        if (nextWordStart >= myName.length()) {
          return -1;
        }
        if (charEquals(patternIndex, nextWordStart, true, true, errorState)) {
          return nextWordStart;
        }
      }
    }
private int indexOfWordStart(int patternIndex, int startFrom, @NotNull ErrorState errorState)