class CasRestProfile extends CommonProfile {

    @Serial
    private static final long serialVersionUID = -1688563185891330018L;
    private static final String TGT_KEY = "$tgt_key";

    /**
     * <p>Constructor for CasRestProfile.</p>
     */
    public CasRestProfile() {
    }

    /**
     * <p>Constructor for CasRestProfile.</p>
     *
     * @param ticketGrantingTicketId a {@link String} object
     * @param userName a {@link String} object
     */
    public CasRestProfile(final String ticketGrantingTicketId, final String userName) {
        super();
        addAttribute(TGT_KEY, ticketGrantingTicketId);
        setId(userName);
    }

    /**
     * <p>getTicketGrantingTicketId.</p>
     *
     * @return a {@link String} object
     */
    public String getTicketGrantingTicketId() {
        return (String) getAttribute(TGT_KEY);
    }

    /** {@inheritDoc} */
    @Override
    public void removeLoginData() {
        removeAttribute(TGT_KEY);
    }

    /** {@inheritDoc} */
    @Override
    public int hashCode() {
        return getTicketGrantingTicketId().hashCode();
    }

    /** {@inheritDoc} */
    @Override
    public boolean equals(final Object obj) {<FILL_FUNCTION_BODY>}
}

        if (obj == null) {
            return false;
        }

        return obj instanceof CasRestProfile casRestProfile
            && (obj == this || getTicketGrantingTicketId().equals(casRestProfile.getTicketGrantingTicketId()));
    
<methods>public void <init>() ,public void <init>(boolean) ,public java.lang.String getDisplayName() ,public java.lang.String getEmail() ,public java.lang.String getFamilyName() ,public java.lang.String getFirstName() ,public org.pac4j.core.profile.Gender getGender() ,public java.util.Locale getLocale() ,public java.lang.String getLocation() ,public java.net.URI getPictureUrl() ,public java.net.URI getProfileUrl() ,public java.lang.String getUsername() ,public boolean isExpired() <variables>private static final long serialVersionUID