public boolean run(byte[] s, int offset, int length) {int p = 0;int l = offset + length;for (int i = offset; i < l; i++) {p = step(p, s[i] & 0xFF);if (p == -1) return false;}return accept.get(p);}

public virtual bool Run(byte[] s, int offset, int length){var p = m_initial;var l = offset + length;for (int i = offset; i < l; i++){p = Step(p, ((sbyte)s[i]) & 0xFF);if (p == -1){return false;}}return m_accept[p];}
