code: public HString find(@NonNull String text, int start) {
        Preconditions.checkPositionIndex(start, length());
        int pos = indexOf(text, start);
        if (pos == -1) {
           return Fragments.empty(document());
        }
  
        //If we have tokens expand the match to the overlaping tokens.
        if (document() != null && document().isCompleted(Types.TOKEN)) {
           return union(substring(pos, pos + text.length()).tokens());
        }
  
        return substring(pos, pos + text.length());
     }
docs: Finds the given text in this HString starting from the given start index of this HString. If the document is
  annotated with tokens, the match will extend to the token(s) covering the match.
  
  @param text  the text to search for
  @param start the index to start the search from
  @return the HString for the match or empty if no match is found.