This class has only one purpose: To copy a user's Subject across a remote interface.
Since the JAAS Subject class is neither Remote nor Serializable, there needs to
be a mechanism for getting it across a remote interface, so it can be used for
a doAs() or doAsPrivileged() code section.
Get a security Subject from a UserContext. A Subject is defined by its
collections of principals, public credentials and private credentials.
Get those items from the UserContext (hopefully, they'return all PFS
versions of those objects), and create a new Subject in the current JVM.
Parameters:
user - The UserContext to create the new Subject from.