the given type from the authenticated caller's Subject,
 or an empty set if the current caller is not authenticated, or if the specified type
 isn't found in the Subject.
 <p>
 This can be used to retrieve application-specific
 Principals when the platform's representation of the caller uses a different principal type.
 <p>
 The returned Set is not backed by the Subject's internal Principal Set.
 A new Set is created and returned for each method invocation.
 Modifications to the returned Set will not affect