docs: public List<UserDictionaryMatch> findUserDictionaryMatches(String text) {
          List<UserDictionaryMatch> matchInfos = new ArrayList<>();
          int startIndex = 0;
  
          while (startIndex < text.length()) {
              int matchLength = 0;
  
              while (startIndex + matchLength < text.length()
                              && entries.containsKeyPrefix(text.substring(startIndex, startIndex + matchLength + 1))) {
                  matchLength++;
              }
  
              if (matchLength > 0) {
                  String match = text.substring(startIndex, startIndex + matchLength);
                  int[] details = entries.get(match);
  
                  if (details != null) {
                      matchInfos.addAll(makeMatchDetails(startIndex, details));
                  }
              }
  
              startIndex++;
          }
  
          return matchInfos;
      }