I can't say that I changed PickingLibrary recently
, but I'm certainly the last (before you), who changed it. So I guess I'm the suspect. But as far as I tested it, It was working fine.
I commented out this "closestIntersect = f" lines because they weren't used at all. I also changed the sorting. The PickResult objects were put into a TreeMap (if I remember right) to be sorted. I changed it to be put into a Vector and sorted it once afterwards. This is more efficient, because the objects are only sorted once.
Maybe this helps you to find what is the problem.
btw: It is called "Depth first search"