code: public Match<E> find(List<E> tokens, int start) {
          Match<E> match;
          for (int i = start; i <= tokens.size() - auto.minMatchingLength(); i++) {
              match = this.lookingAt(tokens, i);
              if (match != null) {
                  return match;
              }
          }
  
          return null;
      }
docs: Find the first match of the regular expression against tokens, starting
  at the specified index.
  
  @param tokens tokens to match against.
  @param start index to start looking for a match.
  @return an object representing the match, or null if no match is found.