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

      FList<TextRange> camelHumpRanges = improveCamelHumps(patternIndex, nameIndex, fragment.getLength(), minFragment, fragment.getErrorState());
      if (camelHumpRanges != null) {
        return camelHumpRanges;
      }

      return findLongestMatchingPrefix(patternIndex, nameIndex, fragment.getLength(), minFragment, fragment.getErrorState());
    }
private @Nullable FList<TextRange> matchInsideFragment(int patternIndex,
                                             int nameIndex,
                                             @NotNull Fragment fragment)