A POA object manages the implementation of a
collection of objects. The POA supports a name space
for the objects, which are identified by Object Ids.
A POA also provides a name space for POAs. A POA is
created as a child of an existing POA, which forms a
hierarchy starting with the root POA. A POA object
must not be exported to other processes, or
externalized with ORB::object_to_string.