61             final GSSManager gssManager = GSSManager.getInstance();
    63             KerberosPrincipal kerberosPrincipal = kerberosTicket.getClient();
    64             String krbPrincipalName = kerberosTicket.getClient().getName();
    65             final GSSName gssName = gssManager.createName(krbPrincipalName, KerberosConstants.KRB5_NAME_OID);
    67             Set<KerberosPrincipal> principals = Collections.singleton(kerberosPrincipal);
    68             Set<GSSName> publicCreds = Collections.singleton(gssName);
    69             Set<KerberosTicket> privateCreds = Collections.singleton(kerberosTicket);
    70             Subject subject = 
new Subject(
false, principals, publicCreds, privateCreds);
    72             return Subject.doAs(subject, 
new PrivilegedExceptionAction<GSSCredential>() {
    75                 public GSSCredential run() throws Exception {
    76                     return gssManager.createCredential(gssName, lifetime, KerberosConstants.KRB5_OID, usage);
    80         } 
catch (Exception e) {
    81             throw new KerberosSerializationUtils.KerberosSerializationException(
"Unexpected exception during convert KerberosTicket to GSSCredential", e);