private Node find(Node node, String string) throws KeyNotFoundException {
        int index = 0;
        while (index < string.length()) {

            if (node == null) throw new KeyNotFoundException();

            int cmp = node.ch.compareTo(string.charAt(index));

            if (cmp < 0) node = node.right;
            else if (cmp > 0) node = node.left;
            else {
                node = node.middle;
                index++;
            }

        }
        return node;
    }