@Override
 public void dispose() throws GSSException {
   try {
     self.destroy();
   } catch (javax.security.auth.DestroyFailedException e) {
     GSSException gssException =
         new GSSException(
             GSSException.FAILURE, -1, "Could not destroy credentials - " + e.getMessage());
     gssException.initCause(e);
   }
 }
 @Override
 public int getInitLifetime() throws GSSException {
   // endTime of tkt is not used by KDC, and it's also not
   // available in the case of kerberos constr deleg
   return self.getInitLifetime();
 }