private @Nullable FList<TextRange> matchInsideFragment(@NotNull String name,
                                               int patternIndex,
                                               int nameIndex,
                                               boolean isAsciiName,
                                               int fragmentLength) {
    // exact middle matches have to be at least of length 3, to prevent too many irrelevant matches
    int minFragment = isMiddleMatch(name, patternIndex, nameIndex)
                      ? 3 : 1;

    FList<TextRange> camelHumpRanges = improveCamelHumps(name, patternIndex, nameIndex, isAsciiName, fragmentLength, minFragment);
    if (camelHumpRanges != null) {
      return camelHumpRanges;
    }

    return findLongestMatchingPrefix(name, patternIndex, nameIndex, isAsciiName, fragmentLength, minFragment);
  }
private @Nullable FList<TextRange> matchInsideFragment(@NotNull String name,
                                               int patternIndex,
                                               int nameIndex,
                                               boolean isAsciiName,
                                               int fragmentLength)