docs: protected TicketGrantingTicket createOrUpdateTicketGrantingTicket(final AuthenticationResult authenticationResult,
                                                                        final Authentication authentication, final String ticketGrantingTicket) {
          try {
              if (shouldIssueTicketGrantingTicket(authentication, ticketGrantingTicket)) {
                  LOGGER.debug("Attempting to issue a new ticket-granting ticket...");
                  return this.centralAuthenticationService.createTicketGrantingTicket(authenticationResult);
              }
              LOGGER.debug("Updating the existing ticket-granting ticket [{}]...", ticketGrantingTicket);
              val tgt = this.centralAuthenticationService.getTicket(ticketGrantingTicket, TicketGrantingTicket.class);
              tgt.getAuthentication().update(authentication);
              this.centralAuthenticationService.updateTicket(tgt);
              return tgt;
          } catch (final PrincipalException e) {
              LOGGER.error(e.getMessage(), e);
              throw e;
          } catch (final Exception e) {
              LOGGER.error(e.getMessage(), e);
              throw new InvalidTicketException(ticketGrantingTicket);
          }
      }