public int match(Kim kim, int from, int thru) {
        Node node = this.root;
        int best = none;
        for (int at = from; at < thru; at += 1) {
            node = node.get(kim.get(at));
            if (node == null) {
                break;
            }
            if (node.integer != none) {
                best = node.integer;
            }
            from += 1;
        }
        return best;
    }