The issue is this:
A component in a child container has access to all components in the
parent component manager - if the role isn't found in it's own CM, the lookup
proceeds
to the parent.
However, when looking up a component via a selector, this is not the case. Since the selector was found, lookup stops there, irrespective of whether the hint passed to the selector really results in a component.
The ParentAware interface enables this - if a selector for my.Generator/Selector doesn't have a component for hint "xyz" then it can look up my.Generator/Selector in the parent CM and try there.
This is no longer an issue with Fortress. That is because the ServiceManager/ ServiceSelector are not *managing* the components, but accessing them. There is no longer any problem with that.
--
"They that give up essential liberty to obtain a little temporary safety
deserve neither liberty nor safety."
- Benjamin Franklin