text: public boolean run(char[] s, int offset, int length) {int p = 0;int l = offset + length;for (int i = offset, cp = 0; i < l; i += Character.charCount(cp)) {p = step(p, cp = Character.codePointAt(s, i, l));if (p == -1) return false;}return accept.get(p);}