public InstitutionAffiliationEventTicket(
     final InstitutionAffiliationEvent institutionAffiliationEvent) {
   this();
   institutionAffiliationEvent.invalidateExistingTickets();
   setInstitutionAffiliationEvent(institutionAffiliationEvent);
   setTicket(generateTicket());
 }
  private String generateTicket() {
    final StringBuilder builder = new StringBuilder();

    builder.append(getExternalId());
    builder.append(hashCode());

    final InstitutionAffiliationEvent event = getInstitutionAffiliationEvent();
    final Person person = event.getPerson();
    final User user = person.getUser();
    builder.append(user.getUserUId());
    builder.append(user.getExternalId());

    final DateTime instant = getGenerated();
    builder.append(instant.toString("yyyy-MM-dd HH:mm:ss"));

    return DigestUtils.shaHex(builder.toString());
  }