private static int getPreviousWordStopOffset(@NotNull CharSequence text, @NotNull CaretStop wordStop,
                                               @NotNull HighlighterIterator tokenIterator,
                                               int offset, int minOffset, boolean isCamel) {
    int newOffset = offset - 1;
    for (; newOffset > minOffset; newOffset--) {
      final boolean isTokenBoundary = retreatTokenOnBoundary(tokenIterator, text, newOffset);
      if (isWordStopOffset(text, wordStop, newOffset, isCamel, isTokenBoundary)) break;
    }
    return newOffset;
  }
private static int getPreviousWordStopOffset(@NotNull CharSequence text, @NotNull CaretStop wordStop,
                                               @NotNull HighlighterIterator tokenIterator,
                                               int offset, int minOffset, boolean isCamel)