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.
if (obj == null)
return null;
else if (obj instanceof org.omg.PortableServer.POA)
return (org.omg.PortableServer.POA)obj;
else if (!obj._is_a (id ()))
throw new org.omg.CORBA.BAD_PARAM ();
return null;