/* 59 */ SubjectInfo si = sc.getSubjectInfo();
/* */
/* 61 */ if (si != null)
/* */ {
/* 63 */ Subject activeSubject = si.getAuthenticatedSubject();
/* 64 */ RunAsIdentity callerRunAsIdentity = (RunAsIdentity)sc.getIncomingRunAs();
/* */
/* 66 */ if (activeSubject != null)
/* */ {
/* 68 */ Set principalsSet = null;
/* 69 */ if (callerRunAsIdentity == null)
/* */ {
/* 71 */ principalsSet = activeSubject.getPrincipals();
/* */ }
/* */ else
/* */ {
/* 75 */ principalsSet = callerRunAsIdentity.getPrincipalsSet();
/* */ }
/* */
/* 78 */ theSubject = new Subject(true, principalsSet, activeSubject.getPublicCredentials(), activeSubject.getPrivateCredentials());
/* */ }
/* 84 */ else if (callerRunAsIdentity != null)
/* */ {
/* 86 */ Set principalsSet = callerRunAsIdentity.getPrincipalsSet();
/* 87 */ theSubject = new Subject(true, principalsSet, SubjectPolicyContextHandler.EMPTY_SET, SubjectPolicyContextHandler.EMPTY_SET);
/* */ }
/* */ }
/* */ }
/* */