code: public boolean find() {
      start = last;
      for (; start < tokens.size(); start++) {
        match = automaton.matches(input, start);
        if (match.getEndLocation() != -1) {
          last = match.getEndLocation();
          return true;
        }
      }
      start = -1;
      match = new Match(-1, null);
      return false;
    }
docs: Find boolean.
  
  @return True if the pattern finds a next match