protected Node<T> getNode(T value) {
        Node<T> node = root;
        while (node != null && node.id != null) {
            if (value.compareTo(node.id) == 0) {
                return node;
            } else if (value.compareTo(node.id) < 0) {
                node = node.lesser;
            } else {
                node = node.greater;
            }
        }
        return null;
    }