@Override
    @JsonIgnore
    public Authentication getAuthentication() {
        return Objects.requireNonNullElseGet(authentication, () -> ticketGrantingTicket != null ? ticketGrantingTicket.getAuthentication() : null);
    }
Domain object representing a Service Ticket. A service ticket grants specific
access to a particular service. It will only work for a particular service.
Generally, it is a one time use Ticket, but the specific expiration policy
can be anything.

@author Scott Battaglia
@since 3.0.0
core/cas-server-core-tickets-api/src/main/java/org/apereo/cas/ticket/ServiceTicketImpl.java