if (impersonationNeeded || groupsMapped) {
// gonna need a new subject and doAs
subject = new Subject();
subject.getPrincipals().add(primaryPrincipal);
if (impersonationNeeded) {
impersonationPrincipal = new ImpersonatedPrincipal(mappedPrincipalName);
subject.getPrincipals().add(impersonationPrincipal);
}
if (groupsMapped) {
addMappedGroupsToSubject(mappedPrincipalName, subject);
addMappedGroupsToSubject("*", subject);