code: private boolean find(Clause clause, char[] chars, int[] cursor) {
      int start = cursor[0];
      int end = cursor[1];
      while (end - start >= clause.minlen)
        if (matchClause(clause, chars, cursor))
          return true;
        else
          cursor[0] = ++start;
      return false;
    }
docs: the end of the found portion.