Links can now be PickHosts as well. And The PickingLibrary is fully capable of picking Links/SharedGroups. Though it is fully untested. I will do some tests tomorrow. It's late now.
I wasn't working at all

. Now it is

.
To pick on a linked shape with PickingLibrary (or of course PickScheduler from Xith3DEnvironment), you just have to do the following:
Link link = new Link( new SharedGroup( myPickedShape ) );
link.setPickHost( true );
Then the PickResult instance will return the Link from the getPckHost() method. Note, that the getPickHost() method of the Leaf class only returns a GroupNode. It is simply not possible to handle it that way. But getting the Link from the PickResult just works great.
To get the Link as a pick-host from the PickResult, no GroupNode inside the Link must be defined as pick-host!
All Leaf implementations are now pickable with PickingLibrary. But you have to be aware, that other Leaf types (like Sound) need proper Bounds to be set (e.g a new BoundingSphere instance). Otherwise it won't be pickable. And of course a Link (which is a Leaf extension) is not handled like a Leaf in the picking algorithm, but more like a Group.
Enjoy

Marvin