How can I get an IBody2 from a property manager page selection box?

I need to select IBody2 objects from a property manager page selection box.  (IBody2 objects to use with RayIntersections().

I have a selection box (IPropertyManagerPageSelectionbox) filtered for swSelectType_e.swSelBODYFEATURES, swSelectType_e.swSelSOLIDBODIES, and I can get the text for the items.

1) IPartDoc.IFeatureByName() gets me a feature but GetBody() on the feature fails.  Feature.GetBody() is obsolete...

2) IAssemblyDoc.IFeatureByName() fails, I assume it does not like the name from the selection box with the embedded @ symbols, i.e. BodyName@PartDocName@AsmDocName

Do I have to use brute force and get all the bodies in a document and then compare names?

Is there any documentation anywhere for details of swSelectType_e values?

SolidworksApi macros