private void findNeighbors(BKTree<? extends T> root, List<? super T> neighbors) {
        T rhs = root.getValue();
        int crntDistance = distance.compare(center, rhs);
        if (crntDistance < tolerance) {
            neighbors.add(rhs);
        }

        for (int x = crntDistance - tolerance; x <= crntDistance + tolerance; x++) {
            if (root.children.containsKey(x)) {
                findNeighbors(root.children.get(x), neighbors);
            }
        }
    }